【发布时间】:2020-04-16 09:56:54
【问题描述】:
我正在使用下面的代码来重塑我的形象。它适用于RGB图像。但是,它不适用于灰度图像。
from PIL import Image
import numpy as np
def load_image_into_numpy_array(image):
(im_width, im_height) = image.size
return np.array(image).reshape((im_height, im_width, 3)).astype(np.uint8)
image_path="color.jpg"
image = Image.open(image_path)
image_np = load_image_into_numpy_array(image)
image.close()
这是工作图像color.jpg
这不是工作图像grey.jpg
两个图像的形状都是一样的。
image.size
(714, 714)
当我打印图像时,我发现了不同之处。
工作图像print(image)
<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=714x714 at 0x7F95DB4D4BA8>
图片无效print(image)
<PIL.JpegImagePlugin.JpegImageFile image mode=L size=714x714 at 0x7F32B5430BA8>
- 如何解决这个问题?
- 这是因为模式更改吗?
任何帮助都将不胜感激。
错误:
Traceback (most recent call last):
File "checker.py", line 11, in <module>
image_np = load_image_into_numpy_array(image)
File "checker.py", line 5, in load_image_into_numpy_array
return np.array(image).reshape((im_height, im_width, 3)).astype(np.uint8)
ValueError: cannot reshape array of size 509796 into shape (714,714,3)
【问题讨论】:
标签: python python-3.x image numpy python-imaging-library