Frage
Hat jemand jemals von etwas gehört, das die Arbeit mit XMP -Metadaten in Matlab erleichtern könnte?
Zum Beispiel können EXIF-Metadaten einfach mit dem Befehl exifread
- gelesen werden
output = exifread(filename);
Ich habe diesen Thread gefunden, aber er scheint tot zu sein.
Derzeit denke ich über folgende Optionen nach:
- Schreiben einer MEX-Datei mit dem C ++ XMP SDK
- Aufrufen von Java-Routinen mit JAVA XMP SDK
Zusammenfassend lautet die Frage: Haben Sie eine Idee, wie XMP in Matlab gelesen / geschrieben werden kann?
Lösung 2
Ich habe die Antwort gefunden.Am besten laden Sie ExifTool und ein beliebiges Matlab JSON-Parser .Es ist möglich, es aus jedem Dateiformat zu extrahieren, einschließlich .DNG
, .XMP
, .JPEG
, .TIFF
.
Schritt 1: Extrahieren Sie die Informationen mithilfe von in eine temporäre JSON-Datei
system(['exiftool -struct -j ' fileName '>' tempFile]);
Schritt 2: Rufen Sie den JSON-Parser in der tempFile
auf
Schritt 3: Sie haben die Daten in der Matlab-Struktur.
Andere Tipps
XMP ist nur XML, Sie können also jede MATLAB XML-Toolbox verwenden.Mein persönlicher Favorit ist xml_io_tools .
Wenn Sie das SDK verwenden möchten, um nicht manuell interpretieren zu müssen, was XML-Bits bedeuten, ist die Java-Option von Ihren beiden Optionen vorzuziehen.Das Aufrufen von Java aus MATLAB ist unkompliziert , und Sie vermeiden den Aufwand vonDinge bauen, die MEX mit sich bringt.