• 色彩空间


    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技能树

  • 相关阅读:
    使用 nuxt3 开发简约优雅的个人 blog
    一篇文章告诉你什么是Java内存模型
    OTA设计思路
    Spring Security权限控制框架使用指南
    js:对dom元素class属性进行读取、更新、移除操作
    Promise异步编程
    背包问题学习笔记-分组背包
    卷积 、 图像去噪、边缘提取
    typedef的四种用法
    大疆御3(DJI Mavic 3)照片格式,设置默认JPG格式
  • 原文地址:https://blog.csdn.net/sinat_41752325/article/details/124966082