IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Coder/decoder images JPEG


Sujet :

Windows

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2007
    Messages : 38
    Points : 11
    Points
    11
    Par défaut Coder/decoder images JPEG
    Bonjour à tous,

    J'ai à nouveau besoin de vos conseils, idées car je n'arrive pas à trouver d'infos saisfaisantes sur le net.

    Je cherche à diminuer la taille d'un projet en utilisant des images JPEG.

    Aussi, existe-t-il des fonctions de l'API Win32 qui permettent de :

    1 - charger des images JPEG
    2 - de les convertir en BITMAP
    3 - de les réencoder en JPEG apres traitement.

    Je vous remercie d'avance, peut-etre existe-t-il un site que vous pouvez me proposer de regarder.

    Ywan.

  2. #2
    Membre actif Avatar de ronan99999
    Inscrit en
    Juillet 2003
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 279
    Points : 299
    Points
    299
    Par défaut
    En natif regarde du coté de OLE avec IPicture.
    Si tu ne te plantes pas, comment veux tu pousser?

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2007
    Messages : 38
    Points : 11
    Points
    11
    Par défaut
    Okay, merci pour ta reponse.

    Mais tu ne connais pas un site ou je pourrais avoir des infos sur les algos de compression afin de créer mes propres objets et ne pas utiliser COM.

    Ywan.

  4. #4
    Membre actif Avatar de ronan99999
    Inscrit en
    Juillet 2003
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 279
    Points : 299
    Points
    299
    Par défaut
    Regarde du coté de FFMPEG,
    lorsque tu auras regardais le code je pense que tu reviendras à ole .
    Si tu ne te plantes pas, comment veux tu pousser?

  5. #5
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Citation Envoyé par ywan42
    Bonjour à tous,

    J'ai à nouveau besoin de vos conseils, idées car je n'arrive pas à trouver d'infos saisfaisantes sur le net.

    Je cherche à diminuer la taille d'un projet en utilisant des images JPEG.

    Aussi, existe-t-il des fonctions de l'API Win32 qui permettent de :

    1 - charger des images JPEG
    2 - de les convertir en BITMAP
    3 - de les réencoder en JPEG apres traitement.

    Je vous remercie d'avance, peut-etre existe-t-il un site que vous pouvez me proposer de regarder.

    Ywan.
    J'ai deja repondu plusieurs fois a cette question sur le forum VC++

    C'est du code MFC mais facilement adaptable en win32
    http://www.smalleranimals.com/jpegfile.htm

    Sinon comme mon predecesseur l'a dit utiliser IPicture mais effectivement tu ne peux rien faire avec

  6. #6
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2007
    Messages : 38
    Points : 11
    Points
    11
    Par défaut
    Bon, je me suis renseigné sur le JPEG mais je voudrais créer mon propre objet de codegae/décodage JPEG : transformée en cosinus et arbre de Huffmann.

    Aussi, seriez vous au courant d'un tutoriel pour travailler l'algo JPEG
    Je voudrais tout redéveloppé pour avoir une librairie maison sans utiliser COM, MFC ou autre .lib que l'on ne maitrise pas ...

    Merci de votre aide et de vos tuyaux.

    Ywan

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 19
    Points : 17
    Points
    17
    Par défaut
    Salut,

    Oui tu peux encoder du JPEG avec Huffman en C. Par contre c'est long, et faut prendre en compte les résolutions et les formats, les tables de quantizations, les frame markers. Bcp de boulot, je te conseille de bien diviser les .c/.h et de faire des structures de formats dès le début !

    PS : ça existe en Open-Source, même si tu veux le faire par toi-même, rien ne t'empêche de t'en inspirer (à moins que ce soit pour le challenge )

  8. #8
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Citation Envoyé par ywan42
    Aussi, seriez vous au courant d'un tutoriel pour travailler l'algo JPEG
    Je voudrais tout redéveloppé pour avoir une librairie maison sans utiliser COM, MFC ou autre .lib que l'on ne maitrise pas ...
    Ywan
    est-ce que tu as pris la peine de regarder le lien que je t'ai donne ? Pas si sur.
    Sur le site http://www.ijg.org/ il y a les sources de jpeglib en C pour decompresser une jpeg ( ou bien aussi sur le site de smaller animals )

  9. #9
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2007
    Messages : 38
    Points : 11
    Points
    11
    Par défaut
    Okay,

    Je viens de regarder le site que tu m'avais conseillé :

    http://www.smalleranimals.com/jpegfile.htm

    J'ai recuperé et imprimé le code source, il ne reste plus qu'a travailler avec.

    Merci, Ywan.

  10. #10
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2007
    Messages : 38
    Points : 11
    Points
    11
    Par défaut
    Hello, c'est encore moi ...

    Un autre conseil a cette heure avancé du vendredi apres-midi ...

    Je possede la structure d'un fichier bmp ou pourrais-je trouver celle d'un fichier jpeg decrite octet par octet ...

    Merci d'avance

    Ywan

  11. #11
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2007
    Messages : 38
    Points : 11
    Points
    11
    Par défaut
    Bonjour a tous,

    J'ai recuperer la librairie jpeglib de Smaller Animals comme tu m'as consille ...

    J'ai essaye d'inclure le .lib dans Borland C++ 5.5 mais cela n'a pas marche probleme de code car cette derniere etait compile avec Visual C++ 6.0.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    BOOL WINAPI DllMain  ( HINSTANCE hinstDLL,	// handle to DLL module
                           DWORD fdwReason,		// reason for calling function
                           LPVOID lpvReserved 	// reserved
                         )
    {
    
    	switch(fdwReason)
       {
       case DLL_PROCESS_ATTACH:
    	case DLL_THREAD_ATTACH:
       case DLL_THREAD_DETACH:
       case DLL_PROCESS_DETACH:
       break;
       }
       
       return TRUE;
    }
    J'essaye donc de la recompiler sous Borland en en faisant une DLL mais j'ai ce code d'erreur :
    Undefined symbol DLL_PROCESS_ATTACH
    Undefined symbol DLL_THREAD_ATTACH
    Undefined symbol DLL_PROCESS_DETACH

    Pourriez vous m'aider et me dire ce que je dois faire pour enfin pouvoir utiliser cette librairie JPEG !!!

    Merci d'avance, Ywan

  12. #12
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Mars 2007
    Messages : 38
    Points : 11
    Points
    11
    Par défaut
    Il ne reste plus qu'a tester la DLL jpeg que Mat M. m'a conseille ... avec l'appli MFC cela semble tres performant et m'evitera de coder la transformee en cosinus, la quantification, le codage de huffmann, etc ...

    Merci a tous pour vos conseils,
    Developpez.com c'est un super site.

    Ywan (http://ywan.lesoeur.free.fr)

Discussions similaires

  1. [Image] Decoder une image JPEG ?
    Par VerrNum dans le forum 2D
    Réponses: 2
    Dernier message: 09/06/2008, 13h57
  2. [DBase][BDE]Insérer des images JPeg dans un table.u
    Par migauvin dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/08/2004, 12h03
  3. Compression d'une série d'images jpeg
    Par Tchello dans le forum Langage
    Réponses: 3
    Dernier message: 31/08/2003, 19h59
  4. Copier une image (jpeg) dans le presse papier
    Par benj63 dans le forum C++Builder
    Réponses: 2
    Dernier message: 29/07/2002, 14h51
  5. comment réduire une image jpeg (taille x*y)
    Par don-diego dans le forum C
    Réponses: 4
    Dernier message: 14/07/2002, 20h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo