解码图像文件以提取图像头信息并对其进行修改(使用python)

2024-05-16 15:45:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在读一个dpx格式的图像文件,希望提取标题的image部分中的“Orientation”,并对其进行修改。我从未尝试过解释二进制数据,所以我有点不知所措。我试图使用struct模块,但我真的不知道如何正确地使用它。文件头规范如下:

http://www.fileformat.info/format/dpx/egff.htm

谢谢。在


Tags: 模块文件数据image规范http标题www
3条回答

Python Imaging Library PIL具有可能返回相关数据的am attribute.info

您可能需要考虑使用Imagemagic来执行此操作。开源,支持dpx格式。在

方向似乎有一个恒定的偏移量,所以如果你只想改变这一切,那么我就不必费心去解析它了,只要计算出偏移量(我认为它就是GENERICFILEHEADER的大小加上方向字的高字节的一个字节),然后直接读取/操作它。在

使用bytearray将是我的首选。偏移量根据是使用大尾数格式还是小尾数格式而变化一个,因此类似这样的方法可能适用于您:

b = bytearray(your_byte_data)
big_endian = (b[0] == 0x52)
offset = 768 + big_endian
current_orientation = b[offset]  # get current orientation
b[offset] = new_offset           # set it to something new
open('out_file', 'wb').write(b) 

相关问题 更多 >