作者:The Imaging Source Europe GmbH
0ca0-vY P`Zon 很多数字
相机采用电荷
耦合器件(
CCD)作为其感光元器件。CCD 的原理很简单:我们可以把它想象成一个没有盖子的
芯片,上面整齐地排列着很多小的感光单元,光线中的光子撞击每个单元后,在这些单元中会产生电子(光电效应),而且光子的数目与电子的数目互成比例。但在这一过程中,光子的波长并没有被转换为任何形式的电信号,换言之,CCD 裸芯片实际上都没有把色彩信息转换为任何形式的电信号。那么采用 CCD 作为感光元件的彩色数字相机是如何生产彩色图像的?其图像存在哪些优缺点?本文将回答这个问题。
:%gc Sm I"x' )>ff"| X aqSOC(jU 5RLO}Vn] 1. 单色相机
&eV5#Ph [+WsVwyf? 我们首先从相对简单的黑白数字相机入手。
Pim dC6>&@
VX g=td*S 8>x5| 如图所示,物体在有光线照射到它时将会产生反射,这些反射光线进入
镜头光圈照射在CCD芯片上,在各个单元中生成电子。
G!FdTvx$ H
r:*p6 曝光结束后,这些电子被从 CCD 芯片中读出,并由相机内部的微处理器进行初步处理。此时由该微处理器输出的就是一幅数字图像了。
URVW5c 'pA%lc) 2. 3 CCD 彩色相机
:3M,]W] rRevyTs CCD 芯片按比例将一定数量的光子转换为一定数量的电子,但光子的波长,也就是光线的颜色,却没有在这一过程中被转换为任何形式的电信号,因此 CCD 实际上是无法区分颜色的。
v J0v6\ 0j$=KA 在这种情况下,如果我们希望使用 CCD 作为相机感光芯片,并输出红、绿、蓝三色分量,就可以采用一个分光
棱镜和三个 CCD,如图所示。棱镜将光线中的红、绿、蓝三个基本色分开,使其分别投射在一个 CCD 上。这样以来,每个 CCD 就只对一种基本色分量感光。
]:f.=" 4<s;xSCL 这种解决方案在实际应用中的效果非常好,但它的最大缺点就在于,采用3个 CCD + 棱镜的搭配必然导致价格昂贵。因此科研人员在很多年前就开始研发只使用一个 CCD 芯片也能输出各种彩色分量的相机。
fS}Eu4Xe Uv59 XF$ 3. 单 CCD 彩色相机
$l,U) q;AD#A|\ (1) 成像原理
%ZRv+}z }e7/F[c.U 如果在 CCD 表面覆盖一个只含红绿蓝三色的马赛克滤镜,再加上对其输出信号的处理算法,就可以实现一个 CCD 输出彩色图像数字信号。由于这个设计理念最初由拜尔(Bayer)先生提出,所以这种滤镜也被称作拜尔滤镜。
<x`yoVPiZg -,
+o*BP 如上图所示,该滤镜的色彩搭配形式为:一行使用蓝绿元素,下一行使用红绿元素,如此交替;换言之,CCD 中每4个像素中有2个对绿色分量感光,另外两个像素中,一个对蓝色感光、一个对绿色感光。从而使得每个像素只含有红、绿、蓝三色中一种的信息,但我们希望的是每个像素都含有这三种颜色的信息。
_CNXyFw.7 (lwV(M 所以接下来要对这些像素的值使用“色彩空间插值法”进行处理。
,q*|R
O (U5XB
[r_P 以上图中左下角的红色区域为例,我们需要的是丢失了的绿色与蓝色的值。而插值法可以通过分析与这个红色像素相邻的像素计算出这两个值。在这个例子中,算法发现该区域像素绿色像素均含有大量电荷,但蓝色像素电荷数为零,所以可以计算出,这个红色像素实际上是黄色的。
}'<Z&NW6 (B\Kb4m 如果以上图为例对3 CCD 的成像结果与单 CCD + 色彩插值处理后的结果进行比较,我们将发现所得图片完全一致。但该结论仅对这幅图像成立!因为这副图片色彩对比简单、边界规则。而在实际应用中,即使最成熟的色彩插值算法也会在图片中产生低通效应。所以,单 CCD 彩色相机生成的图片比3 CCD 彩色相机生成的图片更加模糊,这点在图像中有超薄或纤维形物体的情况下尤为明显。但是,单 CCD 彩色相机使得CCD 数字相机的价格大大降低,而且随着电子技术的发展,今天 CCD 的质量都有了惊人的进步,因此大部分彩色
数码相机都采用了这种技术。
3+>R%TX6i< bN?*p($/ (2) 成像类应用
7NEOaX(J9 Q8HNST($? 在成像原理一节的讲解过程中,我们使用的是把一幅图片中的红、绿、蓝三色分离而得的三副图片。现在,我们将使用这张图片的原始数字图像介绍两种简单的插值处理算法。
)-+tN>Bb B)/&xQu (i) 临近像素复制法
-~.+3rcZ] 填补缺失的色彩值的最简单方法就是从临近像素中获取色彩值。以拜尔滤镜中第二行第一个绿色像素为例,在源图像中该点实际是红色的,但经拜尔滤镜中绿色镜片过滤后,该点色值为零。我们只需要把临近红蓝像素中的红色与蓝色值复制到该像素中,就能获得其RGB值(255,0,0)。
=)y$&Y