import cv2 import numpy as np #create a VideoCapture object cap = cv2.VideoCapture(0) while(1): # Capture Video from Camera _, frame = cap.read() # Convert BGR to HSV hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) # define range of blue color in HSV lower = np.array([0,0,0]) upper = np.array([255,70,70]) # Threshold the HSV image to get only blue colors mask_black = cv2.inRange(hsv, lower, upper) _, contours, _ = cv2.findContours(mask_black, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) for cnt in contours: x,y,w,h = cv2.boundingRect(cnt) cv2.rectangle(frame,(x,y),(x+w,y+h),(0,255,0),2) # cv2.rectangle(frame,(x,y),((x+w),(y-h)),(255,0,0),2) # cv2.rectangle(frame,(x+(w/2),y+(h/2)-10),(x+(w/2),y+(h/2)+10),(255,0,0),2) # contours, hierarchy = cv2.findContours(Anti_White,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE) cv2.imshow('frame',frame) cv2.imshow('mask_black)',mask_black) k = cv2.waitKey(5) & 0xFF if k == 27: break cv2.destroyAllWindows()
參考資料:
http://stackoverflow.com/questions/25504964/opencv-python-valueerror-too-many-values-to-unpack