Я использую библиотеку ImageMagick (macos / linux) через командную строку с PHP (функция shell_exec), чтобы получить весь XMP из картинки jpg.
Мне нужно получить значения тегов из возврата из exec,как люди на картинке и ваша позиция:
Если возможно, мне нужно получить результат в массиве или преобразовать возвращаемый массив тоже, это решит мою проблему!
Человека можно найти втег xml: Iptc4xmpExt: PersonInImage и ваши позиции можно найти в mwg-rs: RegionList
PHP - Shell Exec (imagemagick + xmp)
$cmd = 'convert -ping picture.jpg XMP:-';
$xml = shell_exec($cmd);
Shell Exec Return
Возврат может быть и файлом!
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c140 79.160451, 2017/05/06-01:08:21 ">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="DJI Meta Data"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:drone-dji="http://www.dji.com/drone-dji/1.0/"
xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/"
crs:AlreadyApplied="True">
<dc:subject>
<rdf:Bag>
<rdf:li>Luna</rdf:li>
<rdf:li>Moisés</rdf:li>
</rdf:Bag>
</dc:subject>
<xmpMM:History>
<rdf:Seq>
<rdf:li
stEvt:action="derived"
stEvt:parameters="converted from image/dng to image/jpeg, saved to new location"/>
<rdf:li
stEvt:action="saved"
stEvt:instanceID="xmp.iid:1a78e599-4b34-4a7b-968e-5363dcacdee8"
stEvt:when="2019-07-24T16:10:06-03:00"
stEvt:softwareAgent="Adobe Photoshop Lightroom Classic 8.0 (Macintosh)"
stEvt:changed="/"/>
</rdf:Seq>
</xmpMM:History>
<Iptc4xmpExt:PersonInImage>
<rdf:Bag>
<rdf:li>Luna</rdf:li>
<rdf:li>Moisés</rdf:li>
</rdf:Bag>
</Iptc4xmpExt:PersonInImage>
<mwg-rs:Regions rdf:parseType="Resource">
<mwg-rs:AppliedToDimensions
stDim:w="4048"
stDim:h="3032"
stDim:unit="pixel"/>
<mwg-rs:RegionList>
<rdf:Bag>
<rdf:li>
<rdf:Description
mwg-rs:Rotation="0.00000"
mwg-rs:Name="Moisés"
mwg-rs:Type="Face">
<mwg-rs:Area
stArea:h="0.03066"
stArea:w="0.02071"
stArea:x="0.13715"
stArea:y="0.64631"/>
</rdf:Description>
</rdf:li>
<rdf:li>
<rdf:Description
mwg-rs:Rotation="0.00000"
mwg-rs:Name="Luna"
mwg-rs:Type="Face">
<mwg-rs:Area
stArea:h="0.03560"
stArea:w="0.02220"
stArea:x="0.18293"
stArea:y="0.61604"/>
</rdf:Description>
</rdf:li>
</rdf:Bag>
</mwg-rs:RegionList>
</mwg-rs:Regions>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end="w"?>
Большое спасибо!