将 XMP 标签从 Microsoft Photo Gallery 转换为 Apple Photos

将 XMP 标签从 Microsoft Photo Gallery 转换为 Apple Photos

近年来,我在 Microsoft Photo Gallery 中描述并标记了数千张图片。由于他们不再进行冲洗,而且似乎有更好的替代品,所以我想将这些图片移到其他地方,但保留我辛勤工作的效果。

看来 XMP 元数据并没有严格标准化,例如微软、谷歌和苹果在存储标记人脸(我指的是姓名和分配给他们的区域)方面采用的方法不同。据我所知,Google Picasa 能够正确读取照片库标记图片中的人物标签,但反过来不行。另一方面,Apple Photos 既不能识别照片库中的人物标签,也不能识别 Picasa 中的人物标签。

我对 XMP 格式不太了解,但当通过 Exiv2 导出时,它是一个 XML 文档。显然,从图片文件导出 XMP 元数据似乎很容易,所以我认为创建一个包含源文件中的数据的 XML 文档(格式适当),然后将其写回到同一张图片中也同样容易。但问题是,我没有找到任何可以自动执行此操作的软件。

我想将我在 Microsoft Photo Gallery 中标记和描述的图片迁移到 Apple Photos。您知道有什么工具可以帮助我做到这一点,而不会丢失我写入这些图片的任何数据(位置、描述、面孔、描述性标签)吗?

答案1

我尝试进一步调查该主题,似乎当前版本的 Apple Photos (2.0 (3130.0.240)) 甚至不导入自己的人物标签。因此,我想要进行的 XMP 元数据转换现在似乎毫无意义。

当我从 Photos 中导出图片,然后使用 Exiv2 提取其元数据时,所有面部标签(和其他数据)都在那里,因此 Photos 确实导出了所需的一切。但是当我重新导入之前导出的图片时,文件中存储的人物会被忽略,Photos 会重新开始对该图片进行面部检测。我很失望,我没想到会这样。

只是为了好奇——我计划使用以下命令将图片文件中的所有元数据提取到 .xmp 文件中:

exiv2-eaX MyPhoto.jpg

MyPhoto.xmp 文件中出现的元数据可以通过以下方式修改并写回原始文件:

exiv2-iaX 我的照片.jpg

我的想法是从 Microsoft Photo Gallery 中标记的文件中提取数据,然后编写一个应用程序,将 Microsoft 特定的 xmp 文件转换为 Apple 特定的格式。最后将新格式的 xmp 文件写回源。但只要 Photos 忽略人物标签,这就毫无意义了。

我问的关于哪些工具可以自动完成所有这些操作的问题现在看来很愚蠢,抱歉。或者,如果我错了,请告诉我。谢谢!

相关内容