美文网首页
OpenCV+Python常用颜色空间

OpenCV+Python常用颜色空间

作者: 音符纸飞机 | 来源:发表于2018-07-07 16:07 被阅读161次

    Gray

    灰度图像,每个像素由一个值表示其灰度。
    Gray = R0.3 + G0.59 + B*0.11

    BGR

    每个像素由长度为3的数组表示,注意BGR的顺序

    CMY(K)

    减法混色,多用于印刷、打印机,4通道对应于四个墨盒


    CMYK

    HSV/HSL(I)

    人类视觉概念,画家配色


    HSV颜色模型
    Hue色调

    用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°,品红为300°

    Saturation饱和度

    饱和度S表示颜色和白色的混合程度。饱和度高,颜色深而艳。饱和度越低,越接近白色。通常取值范围为[0,1],值越大,颜色越饱和。

    Value \ Lightness 明度

    明度表示颜色明亮的程度,可以理解成环境的明亮度对色彩的影响。通常取值范围为0%(黑)到100%(白)。

    颜色区间

    一般对颜色空间的图像进行有效处理都是在HSV空间进行的,然后对于基本色中对应的HSV分量需要给定一个严格的范围,下面是通过实验计算的模糊范围(准确的范围在网上都没有给出)。
    H: 0— 180
    S: 0— 255
    V: 0— 255


    HSV颜色区间
    如何确定一种颜色的HSV范围
    import cv2
    import numpy as np
    
    green = np.uint8([[[0,255,0 ]]])
    hsv_green = cv2.cvtColor(green,cv2.COLOR_BGR2HSV)
    print(hsv_green)
    # [[[ 60 255 255]]]
    

    获得颜色的HSV值之后,一般指定区间为
    [H-10, 100,100],[H+10, 255, 255]
    具体情况具体调整

    CIE-XYZ

    三个坐标模拟人类视锥细胞,短波、中波、长波。略微对应于红、绿、蓝

    CIE-Lab

    近似人类视觉,常用于图像检索。
    颜色空间本身不均匀,Lab基于人类色差实验数据,均匀性好。
    L表示亮度,L = 0生成黑色而L = 100指示白色
    a表示从洋红色至绿色的范围,b表示从黄色至蓝色的范围,a和b的值域都是由+127至-128,其中+127 a就是红色,渐渐过渡到-128 a的时候就变成绿色;同样原理,+127 b是黄色,-128 b是蓝色。

    相关文章

      网友评论

          本文标题:OpenCV+Python常用颜色空间

          本文链接:https://www.haomeiwen.com/subject/cpawuftx.html