Python-Opencv(9)-視訊-MASK-顏色檢測
阿新 • • 發佈:2021-01-04
螢幕裡只顯示一種顏色。有4個螢幕,右上角為原始影象。
左上,左下,右下的視窗分別定義為綠色、橘色、紫色。
當原始視訊中出現了這個顏色,相應的螢幕會出現檢視。
import cv2 import numpy as np frameWidth = 640 frameHeight = 480 cap = cv2.VideoCapture(0) cap.set(3,frameWidth) cap.set(4,frameHeight) cap.set(10,130) myColors = [[5,107,0,19,255,255], [133,56,0,159,156,255], [57,76,0,100,255,255]] # 找一種顏色 def findColor(img,myColors): imgHSV = cv2.cvtColor(img,cv2.COLOR_BGR2HSV) lower = np.array(myColors[0][0:3]) upper = np.array(myColors[0][3:6]) mask = cv2.inRange(imgHSV, lower, upper) cv2.imshow("img",mask) # 開不同的視窗顯示不同的顏色 def findColors(img,myColors): imgHSV= cv2.cvtColor(img,cv2.COLOR_BGR2HSV) count =0 for color in myColors: lower = np.array(color[0:3]) upper = np.array(color[3:6]) mask = cv2.inRange(imgHSV, lower, upper) cv2.imshow(str(color[0]), mask) while True: success,img = cap.read() findColors(img,myColors) cv2.imshow("result",img) if cv2.waitKey(1)&0XFF == ord('q'): break