在这篇文章中,我们将看到如何使用 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()函数显示。
在我们的例子中,我们将检测输入图像的红色和绿色,下面的代码将只检测红色和绿色。
输入图像
整个程序:
输出图像:
作者: 小白
文章来源:小白学视觉
推荐阅读
- YOLOv8实践 | 手把手教你用YOLOv8训练自己的数据集以及YOLOv8的多任务使用
- 目标检测提升技巧 | 结构化蒸馏一行代码让目标检测轻松无痛涨点
- 基于Opencv实现眼睛控制鼠标
- 回顾2022年计算机视觉领域最激动人心的进展
- 量化部署篇 | Vision Transformer应该如何进行PTQ量化?这个方法或许可以参考!
- 自制深度学习推理框架-前言-第一课
更多嵌入式AI干货请关注嵌入式AI专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。