如何使用 OpenCV Python 检测颜色
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
在这篇文章中,我们将看到如何使用 Python 中的 OpenCV 模块检测颜色,进入这个领域的第一步就是安装下面提到的模块。
pip install opencv-python
pip install numpy
然后,导入模块。读取图像并使用 OpenCV 模块中的 cvtColor() 函数将BGR图像转换为 HSV (色调、饱和度、值) 图像,
现在,选择我们想要检测的颜色,并使用如下所示的HSV颜色贴图获得较低和较高的 HSV 值。在 OpenCV 中,色调的值从0到180,饱和度的值从0到255。因此,OpenCV 使用的 HSV 值范围在 (0–180, 0–255, 0–255) 之间。
H 根据 x 轴取值,S 根据 y 轴取值,V 始终在 (20-255) 之间的范围内取值。使用 HSV 值,我们需要使用 OpenCV 模块中的 inRange() 函数找到掩码并将其分配给变量(掩码)。使用 bitwise_and() 函数,我们可以通过将 BGR 图像作为第一个和第二个参数传递来获取我们选择的检测到的彩色图像,第三个参数将作为掩码并将其分配给变量 (detected_img)。
Detected_img 将是程序的最终输出,并使用 OpenCV 模块中的 imshow()函数显示。
在我们的例子中,我们将检测输入图像的红色和绿色,下面的代码将只检测红色和绿色。
用作输入的图像:
整个程序:
输出图像:
输出图像
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~