Question
Quelqu'un a-t-il déjà entendu parler de quelque chose qui pourrait faciliter le travail avec XMP des métadonnées dans Matlab ?
Par exemple, les métadonnées EXIF peuvent être lues simplement en utilisant le exifread
commande -
output = exifread(filename);
J'ai trouvé ce fil, mais il semble être mort.
Actuellement, je réfléchis aux options suivantes :
- Écriture d'un fichier MEX à l'aide du SDK C++ XMP
- Appel de routines Java à l'aide du SDK JAVA XMP
Pour résumer, la question est :Avez-vous une idée sur la façon dont XMP peut être lu/écrit dans Matlab ?
La solution 2
J'ai trouvé la réponse.Le meilleur moyen est de télécharger ExifTool et n'importe quel Analyseur Matlab JSON.Il est possible de l'extraire de n'importe lequel format de fichier, y compris .DNG
, .XMP
, .JPEG
, .TIFF
.
Étape 1:Extrayez les informations dans le fichier JSON temporaire en utilisant
system(['exiftool -struct -j ' fileName '>' tempFile]);
Étape 2:Appelez l'analyseur JSON sur le tempFile
Étape 3:Vous avez les données dans la structure Matlab.
Autres conseils
XMP n'est que du XML, vous pouvez donc utiliser n'importe quelle boîte à outils XML MATLAB.Mon préféré est xml_io_tools.
Si vous souhaitez utiliser le SDK pour éviter d'avoir à interpréter manuellement la signification des bits du XML, alors de vos deux options, celle de Java semble préférable.Appeler Java depuis MATLAB est direct, et vous évitez les tracas liés à la construction des éléments qu'implique MEX.