np.array和PIL.Image之间的相互转换

当使用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))

 输出结果:

np.array和PIL.Image之间的相互转换_第1张图片

debug结果 :

np.array和PIL.Image之间的相互转换_第2张图片

PIL.image与opencv之间的转化!!!! PIL.Image 和 OpenCV 图像格式互转 | Ming's Blog

np.array和PIL.Image之间的相互转换_第3张图片

 

 

参考:

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

你可能感兴趣的:(Python相关,python)