2

我需要知道如何检查给定的 jpeg 图像中是否包含 iptc 内容?这应该用 java 来完成。因为我是这个技术的新手。有人可以帮助解决这个问题。

4

2 回答 2

1

你可以使用这个库,

http://reader.imagero.com/

支持的元数据:

IPTC (JPEG, TIFF, EPS, PSD)
EXIF (JPEG, TIFF, PSD)
XMP (JPEG, TIFF, EPS, PSD)
Wang Annotations (read only)
ImageResourceBlock
ImageFileDirectrory
JPEG Markers

从一个图像中获取 IPTC 元数据并将其插入到另一个图像中:

String source = "C:\\images\\source.jpg";
String destination = "C:\\images\\destination.jpg";
IOParameterBlock iopb = new IOParameterBlock(source);
iopb.setDestination(destination);
IPTCEntryCollection collection = IPTC.getIPTC(iopb);
IPTC.insertIPTC(collection, iopb);
  • 编辑(教程):

http://reader.imagero.com/tutorial.html

于 2012-01-25T12:42:46.757 回答
0

使用元数据提取器很简单,这是一个用于读取元数据的开源项目 - 托管在谷歌代码上。

支持的目录

  • Exif
  • IPTC
  • XMP
  • JFIF / JFXX
  • ICC 配置文件
  • Photoshop

例子

从 IPTC 目录中读取标题标签。有一个入门章节。

  File file = new File("input.jpg");

  // read meta data from image
  Metadata metadata = ImageMetadataReader.readMetadata(file);

  // get all existing directories
  metadata.getDirectories();

  // check whether the iptc directory exists
  if (metadata.containsDirectory(IptcDirectory.class))
  {
      // read headline from iptc directory
      IptcDirectory directory = metadata.getDirectory(IptcDirectory.class);
      directory.getString(IptcDirectory.TAG_HEADLINE);
  }

相机支持

该库还读取特定于相机的数据

  • 爱克发
  • 佳能
  • 卡西欧
  • 爱普生
  • 富士胶片
  • 柯达
  • 京瓷
  • 徕卡
  • 美能达
  • 尼康
  • 奥林巴斯
  • 松下
  • 宾得
  • 三洋
  • 西格玛/Foveon
  • 索尼
于 2013-01-03T02:09:55.323 回答