import cv2
cap = cv2.VideoCapture(0)
cap.set(cv2.CAP_PROP_FRAME_WIDTH,1080) #set window's width and height
cap.set(cv2.CAP_PROP_FRAME_HEIGHT,780)
while True:
_, frame = cap.read()
hsv_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
height,width,_ = hsv_frame.shape
wx = int(width/2) # center
wy = int(height/2)
center_color = hsv_frame[wy,wx] #中心点HSV像素值
hue_value = center_color[0] #取Hue
if hue_value < 5:
color = 'RED'
elif hue_value < 22:
color = 'ORANGE'
elif hue_value < 33:
color = 'YELLOW'
elif hue_value < 78:
color = 'GREEN'
elif hue_value <131:
color = 'BLUE'
elif hue_value < 167:
color = 'VIOLET'
else:
color ='RED'
bgr_color = frame[wy,wx]
b,g,r = int(bgr_color[0]),int(bgr_color[1]),int(bgr_color[2])
cv2.circle(frame,(wx,wy),5,(0,255,0),3) # center (x,y)
cv2.putText(frame,color,(10,50),0,1,(b,g,r),2)
cv2.imshow('frame',frame)
key = cv2.waitKey(1)
if key ==27:
break
cap.release()
cv2.destroyAllWindows()