使用Python向JPEG文件添加注释

3

我想编写一个Python程序,可以向jpeg文件添加注释。我了解到在jpeg文件中,注释由标记0xfffe表示。因此,我是否可以打开文件,并附加这个标记和我想要的任何注释?我的代码大致如下:

file = open("someimage.jpg", "a+b")
file.write("\xff\xfeCOMMENT")
file.close()

如果我的评论在文件结束标记(0xffd9)之后,这会有影响吗?谢谢!

2个回答

2
被接受的答案使用EXIF字段。如果需要一个标准的JPEG注释,您需要插入有效负载长度:
必须在FF FE字节和注释之间插入两个字节,以大端(无符号短整型)整数形式给出注释的字节数加2。
例如,对应于注释Hello的字节序列为FF FE00 0748 65 6C 6C 6F,因为有效负载的长度(无符号短整型+注释)为7个字节。如果想要可选的C样式空终止符,则为FF FE00 0848 65 6C 6C 6F 00
注释段应严格位于文件结束标记(FF D9)之前,尽管一些图像查看器可能会理解标记后的额外数据。
有关详细信息,请参见JPG文件中的文本注释如何工作?

2

这将有效(它将追加超出存储图像所需部分的文本)。

更复杂的方法是读取JPG文件格式并在EXIF字段中添加注释。请参阅此StackOverflow讨论:Python的Exif操作库

请见pyexiv,用于Python绑定到exiv2,这是一种用于读写图像元数据的工具。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接