OpenCV--图像色彩空间及转换

图像色彩空间及转换

  • python代码和笔记

python代码和笔记

import cv2
色彩空间,基础:RGB或BGR
OpenCV中:
一、HSV(HSB):用的最多,
Hue:色相-色彩(0-360),红色:0°,绿色:120°,蓝色:240°
Saturation:饱和度,表示颜色接近光谱色的程度,0%-100%(混合)
Value(Brightness):明度,表示颜色明亮的程度0%()-100%()
二、HSL:与一不同
S:颜色的纯度,(稀释) L和B也一样
"""
"""
颜色空间转化 
"""


def callback(value):
    pass


cv2.namedWindow('color', cv2.WINDOW_NORMAL)
cv2.resizeWindow('color', 640, 480)

# 读取图片
img = cv2.imread('./img/cat.jpeg')
# 定义颜色空间转化列表
colorSpaces = [
    cv2.COLOR_BGR2RGB, cv2.COLOR_BGR2BGRA,
    cv2.COLOR_BGR2GRAY, cv2.COLOR_BGR2HLS,
    cv2.COLOR_BGR2HSV, cv2.COLOR_BGR2YUV
]

# 设置trackbar colorSpaces 有6个,默认从0开始,也就是运行代码后,已经转化了
cv2.createTrackbar('trackbar', 'color', 0, 5, callback)

while True:
    # 后去trackbar的值
    index = cv2.getTrackbarPos('trackbar', 'color')

    # 进行颜色空间转换
    cvt_img = cv2.cvtColor(img, colorSpaces[index])

    cv2.imshow('color', cvt_img)
    if cv2.waitKey(10) == ord('q'):
        break

cv2.destroyAllWindows()

你可能感兴趣的:(OpenCV,opencv,python,人工智能)