Caixa de ferramentas XMP para Matlab
Pergunta
Alguém já ouviu falar de algo que possa facilitar o trabalho com metadados XMP no Matlab?
Por exemplo, os metadados EXIF podem ser lidos simplesmente usando o comando exifread
-
output = exifread(filename);
Eu encontrei este tópico, mas parece estar morto.
Atualmente estou pensando nas seguintes opções:
- Gravando arquivo MEX usando C ++ XMP SDK
- Chamar rotinas Java usando JAVA XMP SDK
Para resumir, a questão é: Você tem alguma ideia de como o XMP pode ser lido / escrito no Matlab?
Solução 2
Eu encontrei a resposta.A melhor maneira é fazer o download do ExifTool e de qualquer analisador JSON Matlab .É possível extraí-lo de qualquer formato de arquivo, incluindo .DNG
, .XMP
, .JPEG
, .TIFF
.
Etapa 1: extraia as informações em um arquivo JSON temporário usando
system(['exiftool -struct -j ' fileName '>' tempFile]);
Etapa 2: Chame o analisador JSON no tempFile
Etapa 3: você tem os dados na estrutura Matlab.
Outras dicas
XMP é apenas XML, então você pode usar qualquer caixa de ferramentas XML do MATLAB.Meu favorito pessoal é xml_io_tools .
Se você quiser usar o SDK para evitar ter que interpretar manualmente o que significam bits do XML, então, das suas duas opções, a do Java parece preferível.Chamar Java do MATLAB é simples e você evita o incômodo deconstruir coisas que o MEX envolve.