数字图像处理——颜色图处理

之前介绍的都是在灰度图的基础上,而我们现实中遇到的一般都是颜色图。对于颜色图的处理,并不是将灰度图等简单叠加,因为人眼对不同颜色的感知敏感度不一样,因此这个权重不是均匀分配的。

实际上颜色图是很强的描述子,它对于目标检测以及识别都非常有用。而且人眼对于颜色图比对灰度图更敏感,颜色图也更漂亮。

实际上,之前的图形学也介绍了一部分不同的Color模型:图形学——颜色与网格。除了之前介绍的,还有HSI模型,它与HSV模型非常类似,只是这里I指的是平均值,而V指的是最大值。YUV模型,是被电视系统采用的。

不同模型有不同的应用,它们之间有的可以互相转换,具体转换规则可以去网上查阅相关的资料,一般来说也用不上,就不细谈了。

Pseudo Color

这里介绍一个比较重要的概念是伪彩色。介绍伪彩色首先需要明白什么是颜色表。之前我们说的RGB图,表示一张图的每个像素值,是一个三维向量,由RGB三个分量组成。而这样的处理并不是最好的,很多时候我们用不了太多的颜色。因此还有一种处理方式,是每个像素的值,实际上是一个颜色表的索引,而颜色表表示了这个图应该有的颜色,毕竟8bit表示下,颜色一共有255_255_255种,实际上一幅图可能根本达不到这个级别,这时候使用颜色表就可以大大压缩图像空间。现在颜色表也在硬件上实现了,它有很多名字,最有名的应该是LUT(Look Up Table)。

伪彩色图像,就是使用LUT表示色彩的图像。人眼对灰度的敏感度要比颜色低很多,而颜色表是一个很好的灰度图转色彩图的工具,将灰度图转化成色彩图,这里有多种方法,比如intensity slicing(切片),然后根据索引找对应的颜色。

将灰度图转换成伪彩色可以很大程度上增加人眼刺激,使得结果更加明了。很多深度图并不是用黑白表示,而是用伪彩色,就是这个道理,下面是一些例子:

还有更一般的转换方法,根据灰度图,生成R,G,B对应的值,得到真彩色图,这个明显比上述的切片得到伪彩色要复杂很多。

而对于真彩色图来说,很多关于灰度图的处理,可以很容易拓展到颜色图上。无非就是对各个channel的值分别进行处理,对于权重可能有不同的分配,这里就不多介绍了。