您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > 数码相机CCD成像原理简析
数码相机CCD成像原理简析2007年04月21日星期六下午11:27大家知道,世界万千的色彩,可以用三种来最终表述。红色绿色和蓝色,这里我们一般用英文的首字母来表示分别为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成像原理简析
链接地址:https://www.777doc.com/doc-4641344 .html