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:

  1. Gravando arquivo MEX usando C ++ XMP SDK
  2. 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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top