此次主要学习了如何将BGR转成HSV,主要用到cv2.cvtColor()和cv2.inRange()函数来识别视频中的蓝色物体。
code:
import cv2import numpy as npcap = cv2.VideoCapture(0)#开启相机while(1): _,frame = cap.read() hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) #将BGR图转成HSV图 lower_blue = np.array([100,43,46]) #能识别的最小的蓝色 upper_blue = np.array([124,255,255]) #能识别的最大蓝色 mask = cv2.inRange(hsv,lower_red,upper_blue) #设置hsv的颜色范围 res = cv2.bitwise_and(frame,frame ,mask = mask) #使用and的方式,区分出蓝色 cv2.imshow('hsv',hsv) cv2.imshow('frame',frame) cv2.imshow('mask',mask) cv2.imshow('res',res) k = cv2.waitKey(5) &0xFF if k== 27: breakcv2.destroyAllWindows()code结果: