Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin 如何将WIC XMP人员标记写入jpg?_Kotlin_Exiftool_Xmp_Wic - Fatal编程技术网

Kotlin 如何将WIC XMP人员标记写入jpg?

Kotlin 如何将WIC XMP人员标记写入jpg?,kotlin,exiftool,xmp,wic,Kotlin,Exiftool,Xmp,Wic,我有一些图像,人们用xml格式标记信息。我希望编辑此信息,并将其添加到尚未包含此信息的图片中。通过查看xml,我假设它是基于 我还没有完全理解它的格式,但到目前为止我已经理解了它,我可以修改或格式化xml,我只是不知道在图像中的什么地方写它。我可能只是犯了一些愚蠢的错误,因为我对这些图像元数据没有经验。因此,如果你认为我只是走错了路,而且可以做得简单得多,请告诉我 在那些已经包含此xml的图像中,我可以使用搜索和替换来更新xml。然而,我有很多图片还没有包含这些信息,我不知道我应该把它写在图片里

我有一些图像,人们用xml格式标记信息。我希望编辑此信息,并将其添加到尚未包含此信息的图片中。通过查看xml,我假设它是基于

我还没有完全理解它的格式,但到目前为止我已经理解了它,我可以修改或格式化xml,我只是不知道在图像中的什么地方写它。我可能只是犯了一些愚蠢的错误,因为我对这些图像元数据没有经验。因此,如果你认为我只是走错了路,而且可以做得简单得多,请告诉我

在那些已经包含此xml的图像中,我可以使用搜索和替换来更新xml。然而,我有很多图片还没有包含这些信息,我不知道我应该把它写在图片里面的什么地方

已包含此信息的图像可以使用exiftool读取,如下所示:

exiftool -xmp -b existingTags.JPG
结果是以下xml:

<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP 
Core 4.4.0-Exiv2"> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" 
xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" 
xmlns:MP="http://ns.microsoft.com/photo/1.2/" xmlns:MPRI="http://ns.microsoft.com/photo/1.2/t/RegionInfo#" 
xmlns:MPReg="http://ns.microsoft.com/photo/1.2/t/Region#" xmp:Rating="0"> <dc:subject> <rdf:Bag> <rdf:li>Valeriya
</rdf:li> </rdf:Bag> </dc:subject> <MP:RegionInfo rdf:parseType="Resource"> <MPRI:Regions> <rdf:Bag> <rdf:li 
MPReg:Rectangle="0.48, 0.418, 0.059333, 0.089" MPReg:PersonDisplayName="findus_l"/> </rdf:Bag> </MPRI:Regions> 
</MP:RegionInfo> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="w"?>
瓦莱里亚 但是,我无法使用exiftool编写信息。当我运行此命令时,它只是再次读取信息,而不是将文件内容写入图像:

exiftool -xmp<=alteredXMP.txt existingTags.JPG

exiftool-xmp您试图写入的数据是。XMP结构化数据是一种数据类型,但您应该能够通过将区域名称写入
RegionPersonDisplayName
标记,并将区域维度写入
RegionRectangle
来使用exiftool添加数据。使用示例中的数据,命令将为:
exiftool-RegionPersonDisplayName=findus_l-RegionRectangle=“0.48,0.418,0.059333,0.089”/path/to/files

如果必须写入多个区域,则只需添加它们,但必须保持名称和匹配维度的顺序相同。例如
exiftool-RegionPersonDisplayName=findus_l-RegionRectangle=“0.48,0.418,0.059333,0.089”-RegionPersonDisplayName=“John Smith”-RegionRectangle=“0.37645533,0.04499886,0.35111009,0.26633097”/path/to/files


这些命令将覆盖任何现有区域数据。如果在不覆盖的情况下添加新名称,则应将等号更改为PlusEqual
+=

您需要在