我正在使用exiv2来处理jpeg文件的元数据。我需要将与图像处理相关的更多信息写入元数据中。是否可以创建除标准标签之外的自定义Exif标签?
来自 http://www.exif.org/Exif2-2.PDF:
D. 与用户信息相关的标签
MakerNote
供Exif写入器制造商记录任何所需信息的标签。内容取决于制造商,但此标签不应用于除其预期用途之外的任何其他用途。
标签 = 37500 (927C.H)
类型 = UNDEFINED
计数 = 任何
默认值 = 无UserComment
Exif用户为图像编写关键字或评论的标签,除了ImageDescription中的内容之外,并且没有ImageDescription标签的字符代码限制。
标签 = 37510 (9286.H)
类型 = UNDEFINED
计数 = 任何
默认值 = 无
exiv2支持MakerNote
标签: http://dev.exiv2.org/projects/exiv2/wiki/How_to_add_support_for_a_new_makernote
如果您不想这样做,您可以使用UserComment
: http://www.exiv2.org/doc/exifcomment_8cpp-example.html
使用带有自定义命名空间的Adobe XMP是拥有自定义元数据的更好方法。
%Image::ExifTool::UserDefined = (
'Image::ExifTool::Exif::Main' => {
0xd001 => {
Name => 'Category',
Writable => 'string',
WriteGroup => 'IFD0',
},
0xd002 => {
Name => 'PhotoID',
Writable => 'string',
WriteGroup => 'IFD0',
},
# add more user-defined EXIF tags here...
},
);
exiftool -config exif.config -EXIF:PhotoID=15 -EXIF:Category=Cars c:\temp\pic.png
exiftool -config exif.config c:\temp\pic.png