import cv2 as cv
import numpy as np
def empty():
pass
cv.namedWindow("TrackBars")
cv.resizeWindow("TrackBars",640,250)
#cv.createTrackbar("滑动条名称", "窗口名称", 初始值, 最大值, 回调函数)
cv.createTrackbar("Hue Min","TrackBars",0,255,empty)
cv.createTrackbar("Hue Max","TrackBars",255,255,empty)
cv.createTrackbar("Sat Min","TrackBars",0,255,empty)
cv.createTrackbar("Sat Max","TrackBars",255,255,empty)
cv.createTrackbar("Val Min","TrackBars",0,255,empty)
cv.createTrackbar("Val Max","TrackBars",255,255,empty)
while True:
img = cv.imread("image/tong.jpg")
resize = cv.resize(img,(350,250))
img_hsv = cv.cvtColor(img, cv.COLOR_BGR2HSV)
hsv = cv.resize(img_hsv, (350, 250))
h_min = cv.getTrackbarPos("Hue Min", "TrackBars")
h_max = cv.getTrackbarPos("Hue Max", "TrackBars")
s_min = cv.getTrackbarPos("Sat Min", "TrackBars")
s_max = cv.getTrackbarPos("Sat Max", "TrackBars")
v_min = cv.getTrackbarPos("Val Min", "TrackBars")
v_max = cv.getTrackbarPos("Val Max", "TrackBars")
lower = np.array([h_min, s_min, v_min])
upper = np.array([h_max, s_max, v_max])
mask = cv.inRange(hsv, lower, upper)
result = cv.bitwise_and(resize,resize,mask=mask)
cv.imshow("Original",resize)
cv.imshow("HSV", hsv)
cv.imshow("Mask",mask)
cv.imshow("Result",result)
if cv.waitKey(1) & 0xFF == 27:
break
cv.destroyAllWindows()
最新发布