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))

原文地址:https://www.cnblogs.com/liujianing/p/13947041.html