|
1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import time
- import numpy as np
- import cv2
-
- cap = cv2.VideoCapture(0)
-
- def nothing(x):
- pass
-
-
- cv2.namedWindow("Trackbars")
- cv2.createTrackbar("L - H", "Trackbars", 0, 255, nothing)
- cv2.createTrackbar("L - S", "Trackbars", 0, 255, nothing)
- cv2.createTrackbar("L - V", "Trackbars", 0, 255, nothing)
- cv2.createTrackbar("U - H", "Trackbars", 255, 255, nothing)
- cv2.createTrackbar("U - S", "Trackbars", 255, 255, nothing)
- cv2.createTrackbar("U - V", "Trackbars", 255, 255, nothing)
-
- while True:
- ret, frame = cap.read()
- frame = cv2.resize(frame, (640, 480))
- hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
-
- l_h = cv2.getTrackbarPos("L - H", "Trackbars")
- l_s = cv2.getTrackbarPos("L - S", "Trackbars")
- l_v = cv2.getTrackbarPos("L - V", "Trackbars")
- u_h = cv2.getTrackbarPos("U - H", "Trackbars")
- u_s = cv2.getTrackbarPos("U - S", "Trackbars")
- u_v = cv2.getTrackbarPos("U - V", "Trackbars")
- lower_range = np.array([l_h, l_s, l_v])
- upper_range = np.array([u_h, u_s, u_v])
- mask = cv2.inRange(hsv, lower_range, upper_range)
- result = cv2.bitwise_and(frame, frame, mask=mask)
-
- # show thresholded image
- cv2.imshow("mask", mask)
- cv2.imshow("result", result)
-
- key = cv2.waitKey(1) & 0xFF
- if key == ord("q"):
- break
- cap.release()
- cv2.destroyAllWindows()
-
|