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

C++Builder Discussion :

Extraction des donn�es Exif


Sujet :

C++Builder

  1. #1
    Membre confirm�
    Inscrit en
    Juillet 2005
    Messages
    60
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 60
    Par d�faut Extraction des donn�es Exif
    Bonjour

    Je viens d'�crire un petit programme utilisant GDI+ sous BCB6 pour lister les diff�rentes valeurs pr�sentes dans les donn�es Exif de fichiers Jpg.
    Cela fonctionnait correctement, et en particulier les coordonn�es Gps �taient bien extraites ("GpsLatitudeRef", "GpsLatitude" etc...), jusqu'a ce que je tombe sur certains fichiers Jpg dont les donnn�es ne sont pas toutes extraites : Par exemple "ExifExposureTime" est bien extrait, mais pas "GpsLatitudeRef".
    J'ai d'abord suspect� que ces fichiers �taient corrompus ou non respectueux des sp�cifications Exif, mais ils sont correctement d�cod�s dans d'autres logiciels, par exemple Irfan View.

    Exemple de code utilis� :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    Image* image = new Image(WideString(filename));
    UINT count = image->GetPropertyCount();
    ShowMessage(count);
    R�sultat de ce code :
    G�n�ralement, le nombre de propri�t�s obtenu est correct, mais pour ces fichiers Jpg rebelles, il est nettement sous-�valu�s.

    Quelqu'un a-t-il d�ja rencontr� ce probl�me ?

  2. #2
    Membre �m�rite
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 52
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Par d�faut
    Hello,

    Tu peux �ventuellement aller voir ceci: http://delphihaven.wordpress.com/ccr-exif/
    En plus de la librairie, il a des d�mos d�j� compil�es, �a te permettra de tester rapidement si sa librairie voit bien tous les tags.

  3. #3
    Membre confirm�
    Inscrit en
    Juillet 2005
    Messages
    60
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 60
    Par d�faut
    Merci pour ce lien.

    J'ai t�l�charg� les executables, et ces programmes confirment les tags Exif indiqu�s par Irfan View.
    D'apr�s ce que j'ai compris dans les sources Delphi, l'API Gdi-Plus n'y est pas utilis�e, et les tags Exif sont d�cod�s "100% pure Delphi code" pour reprendre l'expression de l'auteur.

    Voici une comparaison de ce que trouve ce programme (colonne de gauche) avec ce que je peux extraire avec Gdi-Plus (colonne de droite), en utilisant un de ces fichiers Jpg "rebelles"



    Se pourrait-il que Microsoft n'ait pas mis � jour son API ?

  4. #4
    Membre chevronn�

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Par d�faut
    Salut Alain,

    Je suis aussi en train de chercher comment lire les Exif mais malheureusement pas aussi avanc� que toi.

    J'ai trouv� quelques liens mais je n'ai pas encore r�ussi � compiler le code:

    Premi�rement OpenExif qui semble tr�s complet mais compliqu� � int�grer:
    OpenExif: http://openexif.sourceforge.net/

    JHead qui est un petit programme en C++ qui m'a l'air tr�s prometteur pour int�grer dans mon code mais l� aussi je n'ai pas encore pu compiler directement le code. Je comptais partir dans cette direction:
    JHead: http://www.sentex.net/~mwandel/jhead/

    Finalement, une solution qui para�t tr�s compl�te mais il faut compiler toute la partie JPG:
    PictureMtaData: http://picturemetadata.sourceforge.net/

    Voil�, j'esp�re que cela pourra t'aider (je dois avouer que je suis aussi int�ress� par tes progr�s si tu trouves qqch d'int�ressant).

    Patrick

  5. #5
    Membre confirm�
    Inscrit en
    Juillet 2005
    Messages
    60
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 60
    Par d�faut
    Merci pour ces trois liens interessants.

    OpenExif semble effectivement plus complet, mais fait un peu "usine � gaz", et comme il n'y a aucun exemple d'utilisation fourni, on ne sait pas trop ce qu'il extrait comme informations.

    JHead est l�ger et, semble-t-il, facile � int�grer dans Cpp Builder. Par contre, son extraction de donn�es Exif est assez incompl�te dans l'�tat actuel (voir ci-dessous)

    "Picture Metadata Toolkit" semble plus complet, mais il sous-traite cette partie d'extraction des donn�es Exif � "OpenExif", donc on ne peut pas en esp�rer plus que le premier de cette liste.


    J'ai soumis mon fichier "rebelle" � JHead, et voila ce que �a donne :



    On peut remarquer que :
    - Au lieu de la r�solution (96*96 pixels par pouce) il indique la taille de l'image (640*480 pixels)
    - Il manque des donn�es importantes � mes yeux, par exemple les tags Orientation, "GPS image direction" et "GPS map datum"

    C'est peut-etre une bonne solution de repli s'il n'y a pas moyen de faire fonctionner correctement GDI+ pour ce qui est de l'extraction des donn�es Exif.
    �a m'interesserait quand m�me de trouver r�ponse � ma question : Est-ce moi qui ne sait pas utiliser GDI+, ou presente-t-il un dysfonctionnement avec certaines images Jpg ?

  6. #6
    Membre exp�riment�

    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    288
    D�tails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 288
    Par d�faut
    Il y a un petit exemple d'application de JHead sur Code Project:
    http://www.codeproject.com/KB/graphics/cexif.aspx

    C'est d�ja assez ancien (2003) mais �a avance bien le travail.
    Je pense que les quelques insuffisances de JHead que souligne alain (bien vu) sont compens�es par la l�g�ret� de la solution qui permet de corriger plus facilement les bugs et de faire �voluer le lecteur Exif en fonction des besoins de mon projet.

    C'est un choix personnel, car la solution CCR Exif me parait par ailleurs excellente.

  7. #7
    Membre confirm�
    Inscrit en
    Juillet 2005
    Messages
    60
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 60
    Par d�faut
    Cexif est effectivement un bon exemple d'utilisation de Jhead sous Windows.
    Par contre, il est un peu en retrait concernant les donn�es fournies : Il n'extrait pas les tags Gps, alors que Jhead les fournit, mais �a doit pouvoir etre compl�t� facilement.

    En cherchant un peu plus, je suis tomb� sur un autre programme, PhotoProperties, qui comme moi, utilise �galement Gdi+ pour extraire les donn�es Exif.
    Il peut etre obtenu ici : http://www.codeproject.com/KB/graphi...roperties.aspx

    Voici ce qu'il donne avec mon fichier "rebelle" :



    On voit donc que les donn�es extraites sont exactement les m�mes que celles fournies par mon propre programme (c'est � dire absence des tags Gps, entre autres), ce qui semble confirmer que Gdi+ ne voit pas toutes les donn�es Exif dans certains fichiers Jpg. Il ne reste plus qu'� attendre les prochaines mises � jour de .NET

    A titre de comparaison, voici le r�sultat obtenu avec un fichier Jpg "coop�ratif", o� les tags Gps sont biens indiqu�s :


Discussions similaires

  1. [RSS] extraction des donn�es d'un flux
    Par toddy_101 dans le forum APIs
    R�ponses: 4
    Dernier message: 23/02/2007, 17h28
  2. vc++(6)+extraction des donn�es dans une image(.tif)
    Par spootnic22 dans le forum Visual C++
    R�ponses: 1
    Dernier message: 22/11/2006, 16h14
  3. [MySQL] Probl�me de Charset � l'extraction des donn�es
    Par naoufal01 dans le forum PHP & Base de donn�es
    R�ponses: 3
    Dernier message: 06/11/2006, 13h14
  4. extraction des donn�es dans une table Access
    Par moabomotal dans le forum Access
    R�ponses: 2
    Dernier message: 26/05/2006, 11h17

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