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

python PIL可以处理原始图像数据吗?,python,image-processing,python-imaging-library,raw-data,Python,Image Processing,Python Imaging Library,Raw Data,我有一个原始图像文件,它是.bin,由16位无符号整数组成。python图像库可以接收并处理这种类型的文件吗?我的代码运行不正常,并给我一个无效的文件类型错误,但我认为这可能是编码中的一个错误,而不仅仅是它没有采用这种文件类型 有关于这方面的知识吗?假设您的文件没有头并且压缩得很紧,请尝试以下操作: with open('filename', 'rb') as f: im = Image.fromstring('L;16', (width, height), f.read()) # al

我有一个原始图像文件,它是.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
扩展名,我怀疑情况是否如此。

这些16位无符号整数是表示灰度值,还是用3个连续的整数来提供RGB?它们表示灰度值,然后我将它们通过拜耳滤波器来获得颜色。问题是,在过滤之后,所有的东西都会稍微变色,所以我想稍微改变一下原始数据,看看它的作用。这告诉我,我不能用一个文件打开方法,我需要一个字符串。然后,当我尝试使用tostring()方法时,它说tostring()不能用于字符串。你确定.bin文件有效吗?我在文档中的任何地方都找不到它。@clifgray,对不起,我应该意识到它不会直接接收文件。我修正了这个例子,现在试试看。至于
.bin
文件,它们也没有标准化,但通常用于没有格式的文件。