1 拍照成像流程(专业词汇单位)
Camera理论基础和工作原理
光线通过镜头Lens进入摄像头内部,然后经过IR Filter过滤红外光,最后到达sensor(传感器),senor分为按照材质可以分为CMOS和CCD两种,可以将光学信号转换为电信号,再通过内部的ADC电路转换为数字信号,然后传输给DSP(如果有的话,如果没有则以DVP的方式传送数据到基带芯片baseband,此时的数据格式Raw Data,后面进行加工处理,转换成RGB、YUV等格式输出。具体分析可见此博文:
https://www.cnblogs.com/fjutacm/p/220631977df995512d136e4dbd411951.html
ISP,Image Signal Processor,图像信号处理器;
DSP,Data Signal Processor,数字信号处理器;
ISP,Image Sensor Processor(图像传感器处理器);
ISP(Image Sensor Processor)包含DSP,DSP包含ISP(Image Signal Processor)。
图像处理芯片 DSP:它的作用是将感光芯片获得的数据及时地快速地传递到中央处理器并刷新感光芯片,进入DSP的数据是RAW Data,采集到的原始数据。如果集成了DSP,则RAW Data会经过AWB、color matrix、lens shading、gamma、sharpness、AE和de-noise处理,最终输出YUV或者RGB格式的数据。
ISP一般用来处理Image Sensor(图像传感器)的输出数据,如进行:AEC(自动曝光控制)、AGC(自动增益控制)、AWB(自动白平衡)、色彩校正、Gamma校正、祛除坏点、Auto Black Level、Auto White Level 等等功能的处理。(这里认为ISP是一类特殊的处理图像信号的DSP)。
2 RAW数据处理流程:
‘ 传感器输出的RAW数据是原始的数据,即传感器直接记录的、与照度成线性关系的第一手数据。
整个RAW数据到显示在我们面前的数据需要经过下面主要的几个步骤:
1 线性处理:出于节省数据存储空间的目的,一些厂商(例如尼康和索尼)的 Raw Data 并不完全与像素点上的照度呈线性关系,而是会在编码上做一些处理,比如非线性压缩等,因此我们得到可能不是线性图像(例如Nikon cameras,反之Canon cameras,),如果不是线性数据,则自己归一化处理就行。
如果采用DNG(RAW格式统一转换的一个软件),则需要自己进行线性处理,此时,如果该厂商的图像进行了压缩,则对应得到的meta info含有LinearizationTable,我们需要处理一些,反之没有,如果采用Dcraw(一个专门处理RAW数据的开源工具),-4表示已经进行线性处理了,当然如果没有非线性压缩,图像还是存在偏移和尺度缩放的问题,还是需要进行线性化处理。( DNG会将Raw数据的结构统一)
adobe_coeff
函数下可以找到大量相机的转换关系。对于大部分处于研究目的的图像处理流程,这一步不建议执行。在这一步之前,我们得到的图像仍然是与拍摄场景呈线性的,要想正常被看见,需要进行伽马校正得到非线性的数据,以及进行亮度校正,方便看见。
具体细节看见看http://www.rcsumner.net/raw_guide/
DNG:Adobe DNG Converter
DCRAW: http://www.cybercom.net/~dcoffin/dcraw/
UFRaw
https://sites.google.com/site/ufrawzh/zwjc/yhsc
DCRAW 可视化操作工具
源码自己编译源码,不要用windows的EXE
http://www.cybercom.net/~dcoffin/dcraw/archive/