Opencv色彩空间

RGB是人眼或计算机色彩空间,而Opencv默认是BGR,排列顺序不同,windows系统下的图片,h手机像素的排列是BGR,会在内部进行一些转换,转化为RGB格式

HSV(HSB):

Opencv色彩空间_第1张图片

        色相(Hue);饱和度(Saturation),颜色的纯度;明度(Value)

 同一截面内区域不同度数时代表不同的颜色,饱和度同一截面半径越长,颜色纯度越高。对于Value圆柱越高,图像越来越亮

HSL:色相、饱和度、亮度。

Opencv色彩空间_第2张图片

YUV:主要用在视频领域。

        YUV4:2:0

Opencv色彩空间_第3张图片

 第一行,4个Y里面两个U。第二行4个Y里面两个V

        YUV4:2:2

        YUV4:4:4

        

import cv2


def callback():
    pass


cv2.namedWindow('color', cv2.WINDOW_NORMAL)
img = cv2.imread('d:/download/1.png')
colorspaces = [cv2.COLOR_BGR2RGBA, cv2.COLOR_RGBA2BGR, cv2.COLOR_BGR2GRAY, cv2.COLOR_BGR2HSV_FULL, cv2.COLOR_BGR2YUV]
cv2.createTrackbar('curcolor', 'color', 0, len(colorspaces), callback)
while True:
    index = cv2.getTrackbarPos('curcolor', 'color')
    # 颜色空间转化
    cvt_img = cv2.cvtColor(img, colorspaces[index])

    cv2.imshow('color', img)
    key = cv2.waitKey(0)
    if key & 0xFf == ord('q'):
        break
cv2.destroyAllWindows()

这里运行失败了,不知道为什么,有没有大佬帮忙看一下问题出在哪儿!

D:\pycharm\python3.10.7\python.exe D:\临时\test\CV\1.py 
Traceback (most recent call last):
  File "D:\临时\test\CV\1.py", line 54, in 
    index = cv2.getTrackbarPos('curcolor', 'color')
cv2.error: OpenCV(4.6.0) D:\a\opencv-python\opencv-python\opencv\modules\highgui\src\window_w32.cpp:2581: error: (-27:Null pointer) NULL window: 'color' in function 'cvGetTrackbarPos'


进程已结束,退出代码1

你可能感兴趣的:(python-opencv,opencv,人工智能,计算机视觉)