繁体   English   中英

将PIL图像转换为numpy数组

[英]Convert a PIL image to a numpy array

我想将PIL图像转换为numpy数组。 Numpy的asarray函数只是将图像放入0维数组中。

(Pdb) p img
<PIL.Image._ImageCrop image mode=RGB size=1024x0 at 0x106953560>
(Pdb) img.getdata()
<ImagingCore object at 0x104c97b10>
(Pdb) np.asarray(img.getdata())
array([], dtype=float64)
(Pdb) np.asarray(img)
array(<PIL.Image._ImageCrop image mode=RGB size=1024x0 at 0x106953560>, dtype=object)
(Pdb) np.asarray(img).shape
()
(Pdb) np.asarray(img, np.uint8)
*** SystemError: error return without exception set

类似的SO问题的解决方案不起作用。

您的img大小为1024x0:

PIL.Image._ImageCrop图像模式= RGB大小= 1024x0在0x106953560

那是一个高度为0的图像。 因此,结果NumPy数组为空。 要修复,请裁剪图像,使其具有正的宽度和高度。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM