[英]How to convert PIL image to numpy array?
当我执行 np.asarray(my_img) 或 array(my_img).shape 时,它会在 jpg 图像上返回 (2412L, 3600L, 3L),但我只想要一个 2D (2412L, 3600L) 数组,那么如何正确转换呢? 提前致谢。
my_image = "AI.jpg"
from matplotlib.pyplot import imread
from PIL import Image
fname = "images/" + my_image
image = Image.open(fname)
print(image.size) # output: (3600, 2412)
print(np.asarray(image).shape) # output: (2412L, 3600L, 3L)
print(np.array(image).shape) # output: (2412L, 3600L, 3L)
如果您的图像尺寸的最后一个轴为3
,则通常意味着您有一个 3 通道 RGB 图像。
如果你想要一个单通道图像,你将失去 RGB 颜色,只有一个灰度图像。 你可以这样做:
grey = Image.open(fname).convert('L')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.