标签: xmp

在Python中读取图像XMP数据

我可以像这个例子一样使用PIL 吗?

我只需要读取数据,我正在寻找最简单的方法(我无法安装pyexiv).

编辑:我不想相信这样做的唯一方法是使用一些需要Exempi和Boost的库(python-xmp-toolkit,pyexiv2,...).必须有另一种选择!

python xmp image python-imaging-library

18
推荐指数
3
解决办法
8607
查看次数

如何使用PHP从JPG读取XMP数据?

PHP内置支持读取EXIF和IPTC元数据,但我找不到任何方法来读取XMP?

php xmp jpeg metadata

15
推荐指数
2
解决办法
2万
查看次数

从C#中的JPEG,XMP或EXIF读取数据元数据

我一直在寻找一种体面的方式来读取C#中JPEG文件的元数据(特别是日期),并且有点短暂.据我所知,现有信息显示如下代码;

BitmapMetadata bmd = (BitmapMetadata)frame.Metadata;
string a1 = (string)bmd.GetQuery("/app1/ifd/exif:{uint=36867}");
Run Code Online (Sandbox Code Playgroud)

但是在我的无知中,我不知道GetQuery()将返回什么位元数据,或者传递什么.

我想首先尝试读取XMP,如果XMP不存在则回退到EXIF.有一个简单的方法吗?

谢谢.

c# xmp jpeg exif metadata

15
推荐指数
2
解决办法
5万
查看次数

asp.net - 将图像上传到服务器后缺少图像关键字

我正在将图像上传到服务器,然后处理图像.有趣的是,上传图像后,关键字丢失了.虽然有其他图像属性.

在此输入图像描述

解析标记没有问题,因此请忽略下面的代码段.

using (var xmp = Xmp.FromFile(workingFilePath, XmpFileMode.ReadOnly))
{
    var iptc = new Iptc(xmp);
    var Keywords = iptc.Keywords;
}
Run Code Online (Sandbox Code Playgroud)

注意:我正在使用FineUploader上传图片.

FineUploader配置 -

var manualUploader = new qq.FineUploader({
    element: document.getElementById('fine-uploader-manual-trigger'),
    template: 'qq-template-manual-trigger',
    request: {
        endpoint: '/image/uploadimage',
        params: {
            datestamp: datetimeStamp
        }
    },
    callbacks: {
    },
    autoUpload: false,
    multiple: true
});

qq(document.getElementById("trigger-upload")).attach("click", function () {
    manualUploader.uploadStoredFiles();
});
Run Code Online (Sandbox Code Playgroud)

Fineuploader日志 -

 [Fine Uploader 5.10.1] Received 1 files.
 [Fine Uploader 5.10.1] Attempting to validate image.
 [Fine Uploader 5.10.1] Generating new thumbnail for …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc xmp iptc fine-uploader

13
推荐指数
1
解决办法
328
查看次数

Exiftool在PNG图像中创建OSX可见XMP元数据

在我的图像处理软件周围,我使用exiftool成功地从Cr2,TIFF,JPG文件中删除exif信息.添加的标签,例如"关键字",在OSX(山狮)Finder,预览中都可见,并且被Spotlight很好地编入索引.

对于PNG,我需要回退到XMP,因为这是PNG的元数据容器.但是,预览和SpotLight似乎都没有选择使用exiftool的标签.相反,如果我首先在预览中添加标签并使用exiftool稍后添加新标签,则此IS已编入索引.我在这里看到的差异在XMP原始数据中,exiftool新创建了一个标题,而Preview没有.

例如,请查看PNG上维基百科页面中的以下PNG,无需元数据https://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png:

示例PNG没有元数据

使用exiftool添加关键字,然后转储XMP数据块:

exiftool -xmp-dc:subject=ViaExifSubject ./PNG_transparency_demonstration_1.png
exiftool -xmp -b ./PNG_transparency_demonstration_1.png
Run Code Online (Sandbox Code Playgroud)

提供以下XMP数据:

<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 9.02'>
    <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
  <dc:subject>
   <rdf:Bag>
    <rdf:li>ViaExifSubject</rdf:li>
   </rdf:Bag>
  </dc:subject>
 </rdf:Description>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end='r'?>
Run Code Online (Sandbox Code Playgroud)

但是,在"预览"或"查找器"信息面板中,未找到"ViaExifSubject".

或者,使用OSX预览添加注释(在预览中打开,显示检查器,转到关键字选项卡,单击'+'添加关键字).XMP再次通过exiftool转储:

<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 5.1.2">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:dc="http://purl.org/dc/elements/1.1/">
         <dc:subject>
            <rdf:Bag>
               <rdf:li>viaPreview</rdf:li>
            </rdf:Bag>
         </dc:subject>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>
Run Code Online (Sandbox Code Playgroud)

xpacket报头中不存在预览生成的关键词,并且XMP工具包是不同的.现在可以看到"viaPreview"标签,例如mdls在CLI上使用.

将原始XMP信息推送到干净文件中也不会产生预期结果:

exiftool "-xmp<=viaexif.xmp" PNG_transparency_demonstration_1.png
Run Code Online (Sandbox Code Playgroud)

令人惊讶的是,如果我首先使用预览创建一个标签,那么执行上面的命令,反映新标签我怀疑我正在监督需要"激活"的外部数据解析器,拾取标签并将它们放在不同的位置商店(例如.DS_store).我还没有看到任何添加的xattr.

这些是我的问题:

  • exiftool是XMP/PNG组合的正确工具,我错过了一个特定的功能
  • OSX是否违反了XMP标准?编辑:显然,默认情况下OSX不会遵守XMP
  • 我应该用另一种工具来研究剥离容器吗?

我在我的磁盘上挖出了我的xmp_sdk并尝试了提供的示例:

ModifyXMP可以将"纯"XMP信息写入到OSG Finder中显示的PNG中 - …

macos xmp exif spotlight exiftool

9
推荐指数
1
解决办法
3037
查看次数

使用iTextSharp读取/修改PDF元数据

我正在尝试使用iTextSharp来读取/修改PDF元数据.我想出了如何使用pdfreader和pdfstamper来做到这一点.我想知道我是否还可以读取/修改其他元数据信息,如版权信息和XMP photoshop命名空间中的其他几个.

我非常感谢任何解决方案的指针.

谢谢,Murugesh.

c# pdf xmp metadata itextsharp

8
推荐指数
2
解决办法
4万
查看次数

使用哪种,XMP或RDF?

RDF和XMP有什么区别?

据我所知,XMP源自RDF ......那么RDF不提供什么呢?

我的具体情况是:我有一些图像需要标记实验的执行方式,以及对图像进行了哪种数据分析.我的一位同事正在推动XMP,但他认为图像是照片 - 它们不是真的,它们只是数据的一部分.

从我所看到的(主要通过在notepad ++中打开图像),XMP数据看起来非常类似于RDF - 甚至在标签名称中使用RDF(例如<rdf:Seq>).

我希望这些数据可供其他使用类似仪器进行类似实验的人使用,因此创建一个迷你标准(架构?)似乎是要走的路.

抱歉缺乏有趣的理解 - 我是博士,而不是程序员!如果它有所不同,选择的语言将是C#.

编辑以获取更多信息: 首先,感谢优秀的回复 - 将XMP视为RDF的词汇表使事情变得更加清晰.

我将要存储的数据类型在任何预定义集合中都不可用.它将详细介绍实验设置,位置和结果.我认为使用RDF是可行的方法.

事物的一个例子(存储在当前的XML中)将是:

<Experiment name="test2" loc="lab" timestamp="65420233400">
  <Instrument name="a1" rev="1.0"/>
  <Calibration>
    <date>13-02-10</date>
    <type>complete</type>
  </Calibration>
</Experiment>
Run Code Online (Sandbox Code Playgroud)

在我的脑海中,我想我将把它存储在RDF中,如下所示:

  <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:zotty="http://www.zotty.com/rdf/">

    <zotty:experiment>
      <rdf:Bag> 
        <zotty:name>test2</zotty:name>
        <zotty:loc>lab</zotty:loc>
        <zotty:timestamp>65420233400</zotty:timestamp>
        <zotty:instrument>
          <rdf:Bag>
            <zotty:name>a1</zotty:name>
            <zotty:rev>1.0</zotty:rev>      
            <zotty:calibration>
              <rdf:bag>
                <zotty:date>13-02-10</zotty:date>
                <zotty:type>complete</zotty:type>
              </rdf:bag>
            </zotty:calibration>
          </rdf:Bag>
        </zotty:instrument>  
      <rdf:Bag>
    </zotty:experiment>
  </rdf:RDF>
Run Code Online (Sandbox Code Playgroud)

感谢您的建议 :)

c# xmp rdf semantics

8
推荐指数
1
解决办法
974
查看次数

asmack - 接收自定义XML消息||

我花了一些时间在Android设备中添加smack.providers,我的应用程序很好地接收了它.我添加了默认的iqProviders和extensionProviders,但我还添加了我的自定义extensionProvider,它是以下内容:

<extensionProvider>
  <elementName>players</elementName>
  <namespace>boxer:players</namespace>
  <className>company.games.boxer.PlayerListProvider</className>
</extensionProvider>
Run Code Online (Sandbox Code Playgroud)

我还要介绍一下PlayerListProvider类,它目前只是为了看它是否会被调用(它不会被调用) - 当我知道它被调用时我将完全实现它,因此至少是功能的一部分作品:

import java.util.List;
import java.util.Map;

import org.jivesoftware.smack.packet.PacketExtension;
import org.jivesoftware.smackx.provider.EmbeddedExtensionProvider;

import android.util.Log;

@SuppressWarnings("deprecation")
class PlayerListProvider extends EmbeddedExtensionProvider {
  protected PacketExtension createReturnExtension(String currentElement, String currentNamespace, Map<String,String> attributeMap, List<? extends PacketExtension> content) {
    Log.w("***** AAAAAAAAAAAAAAAAAAAA *******", "0");
    return new XMLPlayerList();
  }

}



class XMLPlayerList implements PacketExtension {

  public String getElementName() {
    return "aaaaa";
  }

  public String getNamespace() {
    return "aaaaa";
  }

  public String toXML() {
    return "aaaaa";
  }

}
Run Code Online (Sandbox Code Playgroud)

当我运行客户端Android应用程序时,我收到以下消息:

<message to="eee@localhost" type="chat" id="9" from="admin@localhost"> …
Run Code Online (Sandbox Code Playgroud)

java debugging xmp android

7
推荐指数
1
解决办法
2269
查看次数

面部标记信息和照片元数据

是否有标准方法从/向照片元数据读取/写入面部标签?

我可以用它从流行的照片组织者导入脸部标记信息吗?

xmp metadata photo

7
推荐指数
1
解决办法
4111
查看次数

使用itext添加xmp扩展架构以符合PDF/A标准

我正在寻找一个工作的iText版本5.5.4示例,以添加myProp内容类似于<custom>My metadata</custom>PDF文档的自定义元数据值.在这种情况下,我们不能使用像DC这样的现有模式.

提前致谢.

xmp itext pdfa

7
推荐指数
0
解决办法
352
查看次数