PIL中的Image转化为数组array的方法

PIL的Image.open()读入图片后并不是numpy数组array格式,而是Image格式。
这对于后面图像处理以及神经网络读入图片数据会带来麻烦,例如用卷积神经网络读入数据一般以数组格式输入,有时需要将代表图片的矩阵形状进行转换,此时PIL的Image.open()读入的格式是不能用reshape方法的。
处理方式其实很简单,用np.array()函数直接进行转换就可以。
示例代码:

img = Image.open(path)
re_img = np.asarray(img)

将变成array的图片矩阵变回Image对象,使用Image中的fromarray方法:

Image.fromarray(np.uint8(re_img))
上一篇:什么是面向对象?谈谈你对面向对象的理解


下一篇:面向对象