![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=1739694663-3LmTHRtxsmnVE6YCAIXboJYLj5cNcFXw-0-5161c1f470ac4fdc40fc486a39d62d0b)
执行结果 BGR通道的值分别是45、112、191。
![](https://epubservercos.yuewen.com/1BEC8A/31397881107141406/epubprivate/OEBPS/Images/Figure-P29_1484.jpg?sign=1739694663-Qv3VDr16BZ8pKvk4VM8VykDRukyiusTU-0-f800ece549074e14955651cc1ce9ed93)
除了上述方法,也可以一次获得一个通道的值,方法如下。
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=1739694663-q6WQ2h1QPuorN7hz5krFcvY1AfzhVlhC-0-810ddafeb83b6254f6019edf85aef1c4)
执行结果
![](https://epubservercos.yuewen.com/1BEC8A/31397881107141406/epubprivate/OEBPS/Images/Figure-P29_1491.jpg?sign=1739694663-8OUaHOjTFLboaG8SPNlwPtE3cM72bMn3-0-4821107fb19f0c68b6ad7cbb34fe916f)