今天,我们来实现一个视频实时检测颜色物体的小实例,视频中主要有三个颜色物体,我们只检测红色和绿色的球状物体,如下图所示:
第一步需要打开视频(或者摄像头):
cap = cv2.VideoCapture('1.mp4') # 打开视频文件# cap = cv2.VideoCapture(0) # 打开USB摄像头
然后需要循环取帧,进行颜色物体检测。检测颜色物体使用的是HSV阈值来筛选颜色,所以HSV阈值的设定是关键,下面是常用颜色的HSV表:
但是针对具体图片还需要自己写个小工具去提取图片上的目标的HSV值,然后手动设定阈值,比如在上面图片中我们使用的红色和绿色的HSV阈值分别如下:
lower_green = np.array([35, 110, 106]) # 绿色范围低阈值upper_green = np.array([77, 255, 2