当前位置:在线查询网 > 在线百科全书查询 > CCD成像原理

CCD成像原理_在线百科全书查询


请输入要查询的词条内容:

CCD成像原理


大家知道,世界万千的色彩,可以用三种来最终表述。

红色绿色和蓝色,这里我们一般用英文的首字母来表示

分别为R.G.B,计算机世界里其中一种颜色的表示方式也是这种

用一个8Bit的数据来表示其中一种颜色的灰度值

(十六进制的0xff等于十进制的255)

所以计算机里用0xff0000来表示一个单纯的红色

如果不是纯红色,那就是f2,34,f1三个眼色的灰度值来表示任何一种颜色

这种颜色表示法,可以算出来它可以表示2的24(8bit*3位来表示颜色)次方种颜色

这就是计算机的RGB颜色表示法。。。

回头看一下我们的相机,我们的相机CCD或者COMS也是用的这个原理来产生色彩。。

通过上面的原理,我们可以产出,相机是个色盲,他不会辨认颜色,只会辨认灰度。

一种颜色的灰度。。所以我们CCD或者CMOS上存在着很多感应颜色灰度值的点,也就是我们平时所说的CCD上的一个像素。。为了显示彩色图像。一个像素就不可能感知所有色彩的灰度,他只能感知RGB当中的一种。

人们就想出一个办法。那就是让一种像素点专门感知红色灰度,一种专门感知绿色,一种专门感知蓝色

这样,单个颜色的采样色阶就出来了。一个像素可以理解为一个采样精度为255阶的AD口,负责采样红色灰度值的得到当前光线中红色部分的灰度信息,其他颜色的同样

既然CCD上存在这三种采样不同颜色灰度的像素点。。那么就存在着他们在CCD上如何排布的问题。实际上他们是交叉排布的如下图

上图可以看到,红色和蓝色点是一个隔一个。而绿色点则占了一整行~也就是说RGB三种颜色的点数量比是1:2:1为何呢,为何感应绿色的点特别多呢?

这是因为人对绿色信息特别敏感,所以刻意加多了绿色灰度数据的收集,这样做的目的是更好的为以后差值放大做准备

CCD如何得到这些颜色的灰度信息讲完了,我们回到图像上来,当你拍摄图像完毕后,得到的就是这些小型AD采样灰度值,也就是我们所说的相机原始图像信息,可以说是数码相机的底片。。在专业机器上,我们把这种数据输出的文件叫做RAW格式文件~~他存的就是这些颜色的灰度信息,当然RAW文件是将数据压缩过的。比理论文件大小要小一些

下面实际计算一下。。假设我们买了一台1200W像素的相机

也就是说,你的CCD上有1200W个感光点。。他们R,G,B感光点比值是1:2:1

也就是说这个最终生成的RAW文件包含300W个R(红色信息)灰度值,600W个G,300W个B (原文有误,林峰注~)

他的文件大小(不压缩)应该是8bit*1200W=96000000bit=96000000/8/1024/1024约等于11.444Mbytes(一个灰度值用一个8bit的数来表示所以要*8)

就是这个1200W像素相机最后生成一个未压缩的RAW格式文件应该是11M左右。。

然后,我们将这个RAW文件转换成普通格式文件(TIFF),有条件的朋友可以自己试验一下,看看它有多大

我们这里计算一下。。1200W像素的TIFF文件应该是多大。。

一个颜色计算机用一个24位的数来表示,这个我前面讲解过

那么他的文件大小应该是12,000,000*8bit*3=34.3323Mbtyes

也就是说一个只有11M的相机产生的图像文件最后转换以后变成了一个34M的图像文件。。中间没有任何压缩操作。。

那么他多出来的那将2倍的数据是哪里来的?

其实答案很简单,多出来的那么多信息由相机里的或者电脑上的CPU算出来的,这里就涉及到一个插值算法的问题

你想想,相机上的1个像素只是一个8位的数来表示,而你最终看到的图像一个像素是一个24位的数来表示的

CPU就负责插值算出这不足的16bit位。他怎么算的呢~当然这种算法是各个厂商高度保密的因为这将最终影响到输出jpg文件的图像质量

但大致上是通过这个像素周边的颜色灰度值来计算出这个点的RGB值,比如你这个点记录的是R的灰度,那么插值的时候程序就会去找这个像素点周边G和B点的值,这样可以为他补足他的24位做贡献

这样也从根本上解释了为何数码相机会有紫边?就是因为有这样一个插值算法存在,你才会在数码相机上看到紫边,所以紫边是镜头这个导因和插值算法最终导致了紫边的出现,所以紫边的罪魁祸首是插值算法

所以紫边产生的原因可以总结为三点相机镜头的色差、CCD成像的局限性、照片放大倍数

相关分词: CCD 成像 原理