Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import cvzone
- from cvzone.ColorModule import ColorFinder
- import cv2
- import numpy as np
- def onMouse(event, x, y, flags, param):
- if event == cv2.EVENT_LBUTTONDOWN:
- print('x = %d, y = %d' % (x, y))
- cap = cv2.VideoCapture(1)
- myColorFinder = ColorFinder(False)
- hsvVals = {'hmin': 45, 'smin': 61, 'vmin': 16, 'hmax': 81, 'smax': 207, 'vmax': 221}
- while True:
- ret, frame = cap.read()
- imgColor, mask = myColorFinder.update(frame, hsvVals)
- imgContour, contours = cvzone.findContours(frame, mask, drawCon=False)
- dimensions = imgContour.shape
- image_width, image_height = dimensions[1], dimensions[0]
- if len(contours) > 0:
- one_third_of_screen = image_width / 3
- left_zone = one_third_of_screen
- right_zone = image_width - one_third_of_screen
- box = contours[0]['bbox']
- if box[2] > one_third_of_screen - one_third_of_screen/3 or box[3] > one_third_of_screen - one_third_of_screen/3:
- print('b')
- elif box[2] < one_third_of_screen/3 or box[3] < one_third_of_screen/3:
- print('f')
- elif box[0] < left_zone:
- print('l')
- elif box[0] + box[2] > right_zone:
- print('r')
- else:
- print('On spot')
- cv2.imshow("Image", imgContour)
- cv2.setMouseCallback("Image", onMouse)
- if cv2.waitKey(20) & 0xFF == ord('q'):
- break
- cap.release()
- cv2.destroyAllWindows()
Advertisement
Add Comment
Please, Sign In to add comment