• 色彩空间


    1. GRAY色彩空间 灰度空间

    GRAY色彩空间通常指8位灰度图,256个灰度级,像素范围[0,255]。

    数值表示不同程度的灰色,像素值越低,灰色越深。0表示黑色,255表示白色。

    GRAY色彩空间是单通道,常用二维数组表示一幅灰度图像。

    二值图像:只有0和255两种像素值的灰度图像。

    2. RGB色彩空间

    人眼能够感受三种不同的颜色:红色、绿色、蓝色,即三基色。自然界常见的大部分颜色都可以通过将三基色按照一定比例混合得到。

    RGB色彩空间中,存在R(Red)、G(Green)、B(Blue)三个通道,每个色彩通道值的范围是[0,255]之间。

    RGB色彩空间可以表示255*255*255中颜色。

    通常用一个三维数组表示一幅RGB色彩空间的彩色图像。

    一般,RGB色彩空间的通道顺序是R→G→B,在OpenCV中,通道顺序是B→G→R。

    RGB模型用于彩色监视器和一大类彩色视频摄像。

    3. HSV色彩空间

    HSV色彩空间包含三要素:

    H:色调(Hue);

    S:饱和度(Saturation);

    V:亮度(Value);

    3.1 色调(H)

    色调是色彩的基本属性,就是平常所说的颜色的名称。

    色调与混合光谱中的主要波长相关,不同波长的光表现为不同的颜色,实际体现的是色调的差异。

    色调的取值区间为[0,360],色调取不同值,代表的颜色如下:

    色调值颜色
    0红色
    60黄色
    120绿色
    180青色
    240蓝色
    300品红色

    3.2 饱和度(S)

    饱和度是色彩的纯度,通俗说是颜色的深浅。

    饱和度越高色彩越纯,饱和度越低,逐渐变灰。

    饱和度与所加白光的数量成反比。饱和度的取值区间是[0,1],灰色的饱和度是0.如果颜色的饱和度很低,那么计算所得的色调不可靠。

    OpenCV中,饱和度要映射到[0,255]范围内。

    3.3 亮度(V)

    亮度反应的是人眼能感受到的光的明暗程度。

    掺入的白色越多,亮度越高。

    亮度的取值取键是[0,1],OpenCV中映射到[0,255]范围内。

    HSV颜色空间可以用一个倒圆锥体空间模型描述。圆锥体的顶点,V=0,H和S屋顶一,代表黑色;圆锥的底面中心处,V=360,H和V屋顶一,代表白色。

    HSV颜色空间的应用:可以用于偏光矫正、去除阴影、图像分割等。

    4. 颜色空间转换

    4.1. RGB与灰度图GRAY之间互转

    4.2 RGB与HSV之间互转

    RGB转换为HSV,处理过程:

    1. V = max(R,G,B))
    2. H=\left\{\begin{matrix} H+\Theta & H<0 \\ H & H<0 \end{matrix}\right.
    3. 上面1,2公式计算后:

    S\in \left [ 0 , 1\right ]

    V\in \left [ 0 , 1\right ]

    H\in \left [ 0 , \Theta \right ]

    HSV转换为RGB,处理方式:

    h_{i}\equiv \begin{bmatrix} h\\ 0 \end{bmatrix}(mod6)

    f=\frac{h}{\Theta }-h_{i}

    p=v \times (1-s)

    q = v(1-f\times s)

    t = v\times (1-(1-f)\times s)

    文章参考:彩色空间-图像增强和滤波-CSDNOpenCV技能树

  • 相关阅读:
    C++文件服务器项目—FastCGI—4
    基于java Swing编写扫雷游戏设计实现(已调试)
    前三季度L2级辅助驾驶增速放缓?市场下沉压力凸显背后
    Oxygen XML Editor 26版新功能
    系统软件开发基础知识
    【数模】因子分析
    Day1:数据结构&算法之顺序表
    vue大型电商项目尚品汇(前台篇)day05
    【面经】携程数据仓库面经
    MongoDB复杂Json数据的增删改查
  • 原文地址:https://blog.csdn.net/sinat_41752325/article/details/124966082