2008年4月7日星期一

企鹅一家

世界真奇妙(如姜昆杨澜般展开单臂)!看这企鹅一家,多可爱。


想把看到的景象保留下来,自然的想到用相机,保存到电脑里。可是以前的电脑太旧,不能显示彩色,它只知道黑或白,非黑即白。结果变成这样:



有人生气了,说:这是假的,要纠正过来。但如何纠正,是个问题。把黑白颠倒过来就行了吗?



其实就算只用黑与白,还是可以想办法逼近真是的,比如:



虽然和真实相比差了不少,但已比上面两个有了进步,虽然还是非黑即白的只有两种颜色。

如何改进呢?自然是用更多的颜色来表现。如果不用彩色,只把全黑到全白分256个层次,可以得到灰度图,用来再现照片的结果,是这样的:



这才是平时所说的黑白照,黑白照并不是非黑即白,而是用灰度表现。

再进一步则是用红绿蓝来再现了。和灰度类似,人们把红绿蓝三原色各自按256分阶段然后组合起来,就可以表现256x256x256即超过一千六百万以上的颜色了。不知道人眼是否能识别所有的颜色,但用红绿蓝基本上可以忠实再现自然了。本文开始的图片正是这样的结果。

于是我们就再也不用灰度了吗?不是。现在的数码相机非常普及,感光部分差不多都用的是CCD(charged coupled device),中文译成电子耦合组件。CCD感光后记录下颜色,然后可以输出。如果用3原色,自然需要3个CCD,这样一来成本会升高。所以一般只用1个CCD。1个CCD怎么能表现出彩色?这里要用到Bayer颜色了。

Bayer颜色是一律用灰度表示彩色。但按照特殊矩阵的位置决定当前的灰度是三原色中的哪一个。一般的色彩矩阵如下:



这里可以看到绿色用得比较多,这是因为人眼对绿色比较敏感的关系。经过Bayer转换后的图像如下:



从这幅灰度图可以还原出以下的图像:



怎么样?还不错吧。大多数使用数码相机的就是这个效果。

我们已经看到了如何利用有限的资源做尽可能多的再现真实世界,也知道因为人的视力的局限,事实上很多从灰度转换来的彩色已经足够让肉眼满意了。

无论如何,让红绿蓝三原色各有256个层次看来是最高目标了,现在大多数显示器都可以满足这个要求。但这是不是最终目标呢?请看下图:



看上去和开始的那幅彩色图没有区别,但实际上这图里的红绿蓝每个原色都有65536个层次,所以包含了比256个层次更多的信息。这些信息,在目前的显示 器上没有很大用处,但在计算机图像处理上却是越来越重要。因为人们可以用这么多信息来做更多的事,如局部放大,加亮,变暗,更自由的变换。

依次类推,技术可以无限的发展,从而更接近于真实世界。

1 条评论:

WANGHU 说...

评论源自: 歪脖司机
嗬嗬,文章不错,不过行外人士并不理解这个256,65536是怎么得来的,如果在文章末尾解释一下1位,8位,16位,32位存储的基本原理,可能更加有助于他们了解这些数字甚至电子图像的知识。
05-12-07 @ 09:32

评论源自: WANGHU
这篇文章原意想说说那些持非此即彼的观点的人物,可是不是人人可以看懂,结果成了技术性的文章了。 :(
05-12-07 @ 09:52

评论源自: yhy
好文,简单明了,生动不枯燥,更主要是对我有用.
07-06-04 @ 17:16