【问题标题】:XMP toolbox for MatlabMatlab 的 XMP 工具箱
【发布时间】:2012-02-21 09:29:26
【问题描述】:

有没有人听说过可以促进在 Matlab 中使用 XMP 元数据的方法?

例如,EXIF 元数据可以通过使用exifread 命令简单地读取 -

output = exifread(filename);

我找到了this 线程,但它似乎已经死了。


目前我正在考虑以下选项:

  1. 使用 C++ XMP SDK 编写 MEX 文件
  2. 使用 JAVA XMP SDK 调用 Java 例程

总而言之,问题是: 您对如何在 Matlab 中读取/写入 XMP 有任何想法吗?

【问题讨论】:

    标签: matlab xmp


    【解决方案1】:

    XMP 只是 XML,因此您可以使用任何 MATLAB XML 工具箱。我个人最喜欢的是xml_io_tools


    如果您想使用 SDK 来避免手动解释 XML 的含义,那么在您的两个选项中,Java 一个听起来更可取。从 MATLAB 调用 Java 是 straightforward,您可以避免构建 MEX 所需要的东西的麻烦。

    【讨论】:

    • 你当然是对的。但这意味着要进行大量自定义解析。例如,XMP 定义了像 Rectangles(和 Units)这样的数据结构。最好有一个更了解底层格式的解析器。
    • 更准确地说,XMP 使用 RDF 的一个子集,并附带一堆用于数据存储的预构建模板,例如 IPTC 和 Dublin Core。
    【解决方案2】:

    我找到了答案。最好的方法是下载ExifTool 和任何Matlab JSON parser。可以从任何文件格式中提取,包括.DNG.XMP.JPEG.TIFF

    第 1 步:使用将信息提取到临时 JSON 文件中

    system(['exiftool -struct -j ' fileName '>'  tempFile]);
    

    第 2 步:在 tempFile 上调用 JSON 解析器
    第 3 步:您拥有 Matlab 结构中的数据。

    【讨论】:

      猜你喜欢
      • 2011-03-26
      • 2014-12-27
      • 2011-02-12
      • 1970-01-01
      • 2015-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多