La lecture des données EXIF JPG
J'ai besoin d'analyser des milliers de fichiers jpeg (par récupérer les données EXIF). Il est de plus de 50 GO de données.Je ne peut pas lire les fichiers parce que ça va prendre trop de temps.
Est-il une méthode en C# pour lire uniquement les données EXIF de ces fichiers sans avoir besoin de chargement et de décompression de l'ensemble des fichiers jpeg?
EDIT: Pourquoi j'ai besoin de la méthode rapide?
J'ai essayé la solution de cette question: Comment obtenir les données EXIF d'un fichier à l'aide de C#
Et pour 1000 images avec une taille totale ~ 1 go, il a fallu 3 minutes pour analyser. Donc, pour les plus grands (50G) de la bibliothèque de photos, il peut prendre 2 heures. Et quand vous en avez besoin presque immedietelly des informations telles que: "qu'est-Ce que ouve zoom utilisé par le client", c'est trop lent.
OriginalL'auteur Marek Kwiendacz | 2012-05-08
Vous devez vous connecter pour publier un commentaire.
Vous trouverez quelques exemples de code dans ExifLib - Rapide des Données Exif Extracteur pour .NET 2.0+ (et un projet trop) qui montre comment lire les données minimales nécessaires pour obtenir les informations EXIF.
OriginalL'auteur yamen
J'ai récemment porté à mon Java métadonnées-extracteur de la bibliothèque .NET. Il est actif depuis 2002 et a eu des essais par l'utilisation généralisée. Dans mes tests, il produit en série par 2 GO d'images, d'extraire toutes les métadonnées dans les dans les autour de 4 secondes sur ma machine. Vous pourriez optimiser plus loin en disant qu'à lire certains types de métadonnées, telles que les Exif. Il prend en charge de nombreux image/formats vidéo, et de nombreux types de métadonnées.
Disponible sur GitHub et NuGet.
OriginalL'auteur Drew Noakes
GdPicture.NET Imaging SDK à partir de la version 10 apporte une nouvelle image de l'analyse mécanisme qui permet l'accès direct à l'image de métadonnées (EXIF, GPS, XMP, IPTC...) sans décodage pixels. Il prend en charge plus de 90 formats d'image, y compris JPEG, TIFF, RAW et WebP.
Voici un lien la la GdPicture.NET de la base de connaissances qui montre comment extraire les métadonnées à l'aide de C# et VB.NET (beaucoup d'autres langues sont également pris en charge): tutoriel
Dans le cas où quelqu'un a besoin d'informations supplémentaires, je serai heureux de vous aider.
Avertissement: je suis le produit d'un architecte de l'GdPicture.NET.
OriginalL'auteur Loïc Carrère
Vous n'avez pas besoin de décompresser quoi que ce soit, les informations Exif est tenue dans l'en-tête de l'image, de sorte que tous vous avez besoin à faire est d'ouvrir le fichier, lire les exif d'en-tête et de décoder tout ce que vous avez besoin.
C'est, si vous lisez les données exif manuellement (ce qui n'est pas dur).
Si vous n'avez besoin que la taille, qui est juste à l'avant
Edit: remarque les données exif n'est pas réellement avoir à être à l'avant, mais c'est presque toujours le cas, de sorte qu'il est sûr de supposer qu'en général, il sera beaucoup plus rapide que si elle ne l'était pas.
Aussi, avez-vous vérifié que l'utilisation de l'API standard est "trop lent"? Je n'aurais pas pensé qu'il allait prendre autant de temps pour 50G (ou si une autre façon serait nécessairement plus rapide).
Le format exif est très bien documenté, à l'exception de certaines balises propriétaires. Évidemment, ce commentaire est à partir de 7 ans, donc je n'ai rien ici, mais si vous commencez à l'entrée de wikipedia pour les exifs, il donne des liens vers les exif site où la documentation. c'est une forme de balises, le même que le format de la structure. Quelque part j'ai générale de code pour extraire les tags si vous en avez besoin, mais ne peut pas l'ajouter dans un commentaire
OriginalL'auteur Woody