import cv2 import numpy as np cap = cv2.VideoCapture(0) while(1): # Take each frame ret, frame = cap.read() # Convert BGR to HSV hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) # define range of blue color in HSV lower_blue = np.array([110,50,50]) upper_blue = np.array([130,255,255]) # Threshold the HSV image to get only blue colors mask = cv2.inRange(hsv, lower_blue, upper_blue) blue_amnt = mask.mean() blue_str = "" if blue_amnt < 10: blue_str = "not very blue" elif blue_amnt >= 10 and blue_amnt < 30: blue_str = "a bit blue" elif blue_amnt >= 30 and blue_amnt < 100: blue_str = "very blue" elif blue_amnt >= 100: blue_str = "all blue" # Bitwise-AND mask and original image res = cv2.bitwise_and(frame,frame, mask= mask) cv2.putText(res, blue_str, (50, 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2) cv2.imshow('frame',frame) cv2.imshow('mask',mask) cv2.imshow('res',res) k = cv2.waitKey(5) & 0xFF if k == 27: break cv2.destroyAllWindows()