Я использую код ниже, чтобы изменить свое изображение. Это работает для изображения 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)