1. 单色相机
我们首先从相对简单的黑白数字相机入手。
如图所示,物体在有光线照射到它时将会产生反射CONTROL ENGINEERING China版权所有,这些反射光线进入镜头光圈照射在CCD芯片上,在各个单元中生成电子。
曝光结束后CONTROL ENGINEERING China版权所有,这些电子被从 CCD 芯片中读出,并由相机内部的微处理器进行初步处理。此时由该微处理器输出的就是一幅数字图像了。
2. 3 CCD 彩色相机
CCD 芯片按比例将一定数量的光子转换为一定数量的电子,但光子的波长,也就是光线的颜色,却没有在这一过程中被转换为任何形式的电信号,因此 CCD 实际上是无法区分颜色的。
在这种情况下,如果我们希望使用 CCD 作为相机感光芯片,并输出红、绿、蓝三色分量,就可以采用一个分光棱镜和三个 CCD,如图所示。棱镜将光线中的红、绿、蓝三个基本色分开,使其分别投射在一个 CCD 上。这样以来,每个 CCD 就只对一种基本色分量感光。
这种解决方案在实际应用中的效果非常好,但它的最大缺点就在于,采用3个 CCD + 棱镜的搭配必然导致价格昂贵。因此科研人员在很多年前就开始研发只使用一个 CCD 芯片也能输出各种彩色分量的相机。
3. 单 CCD 彩色相机
(1) 成像原理
如果在 CCD 表面覆盖一个只含红绿蓝三色的马赛克滤镜,再加上对其输出信号的处理算法,就可以实现一个 CCD 输出彩色图像数字信号。由于这个设计理念最初由拜尔(Bayer)先生提出,所以这种滤镜也被称作拜尔滤镜。
如上图所示,该滤镜的色彩搭配形式为:一行使用蓝绿元素,下一行使用红绿元素,如此交替;换言之,CCD 中每4个像素中有2个对绿色分量感光,另外两个像素中,一个对蓝色感光、一个对绿色感光。从而使得每个像素只含有红、绿、蓝三色中一种的信息,但我们希望的是每个像素都含有这三种颜色的信息。
所以接下来要对这些像素的值使用“色彩空间插值法”进行处理。
以上图中左下角的红色区域为例,我们需要的是丢失了的绿色与蓝色的值。而插值法可以通过分析与这个红色像素相邻的像素计算出这两个值。在这个例子中,算法发现该区域像素绿色像素均含有大量电荷,但蓝色像素电荷数为零,所以可以计算出,这个红色像素实际上是黄色的。
如果以上图为例对3 CCD 的成像结果与单 CCD + 色彩插值处理后的结果进行比较,我们将发现所得图片完全一致。但该结论仅对这幅图像成立!因为这副图片色彩对比简单、边界规则。而在实际应用中,即使最成熟的色彩插值算法也会在图片中产生低通效应。所以,单 CCD 彩色相机生成的图片比3 CCD 彩色相机生成的图片更加模糊CONTROL ENGINEERING China版权所有,这点在图像中有超薄或纤维形物体的情况下尤为明显。但是CONTROL ENGINEERING China版权所有,单 CCD 彩色相机使得CCD 数字相机的价格大大降低,而且随着电子技术的发展,今天 CCD 的质量都有了惊人的进步,因此大部分彩色数码相机都采用了这种技术。
(2) 成像类应用
在成像原理一节的讲解过程中,我们使用的是把一幅图片中的红、绿、蓝三色分离而得的三副图片。现在,我们将使用这张图片的原始数字图像介绍两种简单的插值处理算法。
(i) 临近像素复制法
填补缺失的色彩值的最简单方法就是从临近像素中获取色彩值。以拜尔滤镜中第二行第一个绿色像素为例,在源图像中该点实际是红色的,但经拜尔滤镜中绿色镜片过滤后,该点色值为零。我们只需要把临近红蓝像素中的红色与蓝色值复制到该像素中,就能获得其RGB值(255,0,0)。
就此例而言,这种插值法计算出了正确的RGB值。但在实际应用当中,对于静止图像,这种简单的插值法所生成的结果是不可接受的。但由于它算法简单且不耗费多少时间,我们可以将其用于对图像质量要求不高的视频数据流中(例如视频预览)。
(ii) 临近像素均值法(双线性插值)
我们可以对“复制插值法”作出的最直接改进就是使用若干临近像素的均值。如下图所示,这种方法对于上例中的象素点控制工程网版权所有,同样可以计算出正确的RGB值(255,0,0)。
但针对图中第二个示例像素点的计算指出了均值法的一个重大缺陷:均值法有低通特性,并由此将清晰的边界钝化。如该点 RGB 值本应是(255,0,0),但计算后变成了(255,128,64),即