当前位置: 首页 > news >正文

OpenCV 第4课 图像处理—颜色空间

1. 颜色空间介绍

我们所看到的图像信息,其实每一帧都是由B、G、R三个颜色分量所构成的像素点排列而成。

颜色模型也被称为颜色空间,是用一组数值来描述颜色的数学模型。

RGB图像是一种比较常见的颜色空间类型,除此以外,还有一些其他的颜色空间,比较常见的包括GRAY颜色空间(灰度图像)、Lab颜色空间、XYZ颜色空间、YCrCb 颜色空间、HSV颜色空间、HLS颜色空间、CIEL*a*b*颜色空间、CIEL*u*v*颜色空间、Bayer 颜色空间等。

每个颜色空间都有自己擅长的处理问题的领域,因此,为了更方便地处理某个具体问题,就要用到颜色空间类型转换。

颜色空间类型转换是指,将图像从一个颜色空间转换到另外一个颜色空间。例如,在使用OpenCV处理图像时,可能会在RGB颜色空间和Lab颜色空间之间进行转换。在进行图像的特征提取、距离计算时,往往先将图像从RGB颜色空间处理为灰度颜色空间。在一些应用中,可能需要将颜色空间的图像转换为二值图像。

下面将列举介绍几种常见的空间。

2.常用颜色空间类型学习

2.1 RGB颜色空间

RGB颜色空间具有以下属性:

  1. 它是一种加色空间,其中颜色通过红色R,绿色G和蓝色B的线性组合获得。
  2. 物体光照会影响该颜色空间各个通道值,三个颜色通道是具有相关性的。让我们将上面图像分成R,G和B分量并观察它们以更深入地了解颜色空间。

从下图可以看到如果你看蓝色通道,可以看到在室内光照条件下第二张图像中的魔方蓝色和白色部分看起来相似,但第一张图像有明显差异。这种不均匀性使得在该颜色空间中基于颜色的分割非常困难。此外,两个图像的值之间存在总体差异。因此RGB颜色空间存在颜色值分布不均匀以及色度和亮度混合在一起的问题。

2.2 Lab颜色空间

类似RGB空间,Lab也有三个图像通道。

  • L:亮度通道,表亮度。
  • a:颜色通道a,表示从绿色到洋红色的颜色。
  • b:颜色通道b,表示从蓝色到黄色的颜色。

Lab颜色空间与RGB颜色空间完全不同。在RGB颜色空间中,颜色信息被分成三个通道,

但是相同的三个通道也包含亮度信息。另一方面,在Lab颜色空间中,L通道独立于颜色信息并仅只含亮度信息。另外两个通道编码颜色。

L分量:表示像素的亮度。L值越大,亮度越高。

a分量:表示从红色到绿色的范围。

b分量:表示从黄色到蓝色的范围。

在OpenCV里,RGB颜色空间中R、G、B的数值范围均为[0-255]。在Lab颜色空间中的L数值范围是[0-100],L为0时代表黑色,为100时代表白色。a和b的数值范围是[-128,127],a和b为0时都代表灰色。

为了进一步帮助大家了解RGB和Lab的对照关系,这里以PS软件为例进行说明:

1)在PS 软件中使用“吸管工具”,选择需要吸取的颜色;

2)点击左下方“拾色器”,可以看到Lab 与RGB 的对应关系如下图所示:

Lab颜色空间还具有以下特性: 1.感知上均匀的颜色空间近似于我们如何感知颜色。2.独立于设备(捕获或显示)。3.广泛用于Adobe Photoshop。4.通过复数变换方程与RGB颜色空间相关。OpenCV中读取图像,转换为Lab空间图像结果如下图所示:

2.3 Ycrcb颜色空间

YCbCr通常会用于影片中的影像连续处理,或是数字摄影系统中。Y为颜色的亮度(luma)成分、而CB和CR则为蓝色和红色的浓度偏移量成分。

人眼视觉系统(HVS,Human Visual System)对颜色的敏感度要低于对亮度的敏感度。在传统的RGB 颜色空间内,RGB 三原色具有相同的重要性,但是忽略了亮度信息。

在YCrCb颜色空间中,Y代表光源的亮度,色度信息保存在Cr和Cb中,其中,Cr表示红色分量信息,Cb表示蓝色分量信息。亮度给出了颜色亮或暗的程度信息,该信息可以通过照明中强度成分的加权和来计算。在RGB光源中,绿色分量的影响最大,蓝色分量的影响最小。

对于照度变化,可以针对强度和颜色分量对LAB进行类似的观察。与LAB相比,室外图像中红色和橙色之间的感知差异较小,白色在所有3个组件中发生了变化。

2.4 HSV颜色空间

HSV颜色空间是一种面向视觉感知的颜色模型,具有以下三个成分:

H色调,S饱和度,V明度。

色调:色调与混合光谱中的主要光波长相关,例如“赤橙黄绿青蓝紫”分别表示不同的色调。如果从波长的角度考虑,不同波长的光表现为不同的颜色,实际上它们体现的是色调的差异。

饱和度:指相对纯净度,或一种颜色混合白光的数量。纯谱色是全饱和的,像深红色(红加白)和淡紫色(紫加白)这样的彩色是欠饱和的,饱和度与所加白光的数量成反比。

亮度:反映的是人眼感受到的光的明暗程度,该指标与物体的反射度有关。对于颜色来讲,如果在其中掺入的白色越多,则其亮度越高;如果在其中掺入的黑色越多,则其亮度越低。

HSV最大的特点是它只使用一个通道来描述颜色(H),这使得指定颜色变得非常直观。但是HSV颜色取决于设备。

从下图可以看到

H分量在两个图像中非常相似,这表明即使在光照变化下颜色信息也是完整的。

两个图像中的S分量也非常相似,V分量表示亮度,因此它会因照明变化而发生变化。

红色室外和室内图像的值之间存在巨大差异。这是因为H值是以角度表示红色表示起始角度。因此它可能会取角度[300,360]和[0,60]之间的值。

2.5 Gray颜色空间

GRAY颜色空间通常指的是灰度图像,灰度图像是一种每个像素都是从黑到白,被处理为256个灰度级别的单色图像。

这256个灰度级别分别用区间[0,255]中的数值表示,其中,“0”表示纯黑色,“255”表示白色,0~255之间的数值表示不同的亮度(即颜色的深浅程度)的深灰色或者浅灰色。

http://www.cnnetsun.cn/news/2157967.html

相关文章:

  • 让旧款iPhone和iPad重获新生的神器:Legacy iOS Kit完全指南
  • 抖音批量下载终极指南:一键获取无水印视频的完整解决方案
  • 如何为OneKey钱包贡献代码:开源社区参与完整手册
  • Revelation光影包:5分钟打造Minecraft电影级视觉盛宴
  • 如何5分钟快速上手JobFunnel:零基础配置与首次抓取教程
  • 探索微信好友关系检测:基于iPad协议的开源解决方案
  • STM32F429的FSMC驱动NAND Flash,除了CubeMX配置你还需要注意这几点
  • 别让知识‘腐烂’:我用Obsidian搭建个人知识库,复刻《新概念英语》的复习之旅
  • 深入理解pydicom数据集操作:从基础元素到复杂序列的完整教程
  • 别再手动算百分比了!C语言printf的%.2f%%格式化,一行代码搞定成绩统计
  • 腾讯版“小龙虾”WorkBuddy保姆级教程:零基础开启AI自动办公新时代
  • Reddit视频制作终极指南:一键生成爆款内容动画效果
  • Rune语言入门指南:如何在Rust中嵌入动态脚本语言
  • 3分钟搞定!TegraRcmGUI图形化工具让你的Switch破解变得超简单
  • cascade最佳实践清单:10个提升用户体验的技巧
  • Logisim-Evolution 终极指南:数字电路设计的完整教程与实践应用
  • 别再混着用了!聊聊YOLOX里那个让mAP涨了1.1%的‘分家’头(附Double-Head论文解读)
  • 树莓派5串口通信保姆级教程:从GPIO引脚接线到Python代码测试,一次搞定
  • 如何让旧iPhone/iPad重获新生:终极iOS降级工具指南
  • 告别公式焦虑:用可视化工具解锁斯坦福CS229机器学习手册的图表密码
  • 别再手动翻文献了!用Word宏一键给Zotero引用和参考文献加上超链接(保姆级教程)
  • swoole不能使用VUE?
  • 终极动画编排指南:10分钟掌握mojs时间线艺术,打造丝滑视觉体验
  • 揭秘多租户充电桩SaaS平台架构:如何用一套慧知开源代码(v2.5.2)同时服务多个运营商?
  • 终极指南:GitHub翻译插件智能检测 - 提交前自动拦截翻译错误
  • 零信任监控新范式:用eCapture捕获中间件TLS明文流量的终极指南
  • 终极指南:如何从0到1掌握Rust树莓派OS测试自动化
  • 终极指南:如何用Nock实现100%测试覆盖率与可视化分析
  • RimSort终极指南:轻松管理《环世界》模组,告别冲突与混乱
  • C++容器性能革命:MyTinySTL移动语义的终极优化指南