方法一:利用 PIL 中的 Image 函数
这个函数读取出来不是 array 格式,这时候需要用 np.asarray(im) 或者 np.array(im)函数将其处理成array格式。
区别:np.array() 是深拷贝,np.asarray() 是浅拷贝。浅拷贝只拷贝父对象,不会拷贝对象的内部的子对象;深拷贝会拷贝对象及其子对象。
1 from PIL importImage2 importnumpy as np3
4 #读取
5 image = Image.open('fur.jpg')6 #显示
7 image.show()8 #保存
9 image.save('new.jpg')10 #转换成array
11 im_array =np.array(image)12 print(im_array.shape)13 #array转换成image
14 img =Image.fromarray(np.uint8(im_array))15 img.save('new1.jpg') #还可以指定图片质量img.save('new1.jpg',quality=95),默认值为75
方法二:利用 matplotlib
利用 matplotlib.pyplot as plt 用于显示图片;利用matplotlib.image as mpimg 用于读取图片,并且读取出来就是 array 格式。
1 importmatplotlib.pyplot as plt2 importmatplotlib.image as mpimg3 importnumpy as np4
5 img &