使用Python+opencv的物体追踪,也是采用了颜色追踪的方法
利用将一副图像从BGR转换到HSV,可以利用这一个点来提取某个特定颜色的物体。在HSV颜色空间中要比BGR空间中更容易显示特定颜色。在我们的程式中,我们提取的是一个蓝色的物体。下面就是需要做的几步:
* 从视频中获取每一帧图像
* 将图像转换到HSV空间
* 设置HSV阈值到蓝色范围
* 获取蓝色物体,当然我们还可以做其他我们想做的事情
下面就是代码:
import cv2
import numpy as np
cap = cv2.VideoCapture(0) #打开摄像头
while True:
ret,frame = cap.read()
hsv = cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)
lower_blue = np.array([100,50,50])
upper_blue = np.array([130,255,255])
#设置蓝色的HSV阈值
mask = cv2.inRange(hsv,lower_blue,upper_blue)
res = cv2.bitwise_and(frame,frame,mask=mask)
#显示图像
cv2.imshow('frame',frame)
cv2.imshow('mask',mask)
cv2.imshow('res',res)
k = cv2.waitKey(2)
if k == 27:
break
#关闭窗口
cv2.destroyAllWindows()