灰度图

来源:互联网 发布:linux怎么解压缩文件 编辑:程序博客网 时间:2024/05/17 06:25

    

      如果你用过 Photoshop,Corel PhotoPaint 等图象处理软件,可能听说过“灰度图” (grayscale) 这个词。灰度图是指只含亮度信息,不含色彩信息的图象,就象我们平时看到的黑白照片:亮度由暗到明,变化是连续的。因此,要表示灰度图,就需要把亮度值进行量化。通常划分成 0 255 256 个级别,其中 0 最暗 ( 全黑 ) 255 最亮 ( 全白 ) .bmp 格式的文件中,并没有灰度图这个概念,但是,我们可以很容易在 .bmp 文件中表示灰度图。方法是用 256 色的调色板,只不过这个调色板有点特殊,每一项的 RGB 值都是相同的。也就是说 RGB 值从 (0 0 0) (1 1 1) 一直到 (255 255 255) (0 0 0) 是全黑色, (255 255 255) 是全白色,中间的是灰色。这样,灰度图就可以用 256 色图来表示了。为什么会这样呢?难道是一种巧合?其实并不是。

 

在表示颜色的方法中,除了 RGB 外,还有一种叫 YUV 的表示方法,应用也很多。电视信号中用的就是一种类似于 YUV 的颜色表示方法。

在这种表示方法中, Y 分量的物理含义就是亮度, U V 分量代表了色差信号 ( 你不必了解什么是色差,只要知道有这么一个概念就可以了 ) 。使用这种表示方法有很多好处,最主要的有两点:

(1)    因为 Y 代表了亮度,所以 Y 分量包含了灰度图的所有信息,只用 Y 分量就能完全能够表示出一幅灰度图来。当同时考虑 U V 分量时,就能够表示出彩色信息来。这样,用同一种表示方法可以很方便的在灰度和彩色图之间切换,而 RGB 表示方法就做不到这一点了。

(2)    人眼对于亮度信号非常敏感,而对色差信号的敏感程度相对较弱。也就是说,图象的主要信息包含在 Y 分量中。这就提示我们:如果在对 YUV 信号进行量化时,可以“偏心”一点,让 Y 的量化级别多一些 ( 谁让它重要呢? ) 而让 UV 的量化级别少一些,就可以实现图象信息的压缩。而 RGB 的表示方法就做不到这一点,因为 RGB 三个分量同等重要,缺了谁也不行。 YUV RGB 之间有着如下的对应关系

       (1)

 

         (2)

 

 

RGB三个分量的大小一样时,假设都是a,代入公式(1),得到Y=aU=0V=0 。你现在该明白我前面所说不是巧合的原因了吧。

 

使用灰度图有一个好处,那就是方便。首先RGB的值都一样;其次,图象数据即调色板索引值,也就是实际的RGB值,也就是亮度值;另外,因为是256色调色板,所以图象数据中一个字节代表一个象素,很整齐。如果是2色图或16色图,还要拼凑字节,很麻烦。如果是彩色的256色图,由于图象处理后有可能会产生不属于这256种颜色的新颜色,就更麻烦了;这一点,今后你就会有深刻体会的。所以,做图象处理时,一般采用灰度图。为了将重点放在算法本身上,今后给出的程序如不做特殊说明,都是针对256级灰度图的。其它颜色的情况,你可以自己想一想,把算法补全。

原创粉丝点击