Zuletzt aktiv 1702918074

hsv.py Orginalformat
1# -*- coding: utf-8 -*-
2# more detail at this video
3# https://www.youtube.com/watch?v=xjrykYpaBBM
4import cv2
5import numpy as np
6
7
8def empty(v):
9 pass
10
11
12img = cv2.imread("./test.jpg")
13# img = cv2.resize(img, (0, 0), fx=0.3, fy=0.3)
14
15cv2.namedWindow('TrackBar')
16cv2.resizeWindow('TrackBar', 640, 320)
17
18cv2.createTrackbar('Hue Min', 'TrackBar', 0, 179, empty)
19cv2.createTrackbar('Hue Max', 'TrackBar', 179, 179, empty)
20cv2.createTrackbar('Sat Min', 'TrackBar', 0, 255, empty)
21cv2.createTrackbar('Sat Max', 'TrackBar', 255, 255, empty)
22cv2.createTrackbar('Val Min', 'TrackBar', 0, 255, empty)
23cv2.createTrackbar('Val Max', 'TrackBar', 255, 255, empty)
24
25hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
26
27while True:
28 h_min = cv2.getTrackbarPos('Hue Min', 'TrackBar')
29 h_max = cv2.getTrackbarPos('Hue Max', 'TrackBar')
30 s_min = cv2.getTrackbarPos('Sat Min', 'TrackBar')
31 s_max = cv2.getTrackbarPos('Sat Max', 'TrackBar')
32 v_min = cv2.getTrackbarPos('Val Min', 'TrackBar')
33 v_max = cv2.getTrackbarPos('Val Max', 'TrackBar')
34 print(h_min, h_max, s_min, s_max, v_min, v_max)
35
36 lower = np.array([h_min, s_min, v_min])
37 upper = np.array([h_max, s_max, v_max])
38
39 mask = cv2.inRange(hsv, lower, upper)
40 result = cv2.bitwise_and(img, img, mask=mask)
41
42 cv2.imshow('img', img)
43 cv2.imshow('hsv', hsv)
44 cv2.imshow('mask', mask)
45 cv2.imshow('result', result)
46
47 cv2.waitKey(1)