数码相机图像处理原理
现在的数码机都是采用CCD(电荷耦合元件)或CMOS感光器件一这些感光器件都是将光信号转化为电信号,但两者的转换方式不一样。
在CCD器件中一有几百万的感光像素(Pixel)组成的阵列覆盖在传感器的表面。曝光后,整个CCD像素阵列上累积的电荷通过一定的时序,列队从CCD传感器的一个端口读出,并通过一个专用模数转换芯片进行A/D转换。CMOS则直接对每个像素的曝光量进行A/D转换。然而,CMOS的缺点就是感光度比CCD低,容易出现杂讯,这主要是因为CMOS的每一像素的结构要比CCD复杂,CMOS的感光开口不及CCD大,并且CMOS每个像素旁都搭配一个ADC放大器,(每个放大器都是有轻微的差异),对比单一放大器的CCD,CMOS计算出来的噪声要比较多。但CMOS相对于CCD的优势在于成本低,耗电少,电路较简单。基于上述的优缺点,CMOS应用在数码相机的低端产品,CCD用在数码相机的中高档产品。
CMOS传感器通常以RGB或YcbCr格式输出像素单元的并行数据,伴随水平和垂直同步以及一个像素时钟,有时也可以使用外部时钟和同步信号来控制CMOS传感器图像帧的输出。
CCD传感器则不同,输出为模拟信号,需要一个专用芯片(含A/D转换器,时序发生器,垂直发生器),例如LR38667,AD9943,它可处理模拟信号,将其A/D转换和产生CCD阵列所需的适当时序。A/D转换器输出为每个像素的10位或12位并行数据,也伴随水平和垂直同步以及像素时钟。
当然,图像的捕获过程不会在传感器结束,相反,这一过程才刚刚开始。让我们看一下原始图像(RAW data)在变成显示器或其他输出设备的精美图像之前要经过那些环节。在数码相机中,这些处理环节被成为“图像处理通道”。图3给出了一个可能的流程。这些算法通常由专用的DSP来处理。例如ATMEL 公司的AT76C113,此DSP含自动测光,自动对焦,自动白平衡。
对焦和测光系统
在你按相机的按制时,相机进行自动测光和自动对焦,自动对焦,DSP根据事先预设的区域,控制镜头作动,不断运算,得出镜头的最清晰点,从而控制镜头到清晰点位置。自动测光,测量预先设定区域的亮度,通过调节快门速度或光圈大小来对曝光过度或曝光不足区域进行补偿,其主要目标是维持图像中不同区域之间的相对对比度,并达到要求的平均亮度。
图像坏点补点(图像预处理)
传感器是高度精密的元器件,由于制造艺等因素的影响,通常含有一些
缺陷像素,所以,一般的图像补点处理技术通过中值滤波来消除。这种技术依赖于这样的事实,即像素间的急剧变化是不正常,因为光学过程只能稍微使图像变得不清楚。图5为补偿缺陷像素的方法。
白平衡(图像预处理)
当我们看到一幅场景时,无论光线条件如何,我们的眼睛都能将场景内的所有事物都转换成同样的一套自然色彩。但图像传感器对颜色的“感知”很大程度上取决于光线条件,因此它需要映射其获得的图像,使最终输出看起来不受光线的影响。这种图像映射可通过手动或自动完成。如图6为传感器出来的原始图片,通过对传感器输出的红,绿,蓝的像素数据乘以不同的倍数进行校正,使出来的颜色同人眼感觉一致。
预处理还有一个镜头校正(阴影或畸变),这套算法解决了输出图像和与用户看到实际场景之间偏差的镜头的物理属性问题。不同的镜头会产生不同的畸变。例如:镜头的阴影畸变减低了镜头周围区域的亮度,色差失常会使图像周围出现色彩版纹,因此DSP要对图像进行数学变换,以校正畸变。
去马赛克,像素内插,降噪以及边缘锐化
去马赛克可能是图像处理管道中最重要且运算量最大的操作。通常各个厂商都有自己的方法。但一般来说可归纳为几类主要的算法。
双线性插值或双三插值等非自适应算法属于最简单易行的方法,非常适合图像的平滑区域。但用这些算法处理边缘或纹理丰富的区域会出现问题,那些可根据局部图像特点进行调整的自适应算法可以提供更好的处理纹理。
自适应算法的一个例子是基于边缘导向的重构,这种算法分析像素的区域并确定在那个方向内插。如果它在像素周围附近找到边缘,则顺着边缘进行插值,而不是横过边缘。另一种自适应算法是假设整个对象有一个恒定色掉,这就可以防止在个别对象中出现的颜色梯队的突变。还有许多的去马赛克方法,包括频域分析,神经元等。
颜色转换
在这一阶段,内插后的RGB图像转换到目标输出空间,为了压缩或在LCD,TV显示图像,通常要进行RGB到Yuv(YcbCr)的矩阵转换,这往往还包括另外的伽码校正以适应目标显示。在这一阶段可能还要按照标准4:2:2格式对Yuv(YcbCr)输出进行颜色浓度二次采样,以减少颜色带宽,从而不会影响视觉效果。
后处理
在这一阶段,图像在送到显示器或存储媒介之前通过各种滤波操作得到完善。例如:边缘增强,降低噪声以及人工颜色的消除都在此一阶段完成。
显示压缩和存储
一旦图像准备好用于显示,图像管道就会向两个不同的分叉,在第一个分叉,处理好的图像输出到目标显示器,通常是LCD或TV。在第二个分叉图像被送到DSP的压缩算法,在这里先用工业标准的压缩技术(如JPEG)进行压缩,然后再将图像送到本地的一些存储器介质(通常是一个非易失的闪存卡,如SD卡CF卡)。
参考文献:
1.AT76C113 Datasheet.Atmel Corpora-tion,2002
2.LR38667 Datasheet.Sharp Corpora-tion,2004
注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”
上个月(11月13日),83岁的柯达公司退休工程师布赖斯·拜尔(Bryce Bayer)去世。
一家国内杂志邀请我写纪念文章,回顾他对数码摄影的巨大贡献。
我看了一些材料,觉得这个题材很有意思,涉及数码相机的成像原理,使我对数字图像技术有了新的认识。但是,由于体例限制,杂志不允许我插入彩图。
下面,我把我的那篇文章配上图片,解释彩色数码照片是怎么拍出来的。
1.
为了更好地理解原理,让我们从照片的起源讲起。1825年,法国人涅普斯(Joseph Nicéphore Nièpce),拍出历史上第一张照片。
2.
他采用的感光剂是氯化银(silver chloride)。当光线照射氯化银,后者会分解成纯银和氯气,银金属颗粒呈现黑色。因此,底片颜色越深代表光线越强,颜色越浅代表光线越弱。黑白照片就是这样拍出来。
3.
19世纪中期,人们发现,人眼的圆锥细胞对三种颜色----红、绿、蓝----特别敏感。伟大的英国物理学家麦克斯韦因此假设,红绿蓝作为基色,可以拍出彩色照片。
4.
1861年,在麦克斯韦的指导下,人类的第一张彩色照片诞生了。
采用的方法是在镜头前,分别用红丝带、绿丝带、蓝丝带过滤光线,曝光形成三张底片,然后用三部放映机向同一处投影这三张底片,每部放映机的镜头前都拧上对应颜色的镜头,它们的合成效果就是一张彩照。
5.
真正意义上的彩色胶卷,1933年诞生于柯达公司,底片之上依次有三个感光层,分别对红、绿、蓝三种颜色进行曝光,最后叠加形成一张彩色底片。
6.
二战后,计算机诞生,科学家发现图像可以用数字形式表示。如果将光信号转变成电信号,就可以直接拍出数码照片。这意味着,照相机不再需要胶卷,而是需要一个图像传感器(image sensor)。
7.
图像传感器将光线转化成电流,光线越亮,电流的数值就越大;光线越暗,电流的数值就越小。所以,如果用0到255的范围,表示光线的亮度,最亮的光线是白光,数值是十六进制的FF,最暗的光线是黑光(没有光),数值是十六进制的00。
8.
图像传感器的表面,分成若干个捕捉点,每个点都会产生一个数值,表示该点感受到的光线亮度,这就叫做"像素"。像素越多,图像细节就越丰富。如果一台相机的像素是1600x1200,就说明图像传感器横向有1600个捕捉点,纵向有1200个,合计192万个。
9.
但是,图像传感器有一个很严重的缺陷:它只能感受光的强弱,无法感受光的波长。由于光的颜色由波长决定,所以图像传播器无法记录颜色,也就是说,它只能拍黑白照片,这肯定是不能接受的。
10.
一种解决方案是照相机内置三个图像传感器,分别记录红、绿、蓝三种颜色,然后再将这三个值合并。这种方法能产生最准确的颜色信息,但是成本太高,无法投入实用。
11.
1974年,柯达公司的工程师布赖斯·拜尔提出了一个全新方案,只用一块图像传感器,就解决了颜色的识别。他的做法是在图像传感器前面,设置一个滤光层(Color filter array),上面布满了滤光点,与下层的像素一一对应。也就是说,如果传感器是1600x1200像素,那么它的上层就有1600x1200个滤光点。
12.
每个滤光点只能通过红、绿、蓝之中的一种颜色,这意味着在它下层的像素点只可能有四种颜色:红、绿、蓝、黑(表示没有任何光通过)。
13.
不同颜色的滤光点的排列是有规律的:每个绿点的四周,分布着2个红点、2个蓝点、4个绿点。这意味着,整体上,绿点的数量是其他两种颜色点的两倍。这是因为研究显示人眼对绿色最敏感,所以滤光层的绿点最多。
14.
接下来的问题就是,如果一个像素只可能有四种颜色,那么怎么能拍出彩色照片呢?这就是布赖斯·拜尔聪明的地方,前面说了,每个滤光点周围有规律地分布其他颜色的滤光点,那么就有可能结合它们的值,判断出光线本来的颜色。以黄光为例,它由红光和绿光混合而成,那么通过滤光层以后,红点和绿点下面的像素都会有值,但是蓝点下面的像素没有值,因此看一个像素周围的颜色分布----有红色和绿色,但是没有蓝色----就可以推测出来这个像素点的本来颜色应该是黄色。
15.
这种计算颜色的方法,就叫做"去马赛克"(demosaicing)。上图的下半部分是图像传感器生成的"马赛克"图像,所有的像素只有红、绿、蓝、黑四种颜色;上半部分是"去马赛克"后的效果,这是用算法处理的结果。
16.
虽然,每个像素的颜色都是算出来的,并不是真正的值,但是由于计算的结果相当准确,因此这种做法得到广泛应用。目前,绝大部分的数码相机都采用它,来生成彩色数码照片。高级的数码相机,还提供未经算法处理的原始马赛克图像,这就是raw格式(raw image format)。
为了纪念发明者布赖斯·拜尔,它被称作"拜尔模式"或"拜尔滤光法" (Bayer filter)。
(完)
数码相机图像处理原理相关推荐
- 图像scale与相机参数_Camera图像处理原理及实例分析
Camera图像处理原理及实例分析 做为拍照手机的核心模块之一,camera sensor 效果的调整,涉及到众多的参数,如果对 基本的光学原理及 sensor 软/硬件对图像处理的原理能有深入的理解 ...
- 《数字图像处理原理与实践(MATLAB版)》一书之代码Part3
本文系<数字图像处理原理与实践(MATLAB版)>一书之代码系列的Part3,辑录该书第135至第184页之代码,供有需要读者下载研究使用.代码执行结果请参见原书配图. --------- ...
- TIT 数字图像处理 原理与实践(MATLAB) 入门教学 实验一 常用的MATLAB图像处理命令与图像基本操作
文章目录 数字图像处理 原理与实践(MATLAB) 入门教学 实验一 常用的MATLAB图像处理命令与图像基本操作 实验要求 知识点 实验内容 1.读入一幅RGB图像,变换为灰度图像和二值图像,并在同 ...
- 计算机数学方法记录图像原理,图像处理原理技术与算法
<图像处理原理技术与算法>是2001年浙江大学出版社出版的图书. 中文名 图像处理原理技术与算法 ISBN: 7308027775 条形码: 9787308027779 尺寸: 25.4 ...
- 数字图像处理原理与实践(MATLAB版)勘误表
本文系<数字图像处理原理与实践(MATLAB版)>一书的勘误表. [内容简介]本书全面系统地介绍了数字图像处理技术的理论与方法,内容涉及几何变换.灰度变换.图像增强.图像分割.图像去噪.小 ...
- TIT 数字图像处理 原理与实践(MATLAB) 入门教学 实验三 图像平滑与图像锐化
文章目录 数字图像处理 原理与实践(MATLAB) 入门教学 实验三 图像平滑与图像锐化 实验要求 知识点 实验内容 1.采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波,窗口分别采用3 ...
- 【图像处理】数码相机工作原理完整解析
在过去二十年里,消费电子产品的大多数重要技术突破实际上可归结于一项更大意义上的科技革命.仔细观察就会发现,CD.DVD.高清电视.MP3和DVR其实都是基于相同的原理,即:将传统的模拟信息转变为数字信 ...
- 转一篇写的比较好的camera文档[Camera 图像处理原理分析]
色彩篇(一) 1 前言 做为拍照手机的核心模块之一,camera sensor效果的调整,涉及到众多的参数,如果对基本的光学原理及sensor软/硬件对图像处理的原理能有深入的理解和把 ...
- Camera 图像处理原理分析
http://blog.chinaunix.net/uid-24486720-id-370942.html 1 前言 做为拍照手机的核心模块之一,camera sensor效果的调整, ...
最新文章
- Win 10 源码一览:0.5T 代码、400 万文件、50 万文件夹
- 《科学+ 预见人工智能》——“工具”本质,理性批判
- 个人博客建站方案推荐
- 新加坡国立计算机硕士转专业,新加坡国立大学计算机硕士专业如何?
- centos7 dotnet command not found
- java 中的匿名内部类
- 无损连接性、保持函数依赖1
- 让simplejson支持datetime类型的序列化
- android 请求https请求,Android 实现 HttpClient 请求Https
- 百度网盘该坐不住了,迅雷11内测版,不限速2T云盘免费送!
- Project免费视频教程来了
- sublime text3 3207 下载安装破解
- matlab矩阵的白化,白化原理及Matlab实现
- 数字舵机c语言编程,舵机入门
- 京东app秒杀接口sk参数分析
- ASEMI整流桥ABS210参数,ABS210规格书,ABS210特征
- 考研公共部分科目分支分布以及计算机408分值分布
- java.sql.SQLException: 批处理中出现错误: batch must be either executed or cleared
- 社会工程学之信息刺探
- PPT地图 - 动态显示省份扩散效果