In: Computer Science
Write a program that is capable of detecting the color brown in an image taken by a webcam using OpenCV python code.
# Python program for detection of a specific color ( brown here) using OpenCV with Python
import cv2
import numpy as np
# Webcamera no 0 is used to capture the frames
cap = cv2.VideoCapture(0)
# This drives the program into an infinite loop.
while(1):
# Captures the lives stream frame by frame
_, frame =cap.read()
# Converts image from BGR to HSV
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
lower_red = np.array([110,50,50])
upper_red = np.array([130,255,255])
#Here we are defining range of brown color in HSV
#This creates a mask of brown coloured
#objects found in the frame .
mask =cv2.inRange(hsv, lower_red, upper_red)
# The bitwise and of the frame and mask is done so
# that only the brown coloured objects are highlighted
# and stored in res
res = cv2.bitwise_and(frame,frame,mask=mask)
cv2.imshow('frame',frame)
cv2.imshow('mask',mask)
cv2.imshow('res',res)
# This displays the frame , mask
#and res which we created in 3 separate windows.
k = cv2.waitKey(5) & 0xFF
if k ==27:
break
# Destroys all of the HighGUI windows.
cv2.destroyALLWindows()
# release the captured frame
cap.release()