python opencv RGB色彩空间(HSV、HSL、BGR)

3 阅读1分钟
import cv2
import numpy as np

def callback():
    pass
# RGB-人的真眼色彩空间  BGR-opencv 的色彩空间,把RGB调换成了BGR
# HSV  常用
# Hue: 色相,0-360 即色彩,如红色、蓝色
# Saturation: 饱和度,0-100 即色彩饱和度,如纯色、灰色、彩色
# Value: 明度,0-100 即亮度,如纯黑、纯白、亮色、暗色
# HSL 不常用
# Hue: 色相,
# Saturation: 饱和度
# Lightness: 明度

# 设置窗口
cv2.namedWindow('trackbar', cv2.WINDOW_NORMAL)

# 创建滑动条RGB
cv2.createTrackbar('R', 'trackbar', 0, 255, callback)
cv2.createTrackbar('G', 'trackbar', 0, 255, callback)
cv2.createTrackbar('B', 'trackbar', 0, 255, callback)


# 创建黑底图片
img = np.zeros((480, 640, 3), np.uint8)
while True:
    cv2.imshow('trackbar', img),

    # 获取滑动条的值 设置图片背景
    r = cv2.getTrackbarPos('R', 'trackbar')
    g = cv2.getTrackbarPos('G', 'trackbar')
    b = cv2.getTrackbarPos('B', 'trackbar')

    # 设置图片背景
    img[:] = [b, g, r]

    key = cv2.waitKey(10)
    if key & 0xFF == ord('q'):
        break
cv2.destroyAllWindows()