从视频中获取每一帧图像
将图像转换到HSV空间
设置HSV阈值到蓝色区域
import cv2
import numpy as np
cap = cv2.VideoCapture(0)
while (1):
ret,frame = cap.read()
hsv = cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)
lower_blue = np.array([100,43,46])
upper_blue = np.array([124,255,255])
mask = cv2.inRange(hsv,lower_blue,upper_blue) #将低于lower_blue和高于upper_blue的部分变成0,中间部分变为255(本文中即蓝色部分为255)
res = cv2.bitwise_and(frame,frame,mask = mask) #mask ≠0时frame与frame按位相与,即显示蓝色部分,其他部分为0(黑色)
cv2.imshow('frame',frame)
cv2.imshow('mask',mask)
cv2.imshow('res',res)
k = cv2.waitKey(5)&0xFF
if k == 27:
break
cv2.destroyAllWindows()
BGR图像与HSV图像的数值关系转换
import cv2
import numpy as np
green = np.uint8([[[0,255,0]]])
hsv_green = cv2.cvtColor(green,cv2.COLOR_BGR2HSV)
print hsv_green