alex_bn_lee

导航

【643】cv2.imread() 函数

[1] 关于cv2.imread()读取图像为BGR问题

[2] OpenCV笔记02:用cv2.imread函数读取图片

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

 

posted on 2021-08-12 15:19  McDelfino  阅读(2914)  评论(0编辑  收藏  举报