当使用PIL.Image.open()打开图片后,如果要使用img.shape函数,需要先将image形式转换成array数组。
# PIL.Image to np.array
img = numpy.array(im)
array转化为image形式
# np.array to PIL.Image
img = Image.fromarray(img.astype('uint8')).convert('RGB')
# 或者
img = Image.fromarray(np.uint8(img))
代码:
from PIL import Image
import numpy as np
im = Image.open("girl.PNG")
print(type(im))
img_array = np.array(im)
print(type(img_array))
img_PIL = Image.fromarray(np.uint8(img_array))
print(type(img_PIL))
输出结果:
debug结果 :
PIL.image与opencv之间的转化!!!! PIL.Image 和 OpenCV 图像格式互转 | Ming's Blog
参考:
https://blog.csdn.net/qq_30159015/article/details/80070514?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-3.pc_relevant_baidujshouduan&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-3.pc_relevant_baidujshouduan
Image.fromarray的用法(实现array到image的转换)_weixin_39450145的博客-CSDN博客_image.fromarray