![OpenCV计算机视觉项目实战(Python版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/696/52842696/b_52842696.jpg)
上QQ阅读APP看书,第一时间看更新
2-6-2 读取特定彩色图像像素坐标的BGR值
参考ch2_2.py第4行,使用如下指令读取图像。
img = cv2.imread(“jk.jpg”)
假设想获得(169, 118)的BGR值(这是采用OpenCV坐标概念),可以使用如下指令。
px = img[169, 118]
上述用彩色图像读取时,返回的是Numpy模块的数组数据类型(numpy.ndarray)。
程序实例ch2_4.py:列出彩色图像OpenCV坐标(169, 118)的BGR值和此值的数据类型。
![](https://epubservercos.yuewen.com/1BEC8A/31397881107141406/epubprivate/OEBPS/Images/Figure-P29_1481.jpg?sign=1738881657-wFgUuZX2sUssbNucyK6alA3XQtCOQnz7-0-c313261cb5ad75c8dc6154e38670fa92)
执行结果 BGR通道的值分别是45、112、191。
![](https://epubservercos.yuewen.com/1BEC8A/31397881107141406/epubprivate/OEBPS/Images/Figure-P29_1484.jpg?sign=1738881657-nBKrn2wXKX98hgsBR5HGypiMdCfMyCYQ-0-798712c1c0aa2ef5a93a82a47e147beb)
除了上述方法,也可以一次获得一个通道的值,方法如下。
blue = img[pt_y, pt_x, 0] # B通道值 green = img[pt_y, pt_x, 1] # G通道值 red = img[pt_y, pt_x, 2] # R通道值
程序实例ch2_5.py:列出OpenCV坐标(169, 118)的BGR通道各个值。
![](https://epubservercos.yuewen.com/1BEC8A/31397881107141406/epubprivate/OEBPS/Images/Figure-P29_1488.jpg?sign=1738881657-02bNzzBL7JYQgcjVkbniaBVv8SlJkU6Z-0-cbca1466004fdb7a690b0e287b4774e2)
执行结果
![](https://epubservercos.yuewen.com/1BEC8A/31397881107141406/epubprivate/OEBPS/Images/Figure-P29_1491.jpg?sign=1738881657-19YlBz0DCzTaYJkCXjuMI5RBwq0D7QlQ-0-917f4c06374102285de1eb29fe7203de)