基于OpenCV算法的颜色检测器
本文将介绍如何使用OpenCV库中的基本算法来检测特定颜色的物体。本文所使用的语言为Python,我们将通过编写简单的代码实现这一功能。
首先,我们需要导入必要的库:
import cv2
import numpy as np
我们需要从摄像头获取图像,并将其转换为HSV格式。
cap = cv2.VideoCapture(0)
while True:
# 读取摄像头的图像
ret, frame = cap.read()
# 将图像从BGR转换为HSV格式
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
接下来,我们需要选择我们想要检测的颜色范围。在这里,我们选择检测蓝色物体。
# 蓝色的HSV范围
lower_blue = np.array([110,50,50])
upper_blue = np.array([130,255,255])
然后,我们可以使用inRange函数来创建一个遮罩,它将只显示蓝色物体,并且将其他所有颜色都变成黑色。
# 根据HSV范围创建一个蓝色物体的遮罩
mask = cv2.inRange(hsv, lower_blue, upper_blue)
最后,我们可以使用bitwise_and函数将原始图像与我们的蓝色物体遮罩相结合,以获取检测到的蓝色物体。
# 将遮罩与原始图像相结合,以获取检测到的蓝色物体
res = cv2.bitwise_and(frame, frame, mask=mask)
完整的代码如下所示