Last active 1702918074

Revision ec3fd2ba628d1fcdc7863b31e65ad3f18714e69a

hsv.py Raw
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)