#转换颜色空间
import cv2
import numpy as np
flags = [i for i in dir(cv2) if i.startswith('COLOR_')]
print (flags)
cap=cv2.VideoCapture(0)
while(1):
ret,frame=cap.read()
frame=cv2.flip(frame,1)
#转换到hsv
hsv=cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)
#设定蓝色阈值
blue=np.uint8([[[255,0,0]]])#三层括号分别对应cvArray,cvMat,IplImage
hsv_blue=cv2.cvtColor(blue,cv2.COLOR_BGR2HSV)
lower_blue=hsv_blue-30
upper_blue=hsv_blue+30
#设定红色色阈值
red=np.uint8([[[0,0,255]]])#三层括号分别对应cvArray,cvMat,IplImage
hsv_red=cv2.cvtColor(red,cv2.COLOR_BGR2HSV)
lower_red=hsv_red-50
upper_red=hsv_red+50
#设定绿色色阈值
green=np.uint8([[[0,255,0]]])#三层括号分别对应cvArray,cvMat,IplImage
hsv_green=cv2.cvtColor(green,cv2.COLOR_BGR2HSV)
lower_green=hsv_green-30
upper_green=hsv_green+30
#创建掩模
maskb=cv2.inRange(hsv,lower_blue,upper_blue)
maskr=cv2.inRange(hsv,lower_red,upper_red)
maskg=cv2.inRange(hsv,lower_green,upper_green)
mask=np.bitwise_or(maskb,maskr)
mask=np.bitwise_or(maskg,mask)
#位运算
res=cv2.bitwise_and(frame,frame,mask=mask)
#显示图像
cv2.imshow('frame',frame)
cv2.imshow('mask',mask)
cv2.imshow('res',res)
k=cv2.waitKey(10)
if k==ord('q'):
break
cv2.destroyAllWindows()
opencv 转换颜色空间 目标跟踪
猜你喜欢
转载自blog.csdn.net/qq_41244435/article/details/86626990
今日推荐
周排行