开发者学堂课程【高校精品课-华中科技大学 -智能媒体计算:图像和视频中的颜色(下)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/811/detail/15671
图像和视频中的颜色(下)
内容介绍
一、颜色空间
二、三基色原理
三、视频中的颜色编码
四、彩色电视中使用 Y ,Cb ,Cr 的俩个重要优点
在颜色空间怎么来表达颜色呢?在计算机里或者在我们各种设备里面我们就给他一个数学的模型。这个模型或者叫方法就叫颜色空间。
一、颜色空间
颜色空间是表示颜色的一种数学方法
颜色空间是用来指定和产生颜色,使颜色形象化。
1、人
比如说人,是 HSI 颜色模型。 H 就是我们的色调, S 是指的它的饱和度。 i 是指的亮度。也称 HSB 。这个颜色就是色调,饱和度亮度的这个颜色空间。人只有这样去对话我们才能理解。如果不用这个颜色是什么颜色,他亮一点暗一点你用别的方式说这个颜色是34, 58 ,216不能理解。
2、显示设备
显示设备上,我们的显示器无论是 crt 的还是液晶的,我们通常是用的 RGB 颜色空间,就是红绿蓝这个颜色空间。
3、打印设备
打印设备我们用的是 cm 或者叫 cmyk 颜色模型,就是青色,品红色和黄色产生的这个颜色模型。
而青色品红和黄色是红绿蓝的互补色。不同的设备,不同的颜色模型,就是为了方便这样的设备去对颜色进行控制。比如说我们举一个色调,饱和度和明度的颜色空间。
我们中间的一个比如说,我们要检测这个足球的足球场。在足球场里面,明明是绿色的。
但是如果用 RGB 这个值来描述这个绿色的话,它的范围的变化,比如说有阴影等的变化就使得这很难检测中间是什么样。使用 RGB 检测的,就把边上的这个草地检测不出。而把变换到 HSI 这个模型之后,它的准确性就有大幅的提升。也就是说在做图像处理的时候,颜色空间看你的应用场合,可以彼此之间可以进行变化。
二、三基色原理
1、三基色的原理。
三基色原理就是说三种基本的颜色的光波。
按照不同的比例相加,是可以产生自然界中所有的颜色叫相加混色。
比如说黄色,品红色和青色。
可以通过红绿蓝三种颜色把它产生出来。就是在我们的红绿蓝作为三种基色,那么看彼此之间红和蓝相加是就是紫色。红色和绿色相加产生产生黄色。那我们的蓝色和绿色产生产生青色。那我们红色绿色和蓝色也等比例的相加在一起是多少。如果都是以最高的值来相加。比如说每个用8位表示。那么每个都取最高值255的话,那么像加在一起,这三种颜色就是白色,因此这个红绿蓝的三个加在一起。
最相交的中间这个区域是白色,这就是三基色。这个三种基色的选择,并不是只有红绿蓝。其实也可以用黄色品红和青色做三种基色。我们还可以选择其他的三种。条件就是这三种之间是不可以相互产生的。比如说第三种可以用前两种产生,这就不是基色。基色就是彼此相互是不能产生对方的。
我们如果用了青色,品红和黄色作为基色的话,中间这个是黑色。这三种基色相加就会产生出红绿蓝出来,意思他们是互补的颜色。
2、视觉系统对颜色和亮度的响应特性
讲人的视系统对颜色的感知,这是一条曲线图,水平轴是指的我们的波长。
垂直坐标是人的视觉系统对颜色和亮度的它的敏感度。这三种颜色的曲线。分别代表红绿蓝三种基色。而这个亮度呢,这个虚线是从红绿蓝里边把它专门算出来一个亮度的一个值。从这个曲线图里面,我们可以看到人对什么颜色最敏感的。
敏感度就取决于如果这个曲线越高就说垂直做比较高,就是它敏感度越高。很显然从这个曲线图上来看,人对亮度的敏感是很高的。就说灯光怎么样,亮一点和暗一点,人马上能感知到。而三种基色里面对谁敏感的,对绿色是要更敏感一些,对红色要弱一点,最不敏感的是紫色。人感觉是对亮度很敏感。敏感的东西就应该精细化的描述分配给他更多的位数。
而不敏感的给它描述的粗糙一点。这样在相同的位数的情况下,敏感的分配多的倍数,不敏感的分配少的倍数可以使它的质量提高。相反的话,我们根据它的敏感度,分配不同的位数,我们可以压缩数据。这个在我们的数据压缩里面,尤其是在感知编码里面用得很多。生物学家通过不同的实验,对人的视觉系统的敏感度进行了测量生成了这样的曲线。通过不同的波长的光来去测人的视觉系统。在视频中的这个颜色编码。我们用的是 RGB 颜色,实际上我们在图像里面,电视系统里面用,尤其是照相机里面经常用的是 RGB 的模型。
三、视频中的颜色编码
1、 RGB 信号。
就是我们前面讲的 RGB 的这种三基色的模型。就是一个RGB的信号包含独立的红绿蓝三个信号。那么每个颜色可以作为这三种基本颜色的组合来进行编码采用的加法颜色混合。
2、 Yuv 信号
YUV 信号是是根据前面的曲线图说由于人的视觉系统对亮度,颜色,敏感。我们就将亮度这个分量。从我们的色度分量里面给它分离出来。而且分离出来以后的量之外的这个色度。我们用 uv 来表示,这个 u 、 v 就代表两个色差信号,这个亮度里面我们已经把绿色包含在里面。而这个色差 u 、 v 呢,一个是蓝色差,一个是红色差。看这个计算公式, y 等于0.30倍的 r ,再加上0.59倍的 g 。 g 是绿色, r 是红色再加上0.1倍的 b 。看亮度贡献最大的是绿色。然后是红色次之,蓝色最多。那我们的色差的 u 是 b 减去 y 再乘上0.493这是蓝色差,红色差是 V 等于 R 减去 y 再乘以0.877。这里面的这些参数都是我们的生物学家通过实验做出来的。这样的值计算出来是最符合人的视觉系统。
3、 YIQ 信号
这个YIQ 信号和 yuv 信号的原理颜色模型是一样的。 Y 是表示亮度。 I 和 q 呢表示两个彩色的色差,一个红色差,一个蓝色差,不同的是它的计算公式里面的这个参数是不太一样的。把这两个对比一下。他俩的不同是这里面的计算公式不同,其实总的意思是一样的。
四、彩色电视中使用 Y , Cb , Cr 的俩个重要优点
在彩色的电视系统里边我们通常不用 RGB ,用亮度和色差相分离的这两个这个这个信号,比如说 Cb 、 Cr 。这里用 Cb , b 是蓝色差。 Cr 是红色差。
用这两个参数到 cb , cr 同时就代表了前面的这个 yuv 的 uv ,同时有 Yiq 的 iq 。统称为 Y 、 Cb 、Cr 这样的颜色信号。他有两个优点。
1、兼容彩色电视和黑白电视
像我们家里的电视机,有线电视线只有一个。这个我们叫电缆。这个圆圆的这个线进来以后插到电视里边,如果是黑白电视,它显示的是黑白信号。是彩色电视,它显示是有颜色的图像。
因为我们用了这个 Y cb cr 的颜色模型。黑白电视只用了这个 y 的这个信号。如果是彩色电视呢,把 cb cr 也用了。我们有了这个 y 、 cb 、 cr,实际上反向就可以把 RGB算出来。这 RGB 算出来之后,如果是传统的 crt 电视的话,我们就可以控制我们红绿蓝三个电子枪在荧光屏上。打出不同的颜色。
2、节省带宽
因为人的视觉系统对亮度敏感,你分配多的位数。对色差不敏感,那就分配更少的位数。这样的话比分配相同的倍数他就节省了我们存储的这种数据量。这样它就不增加位数的情况下提高质量。如果在质量相同的情况下,就减少了倍数,这也是数据压缩的视频压缩的基础。