科数网
数学题库
数学试卷
数学组卷
在线学习
电子教材
科数
试题
试卷
学习
教材
VIP
你好
游客,
登录
注册
在线学习
机器学习ML与人工智能AI
色彩原理RGB/HSL /HSV
最后
更新:
2024-04-12 07:41
●
参与者
查看:
232
次
纠错
分享
参与项目
词条搜索
色彩原理RGB/HSL /HSV
## RGB色彩 RGB 是我们接触最多的颜色空间,由三个通道表示一幅图像,分别为红色(R,red),绿色(G,green)和蓝色(B,blue)。这三种颜色的不同组合可以形成几乎所有的其他颜色。 RGB 颜色空间利用三个颜色分量的线性组合来表示颜色,每个颜色的取值范围为0~255,255得十六进制表示方法是FF。 因此 FF0000 表示的是红色, 00FF00 表示的是绿色,0000FF表示的是蓝色。 在windows的画图板里,输入不同的RGB值,可以得到不同的颜色。 ![图片](/uploads/2024-04/5f1cef.jpg){width=400px} 因为 256*256*256=16777216,所以,RGB最多只能展示16777216种颜色。 在RGB颜色里,(255,255,255)表示的是白色,而(0,0,0)表示的是黑色。 ### 人眼的局限性 人眼对于这三种颜色分量的敏感程度是不一样的,在单色中,人眼对红色最不敏感,蓝色最敏感,所以 RGB 颜色空间是一种均匀性较差的颜色空间。如果颜色的相似性直接用欧氏距离来度量,其结果与人眼视觉会有较大的偏差。对于某一种颜色,我们很难推测出较为精确的三个分量数值来表示。 下图展示了RGB不同组合形成的色彩图。 ![图片](/uploads/2024-04/e91bf4.jpg) #### 常用作用 RGB是最通用的面向硬件的彩色模型。该模型用于彩色监视器和一大类彩色视频摄像 ## HSV颜色 在图像处理中使用较多的是 HSV 颜色空间,它比 RGB 更接近人们对彩色的感知经验。非常直观地表达颜色的色调、鲜艳程度和明暗程度,方便进行颜色的对比。 HSV 表达彩色图像的方式由三个部分组成: - Hue(色调、色相) - Saturation(饱和度、色彩纯净度) - Value(明度) 用下面这个圆柱体来表示 HSV 颜色空间,圆柱体的横截面可以看做是一个极坐标系 ,H 用极坐标的极角表示,S 用极坐标的极轴长度表示,V 用圆柱中轴的高度表示。 ![图片](/uploads/2024-04/40b25c.jpg){width=400px} Hue 用角度度量,取值范围为0~360°,表示色彩信息,即所处的光谱颜色的位置。,表示如下: ![图片](/uploads/2024-04/49555a.jpg){width=400px} 颜色圆环上所有的颜色都是光谱上的颜色,从红色开始按逆时针方向旋转,Hue=0 表示红色,Hue=120 表示绿色,Hue=240 表示蓝色等等。 在 GRB中 颜色由三个值共同决定,比如黄色为即 (255,255,0);在HSV中,黄色只由一个值决定,Hue=60即可。 HSV 圆柱体的半边横截面(Hue=60): ![图片](/uploads/2024-04/353fa3.jpg){width=400px} 其中水平方向表示饱和度,饱和度表示颜色接近光谱色的程度。饱和度越高,说明颜色越深,越接近光谱色饱和度越低,说明颜色越浅,越接近白色。饱和度为0表示纯白色。取值范围为0~100%,值越大,颜色越饱和。 竖直方向表示明度,决定颜色空间中颜色的明暗程度,明度越高,表示颜色越明亮,范围是 0-100%。明度为0表示纯黑色(此时颜色最暗)。 可以通俗理解为: 在Hue一定的情况下,饱和度减小,就是往光谱色中添加白色,光谱色所占的比例也在减小,饱和度减为0,表示光谱色所占的比例为零,导致整个颜色呈现白色。 明度减小,就是往光谱色中添加黑色,光谱色所占的比例也在减小,明度减为0,表示光谱色所占的比例为零,导致整个颜色呈现黑色。 HSV 对用户来说是一种比较直观的颜色模型。我们可以很轻松地得到单一颜色,即指定颜色角H,并让V=S=1,然后通过向其中加入黑色和白色来得到我们需要的颜色。增加黑色可以减小V而S不变,同样增加白色可以减小S而V不变。例如,要得到深蓝色,V=0.4 S=1 H=240度。要得到浅蓝色,V=1 S=0.4 H=240度。 HSV 的拉伸对比度增强就是对 S 和 V 两个分量进行归一化(min-max normalize)即可,H 保持不变。 RGB颜色空间更加面向于工业,而HSV更加面向于用户,大多数做图像识别这一块的都会运用HSV颜色空间,因为HSV颜色空间表达起来更加直观! ## HLS 颜色空间 HLS 和 HSV 比较类似,这里一起介绍。HLS 也有三个分量,hue(色相)、saturation(饱和度)、lightness(亮度)。 HLS 和 HSV 的区别就是最后一个分量不同,HLS 的是 light(亮度),HSV 的是 value(明度)。可以到这个 网页 尝试一下。 HLS 中的 L 分量为亮度,亮度为100,表示白色,亮度为0,表示黑色;HSV 中的 V 分量为明度,明度为100,表示光谱色,明度为0,表示黑色。 下面是 HLS 颜色空间圆柱体: ![图片](/uploads/2024-04/f85e9b.jpg){width=400px} 提取白色物体时,使用 HLS 更方便,因为 HSV 中的Hue里没有白色,白色需要由S和V共同决定(S=0, V=100)。而在 HLS 中,白色仅由亮度L一个分量决定。所以检测白色时使用 HSL 颜色空间更准确。 ## CMY/CMYK颜色空间 CMY是工业印刷采用的颜色空间。C. 青色(Cyan) M. 洋红色(Magenta) Y. 黄色(Yellow) K. 黑色(blacK)。它与RGB对应。青,品红,和黄色是作为红、绿、蓝的互补色光而存,也可以作为颜料的一组三原色。简单的类比RGB来源于是物体发光,而CMY是依据反射光得到的。由于他们是通过从白光中分别减去 RGB 三原色而得到,故常把青、品红和蓝称为三减色。但CMY模型不能产生真正的黑色。故实际应用中我们通常模型中额外加入第四种颜色黑色,用 K 表示。以此 CMY 模型进而提升为CMYK 模,市面上常用的也是CMYK 模型。 由于三原色得不到纯黑色,CMYK则是打印时加上墨色(black ink),例如青色可以通过蓝色和绿色光相加得到,则白色通过青色时,没有红色分量。底色为白色进行色彩减法可以得到各种颜色。下图显示了CMY色彩混合图 ![图片](/uploads/2024-04/79e790.jpg) RGB与CMYK相互转换为: ``` R = 255*(100-C)*(100-K)/10000; G = 255*(100-M)*(100-K)/10000; B = 255*(100-Y)*(100-K)/10000; ``` ### 主要引用 CMY颜色主要用于 打印、印刷、海报等行业 ## YUV 色彩 YUV(亦称YCrCb)是被欧洲电视系统所采用的一种颜色编码方法。采用YUV色彩空间的重要性是它的亮度信号Y和色度信号U、V是分离的。如果只有Y信号分量而没有U、V信号分量,那么这样表示的图像就是黑白灰度图像。彩色电视采用YUV空间正是为了用亮度信号Y解决彩色电视机与黑白电视机的兼容问题,使黑白电视机也能接收彩色电视信号。其中“Y”表示明亮度(Luminance或Luma),也就是灰阶值;而“U”和“V” 表示的则是色度(Chrominance或Chroma,作用是描述影像色彩及饱和度,用于指定像素的颜色。“亮度”是透过RGB输入信号来建立的,方法是将RGB信号的特定部分叠加到一起。“色度”则定义了颜色的两个方面─色调与饱和度,分别用Cr和Cb来表示。其中,Cr反映了RGB输入信号红色部分与RGB信号亮度值之间的差异。而Cb反映的是RGB输入信号蓝色部分与RGB信号亮度值之同的差异。YUV和RGB互相转换的公式如下: ``` Y = 0.299R + 0.587G + 0.114B U = -0.147R - 0.289G + 0.436B V = 0.615R - 0.515G - 0.100B R = Y + 1.14V G = Y - 0.39U - 0.58V B = Y + 2.03U ``` ## 不同色彩的转换 目前业界主要使用RGB和HSV色彩,其转换公式为 #### RGB转HSV ![图片](/uploads/2024-04/6fa416.jpg) #### HSV转RGB ![图片](/uploads/2024-04/017e37.jpg)
上一篇:
没有了
下一篇:
人眼如何识别边缘图像
本文对您是否有用?
有用
(
0
)
无用
(
0
)
初中数学
高中数学
高中物理
高等数学
线性代数
概率论与数理统计
复变函数
离散数学
实变函数
数论
群论
纠错
题库
高考
考研
关于
下载
科数网是专业专业的数学网站。