repository to manage all files for 1_2_oder_3 interaction game for Inf2/2 Interaktionen SoSe23 from Engert, Caliskan and Bachiri
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Track.py 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import time
  2. import numpy as np
  3. import cv2
  4. cap = cv2.VideoCapture(0)
  5. def nothing(x):
  6. pass
  7. cv2.namedWindow("Trackbars")
  8. cv2.createTrackbar("L - H", "Trackbars", 0, 255, nothing)
  9. cv2.createTrackbar("L - S", "Trackbars", 0, 255, nothing)
  10. cv2.createTrackbar("L - V", "Trackbars", 0, 255, nothing)
  11. cv2.createTrackbar("U - H", "Trackbars", 255, 255, nothing)
  12. cv2.createTrackbar("U - S", "Trackbars", 255, 255, nothing)
  13. cv2.createTrackbar("U - V", "Trackbars", 255, 255, nothing)
  14. while True:
  15. ret, frame = cap.read()
  16. frame = cv2.resize(frame, (640, 480))
  17. hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
  18. l_h = cv2.getTrackbarPos("L - H", "Trackbars")
  19. l_s = cv2.getTrackbarPos("L - S", "Trackbars")
  20. l_v = cv2.getTrackbarPos("L - V", "Trackbars")
  21. u_h = cv2.getTrackbarPos("U - H", "Trackbars")
  22. u_s = cv2.getTrackbarPos("U - S", "Trackbars")
  23. u_v = cv2.getTrackbarPos("U - V", "Trackbars")
  24. lower_range = np.array([l_h, l_s, l_v])
  25. upper_range = np.array([u_h, u_s, u_v])
  26. mask = cv2.inRange(hsv, lower_range, upper_range)
  27. result = cv2.bitwise_and(frame, frame, mask=mask)
  28. # show thresholded image
  29. cv2.imshow("mask", mask)
  30. cv2.imshow("result", result)
  31. key = cv2.waitKey(1) & 0xFF
  32. if key == ord("q"):
  33. break
  34. cap.release()
  35. cv2.destroyAllWindows()