cv2.imread在不加第二个参数的情况下默认将图片转换成了一个三维数组,最里面的一维代表的是一个像素的三个通道的灰度值,第二个维度代表的是第一行所有像素的灰度值,第三个维度,也就是最外面的一个维度代表的是这一张图片。
参数详解
imread函数有两个参数,第一个参数是图片路径,第二个参数表示读取图片的形式,有三种:
- cv2.IMREAD_COLOR:加载彩色图片,这个是默认参数,可以直接写1。
- cv2.IMREAD_GRAYSCALE:以灰度模式加载图片,可以直接写0。
- cv2.IMREAD_UNCHANGED:包括alpha,可以直接写-1。
读取的彩色图片,是按照 GBR 的形式,对于用 RGB 显示的函数会出现错误,可以按照如下处理:
# 直接 cv2 显示 img = cv2.imread("xx.jpg") cv2.imshow("xx",img) # 如果其他显示方式,可以通过变换通道来实现 b,g,r = cv2.split(img) img_rgb = cv2.merge([r,g,b]) plt.figure() plt.imshow(img_rgb) plt.show()