2024-05-16 15:45:17 发布
网友
我正在读一个dpx格式的图像文件,希望提取标题的image部分中的“Orientation”,并对其进行修改。我从未尝试过解释二进制数据,所以我有点不知所措。我试图使用struct模块,但我真的不知道如何正确地使用它。文件头规范如下:
http://www.fileformat.info/format/dpx/egff.htm
谢谢。在
Python Imaging Library PIL具有可能返回相关数据的am attribute.info
您可能需要考虑使用Imagemagic来执行此操作。开源,支持dpx格式。在
方向似乎有一个恒定的偏移量,所以如果你只想改变这一切,那么我就不必费心去解析它了,只要计算出偏移量(我认为它就是GENERICFILEHEADER的大小加上方向字的高字节的一个字节),然后直接读取/操作它。在
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)
Python Imaging Library PIL具有可能返回相关数据的am attribute.info
您可能需要考虑使用Imagemagic来执行此操作。开源,支持dpx格式。在
方向似乎有一个恒定的偏移量,所以如果你只想改变这一切,那么我就不必费心去解析它了,只要计算出偏移量(我认为它就是
GENERICFILEHEADER
的大小加上方向字的高字节的一个字节),然后直接读取/操作它。在使用bytearray将是我的首选。偏移量根据是使用大尾数格式还是小尾数格式而变化一个,因此类似这样的方法可能适用于您:
相关问题 更多 >
编程相关推荐