Zeshin

OpenCV_Diplomna

Feb 15th, 2023
1,173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.42 KB | None | 0 0
  1. import cvzone
  2. from cvzone.ColorModule import ColorFinder
  3. import cv2
  4. import numpy as np
  5.  
  6.  
  7. def onMouse(event, x, y, flags, param):
  8.     if event == cv2.EVENT_LBUTTONDOWN:
  9.         print('x = %d, y = %d' % (x, y))
  10.  
  11.  
  12. cap = cv2.VideoCapture(1)
  13. myColorFinder = ColorFinder(False)
  14. hsvVals = {'hmin': 45, 'smin': 61, 'vmin': 16, 'hmax': 81, 'smax': 207, 'vmax': 221}
  15. while True:
  16.     ret, frame = cap.read()
  17.     imgColor, mask = myColorFinder.update(frame, hsvVals)
  18.     imgContour, contours = cvzone.findContours(frame, mask, drawCon=False)
  19.     dimensions = imgContour.shape
  20.     image_width, image_height = dimensions[1], dimensions[0]
  21.     if len(contours) > 0:
  22.         one_third_of_screen = image_width / 3
  23.         left_zone = one_third_of_screen
  24.         right_zone = image_width - one_third_of_screen
  25.         box = contours[0]['bbox']
  26.  
  27.         if box[2] > one_third_of_screen - one_third_of_screen/3 or box[3] > one_third_of_screen - one_third_of_screen/3:
  28.             print('b')
  29.         elif box[2] < one_third_of_screen/3 or box[3] < one_third_of_screen/3:
  30.             print('f')
  31.         elif box[0] < left_zone:
  32.             print('l')
  33.         elif box[0] + box[2] > right_zone:
  34.             print('r')
  35.         else:
  36.             print('On spot')
  37.     cv2.imshow("Image", imgContour)
  38.     cv2.setMouseCallback("Image", onMouse)
  39.     if cv2.waitKey(20) & 0xFF == ord('q'):
  40.         break
  41.  
  42. cap.release()
  43. cv2.destroyAllWindows()
  44.  
Advertisement
Add Comment
Please, Sign In to add comment