读取图片PIL和opencv

from PIL import Image
import matplotlib.pyplot as plt
import numpy as  np

img=Image.open(r"F:\datasets\VOC2012\SegmentationClass\2007_000033.png")
#=========================
print(len(np.array(img))
#******************************************
plt.imshow(img)
plt.show()

PIL中的Image.open()函数可用来打开函数,但是他有两种不同的显示方式:

(Ps:前几天还在好奇,总觉得matlab这个软件对于处理图像方便一点,很方便就可以读取图片的矩阵形式啊,还有图片的size(),而在Python中我总是遇到调用图片size不行的情况,原来只要在最后读取的图片之后加一个,np.array( img),就可以了!!!!!)

所以以后再用到PIL这个函数读取图片的时候,一定要配黑np.array()来一起使用。

注意:

PIL.Image.open()函数读取图片图片的channels是RGB, PIL.Image.save()直接保存RGB的图片,而cv2.imread()读取图片读完之后图片的通道是BGR,cv2.imwirte()保存图片的时候相当于做了BGR2RGB再去保存

你可能感兴趣的:(matplotlib)