import cv2
import numpy as np
# 读取图像
img = cv2.imread(r'C:\Users\86133\Desktop\yang1.jpg')
# y1, y2, x1, x2
# img = img[0:579, 315:704]
# 转HSV
imgHSV = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 回调函数必须要写
def empty(i):
# 提取滑动条的数值 共6个
hue_min = cv2.getTrackbarPos("Hue Min", "HSV Color")
hue_max = cv2.getTrackbarPos("Hue Max", "HSV Color")
sat_min = cv2.getTrackbarPos("Sat Min", "HSV Color")
sat_max = cv2.getTrackbarPos("Sat Max", "HSV Color")
val_min = cv2.getTrackbarPos("Val Min", "HSV Color")
val_max = cv2.getTrackbarPos("Val Max", "HSV Color")
# 颜色空间阈值
lower = np.array([hue_min, sat_min, val_min])
upper = np.array([hue_max, sat_max, val_max])
# 根据颜色空间阈值生成掩膜
imgMASK = cv2.inRange(imgHSV, lower, upper)
cv2.imshow("img", img)
cv2.imshow("HSV", imgHSV)
cv2.imshow("Mask", imgMASK)
# 参数(‘窗口标题’,默认参数)
cv2.namedWindow("HSV Color")
# 设置窗口大小
cv2.resizeWindow("HSV Color", 640, 240)
# 第一个参数时滑动条的名字,
# 第二个参数是滑动条被放置的窗口的名字,
# 第三个参数是滑动条默认值,
# 第四个参数时滑动条的最大值,
# 第五个参数时回调函数,每次滑动都会调用回调函数。
cv2.createTrackbar("Hue Min", "HSV Color", 0, 179, empty)
cv2.createTrackbar("Hue Max", "HSV Color", 179, 179, empty)
cv2.createTrackbar("Sat Min", "HSV Color", 0, 255, empty)
cv2.createTrackbar("Sat Max", "HSV Color", 255, 255, empty)
cv2.createTrackbar("Val Min", "HSV Color", 0, 255, empty)
cv2.createTrackbar("Val Max", "HSV Color", 255, 255, empty)
# 调用函数
empty(0)
# 按任意键关闭
cv2.waitKey()
HSV颜色调节器
最新推荐文章于 2024-05-03 14:17:52 发布