1.HSV颜色空间
表示颜色的颜色空间不止BGR一种,比如还有灰度图和HSV,在HSV颜色空间中,共有H,S,V三个参数,H[0:179]表示颜色,S[0:255]表示饱和度,也就是颜色的纯度,V[0:255]表示亮度。
2.颜色空间转换
颜色空间转换通过cv2.cvtColor[图形文件,转换命令]函数完成,转换命令常用的有cv2.COLOR_BGR2GRAY cv2.COLOR_BGR2HSV两种。
3.物体追踪。
如果要追踪指定颜色的物体,最简单的办法就是将图形转化到HSV格式,再创建指定颜色阈值的MASK,将MASK与原图做与操作即可。
例:
lower_blue= np.array([110, 50, 50])
upper_blue= np.array([130, 255, 255])
设定好指定的颜色阈值
mask= cv2.inRange(hsv, lower_blue, upper_blue)
生成指定阈值的MASK
res =cv2.bitwise_and(frame, frame, mask=mask)
将MASK与原图做与操作。
结果如下:
原图
结果