我有一个.jpg图像,我想转换为Python数组,因为我实现了处理普通Python数组的处理例程 .
似乎PIL图像支持转换为numpy数组,并且根据我写的文档:
from PIL import Image
im = Image.open("D:\Prototype\Bikesgray.jpg")
im.show()
print(list(np.asarray(im)))
这将返回一个numpy数组列表 . 另外,我试过了
list([list(x) for x in np.asarray(im)])
由于它失败了,它什么都没有返回 .
如何从PIL转换为数组,或者简单地从numpy数组转换为Python数组?
4 回答
我认为你在寻找的是:
或者,如果图像太大而无法完全加载到内存中,那么类似的东西:
来自PIL documentation:
我强烈建议您使用
Image
对象的tobytes
函数 . 经过一些时间检查后,这会更有效率 .我在笔记本电脑上播放的时间显示
基于zenpoy's answer:
我使用numpy.fromiter来反转8灰度位图,但没有副作用的迹象