python PIL可以处理原始图像数据吗?


问题内容

我有一个原始图像文件,它是.bin并由16位无符号整数组成。python映像库可以接受这种类型的文件并进行处理吗?我的代码无法正常运行,并给我一个无效的文件类型错误,但是我认为这可能是编码错误,而不仅仅是它不包含此文件类型。

有关于这方面的知识吗?


问题答案:

假设您的文件没有标题,并且文件很紧,请尝试以下操作:

with open('filename', 'rb') as f:
    im = Image.fromstring('L;16', (width, height), f.read()) # also try 'L;16B', 'I;16', and 'I;16B'
im.show()

'L'格式将截断从每像素16位到8; 该'I'格式将保持在每像素16位,但可能很难与工作。

如果原始文件以某种方式编码,则必须搜索其原始文档,因为原始格式根本没有标准化。随着.bin扩展我怀疑是这种情况。