Image.open、cv2.imread
一、读取:
1. img = Image.open(path)
- 这里的img的类型是Image对象,不是普通的数组。
- 通道顺序RGB
- size为宽和高
2. img = cv2.imread(path)
- 这里的img的type是np.adarray()类型
- 通道顺序BGR
- shape为行、列、通道数
二、显示:
1.plt.imshow(array)
2.cv2.imshow(array)
两个函数都要求输入为数组。因此Image读入的图片要转换为数组。plt函数读入的顺序为RGB,cv2.imshow()读入的顺序为BGR。因此Image与plt.imshow()配合使用。cv2自己的一套使用。
三、保存
1.img.save(path)
2.cv2.imwrite(path, img(注意是否需要转换通道顺序))
四、转换:
1.Image对象->cv2(np.adarray)
img = Image.open(path)
通道转换:img.convert('RGB')
img_array = np.array(img)
2.cv2(np.adarray)->Image对象
img = cv2.imread(path)
img_Image = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))