hsv.py
· 1.4 KiB · Python
Orginalformat
# -*- coding: utf-8 -*-
# more detail at this video
# https://www.youtube.com/watch?v=xjrykYpaBBM
import cv2
import numpy as np
def empty(v):
pass
img = cv2.imread("./test.jpg")
# img = cv2.resize(img, (0, 0), fx=0.3, fy=0.3)
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)
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
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)
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('hsv', hsv)
cv2.imshow('mask', mask)
cv2.imshow('result', result)
cv2.waitKey(1)
1 | # -*- coding: utf-8 -*- |
2 | # more detail at this video |
3 | # https://www.youtube.com/watch?v=xjrykYpaBBM |
4 | import cv2 |
5 | import numpy as np |
6 | |
7 | |
8 | def empty(v): |
9 | pass |
10 | |
11 | |
12 | img = cv2.imread("./test.jpg") |
13 | # img = cv2.resize(img, (0, 0), fx=0.3, fy=0.3) |
14 | |
15 | cv2.namedWindow('TrackBar') |
16 | cv2.resizeWindow('TrackBar', 640, 320) |
17 | |
18 | cv2.createTrackbar('Hue Min', 'TrackBar', 0, 179, empty) |
19 | cv2.createTrackbar('Hue Max', 'TrackBar', 179, 179, empty) |
20 | cv2.createTrackbar('Sat Min', 'TrackBar', 0, 255, empty) |
21 | cv2.createTrackbar('Sat Max', 'TrackBar', 255, 255, empty) |
22 | cv2.createTrackbar('Val Min', 'TrackBar', 0, 255, empty) |
23 | cv2.createTrackbar('Val Max', 'TrackBar', 255, 255, empty) |
24 | |
25 | hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) |
26 | |
27 | while 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) |