1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| import cv2 import numpy as np
def empty(v): pass
rtsp_url = "rtsp://admin:abcd1234@192.168.1.64:554/h264/ch1/main/av_stream" cap = cv2.VideoCapture(rtsp_url)
cv2.namedWindow('TrackBar') cv2.resizeWindow('TrackBar', 640, 320)
cv2.createTrackbar('Hue Min', 'TrackBar', 0, 179, empty) cv2.createTrackbar('Hue Max', 'TrackBar', 179, 179, empty) cv2.createTrackbar('Sat Min', 'TrackBar', 0, 255, empty) cv2.createTrackbar('Sat Max', 'TrackBar', 255, 255, empty) cv2.createTrackbar('Val Min', 'TrackBar', 0, 255, empty) cv2.createTrackbar('Val Max', 'TrackBar', 255, 255, empty)
while True: h_min = cv2.getTrackbarPos('Hue Min', 'TrackBar') h_max = cv2.getTrackbarPos('Hue Max', 'TrackBar') s_min = cv2.getTrackbarPos('Sat Min', 'TrackBar') s_max = cv2.getTrackbarPos('Sat Max', 'TrackBar') v_min = cv2.getTrackbarPos('Val Min', 'TrackBar') v_max = cv2.getTrackbarPos('Val Max', 'TrackBar')
print(h_min, h_max, s_min, s_max, v_min, v_max)
ret, img = cap.read() if not ret: break img = cv2.resize(img, (0, 0), fx=0.5, fy=0.5) hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
lower = np.array([h_min, s_min, v_min]) upper = np.array([h_max, s_max, v_max])
mask = cv2.inRange(hsv, lower, upper) result = cv2.bitwise_and(img, img, mask=mask)
cv2.imshow('img', img) cv2.imshow('mask', mask) cv2.imshow('reslut', result) cv2.waitKey(1)
|