Casella degli strumenti XMP per Matlab
Domanda
Qualcuno ha mai sentito parlare di qualcosa che potrebbe facilitare il lavoro con i metadati XMP in Matlab?
Ad esempio, i metadati EXIF possono essere letti semplicemente utilizzando il comando exifread
-
output = exifread(filename);
Ho trovato questo thread, ma sembra essere morto.
Attualmente sto pensando alle seguenti opzioni:
- Scrittura di file MEX utilizzando C ++ XMP SDK
- Richiamo di routine Java utilizzando JAVA XMP SDK
Per riassumere, la domanda è: Hai qualche idea su come leggere / scrivere XMP in Matlab?
Soluzione 2
Ho trovato la risposta.Il modo migliore è scaricare ExifTool e qualsiasi parser JSON Matlab .È possibile estrarlo da qualsiasi formato di file, inclusi .DNG
, .XMP
, .JPEG
, .TIFF
.
Passaggio 1: estrai le informazioni nel file JSON temporaneo utilizzando
system(['exiftool -struct -j ' fileName '>' tempFile]);
Passaggio 2: chiama il parser JSON su tempFile
Passaggio 3: hai i dati nella struttura Matlab.
Altri suggerimenti
XMP è solo XML, quindi puoi utilizzare qualsiasi toolbox XML MATLAB.Il mio preferito è xml_io_tools .
Se vuoi usare l'SDK per evitare di dover interpretare manualmente cosa significano i bit dell'XML, allora delle tue due opzioni quella di Java sembra preferibile.Chiamare Java da MATLAB è semplice ed eviti il fastidio dicostruire cose che MEX comporta.