【图像处理】ISP 图像传感器camera原理
1、Color Filter Array — CFA
随着数码相机、手机的普及,CCD/CMOS 图像传感器近年来得到广泛的关注和应用。 图像传感器一般都采用一定的模式来采集图像数据,常用的有 BGR 模式和 CFA 模式。BGR 模式是一种可直接进行显示和压缩等处理的图像数据模式,它由 R( 红)、G( 绿) 、B( 蓝) 三原色值来共同确定 1 个像素点,例如富士数码相机采用的 SUPER CCD 图像传感器就采用这种模式,其优点是图像传感器产生的图像数据无需插值就可直接进行显示等后续处理,图像效果最好,但是成本高,常用于专业相机中。一般数码相机的传感器(CCD 或 CMOS)约占整机总成本的 10%~25%,为了减少成本,缩小体积,市场上的数码相机大多采用 CFA 模式,即在像素阵列的表面覆盖一层彩色滤波阵列(Color Filter Array,CFA),彩色滤波阵列有多种,现在应用最广泛的是 Bayer 格式滤波阵列,满足 GRBG 规律,绿色像素数是红色或蓝色像素数的两倍,这是因为人眼对可见光光谱敏感度的峰值位于中波段,这正好对应着绿色光谱成分。
上图就是一个采用 CFA 模式的图像传感器,有效分辨率为 640 x 480,该模式图像数据只用 R、G、B 3个值中的1 个值来表示 1 个像素点。这样一来每个像素点只能捕获三基色 R,G,B 中的一个,而缺失另外两个颜色值,这时候得到的是一幅马赛克图像。为了得到全彩色的图像, 需要利用其周围像素点的色彩信息来估计出缺失的另外两种颜色, 这种处理叫作色彩插值,也称作彩色插值或去马赛克。
上图是一个8 x 8像素大小的 CFA 模式图像数据阵列,图中 1 个方格表示 1个像素,R、G、B 的数字下标表示其在 8 x 8 图像阵列中的位置。由于 CFA 模式所采用的图像颜色滤波阵列结构相对简单,并且所得到的图像数据仅仅是原始图像全部三原色信息的1 / 3 的数据,因此成本较低。但是,上图中的 CFA 模式图像数据与 BGR 模式的图像数据相比,缺少了 2 / 3 的图像颜色信息,所以要对 CFA 模式图像数据进行显示、压缩等后续处理,就需要事先对其进行插值运算,恢复CFA 模式图像数据所缺少的2 / 3 颜色信息,从而将 CFA 模式图像数据重建为与 BGR 模式图像相匹配的图像数据。比较常见的是双线性插值算法:该算法在对一个像素点的某颜色值进行插值运算时,会用该像素相邻像素点对应颜色值通过算数平均来估计。
2、图像去噪
在图像的采集和传输过程中,图像质量经常受到各种噪声的影响而下降。由于采集和各种元器件容易受到强干扰会产生脉冲噪声,由于照明不稳定,镜头灰尘以及非线性的信道传输引起的图像退化都会产生不同种类的噪声其主要影响人的视觉效果,使人难以辨认图像的某些细节,另外噪声给一些图像处理算法带来严重影响,例如梯度算子,由于一些与对象无关点的引入,使得无用信息的使用造成更加严重的后果,干扰了图像的可观测的信息。这里讨论的噪声仅仅局限在图像传感器获取图像数据时的噪声污染,由于这时候的数据量较少,噪声直接影响后面的插值算法,并使图像的细节无法体现,既影响图像的插值效果,也影响人的视觉感受。因此在图像处理中噪声的去除是一项非常重要的环节。
3、自动聚焦
自动聚焦目的是获得清晰度更高得图像。常用的聚焦方法分两类,一类是传统的聚焦方法,一种是基于数字图像处理方式的图像聚焦方法。传统的方式中,自动聚焦通过红外线或者超生波测距的方式来实现。这种方式需要安装发射机和接收机,增加了摄像机的成本,而且超声波对于玻璃后面的被摄物体不能很好的自动聚焦。这一类聚焦方式在某些场合受到了限制。因此在日趋集成化、微型化、低成本的应用中,基于数字图像处理的自动聚焦方法更具有优势。
根据镜头成像分析,镜头的光学传递函数可以近似为高斯函数,它的作用等效为一个低通滤波器。离焦量越大,光学传递函数的截止频率越低。从频域上看,离焦量增大,对图像高频能量造成损失,使得图像的细节逐渐模糊。从空域上看,离焦量增大,点光源成像的光强分布函数越分散,可分辨的成像间距越大,图像相邻像素互相重叠,图像细节损失严重。因此图像清晰度评价函数时建立在图像边缘高频能量上的。
数字处理方法中,自动聚焦的关键在于构造图像的清晰度评价函数。己经提出的图像清晰度评价函数苞括灰度方差、梯度能量、嫡函数和一些频域函数法。图像清晰度评价函数必须具有良好的单峰性和尖锐性,而且要计算量适度,从而可以快速的实现精准对焦。
4、自动曝光
曝光是用来计算从景物到达相机的光通量大小的物理量。图像传感器只有获得正确的曝光,才能得到高质量的照片。曝光过度,图像看起来太亮曝光不足,则图像看起来太暗。到达传感器的光通量的大小主要由两方面因素决定:曝光时间的长短以及光圈的大小。
利用光圈进行自动曝光,主要根据所拍摄的场景来控制光圈大小,使得进光量维持在一定范围内。通过光圈进行曝光控制的成本比较高。现在市场所见的中低端摄像头采用的主流技术通过调整曝光时间来实现自动曝光。
目前自动曝光控制算法方法有两种,一种是使用参照亮度值,将图像均匀分成许多的子图像,每一块子图像的亮度被用来设置参照亮度值,这个亮度值可以通过设置快门的速度来获得。另外一种方法是,通过研究不同光照条件下的亮度与曝光值之间的关系来进行曝光控制。这两种方法都是研究了大量的图像例子和许多不同的光照条件。而且均需要在不同的光照条件下所采集的图像数据库。实际中自动曝光研究需要解决好以下几个问题,首先是判定图像是否需要自动曝光,其次是自动曝光时,如何调整光电转换后数字信号来找出自动曝光能力补偿函数,最后就是调整到什么程度最为合适。
5、伽马校正
在视频采集显示系统中,光电转换(CCD/CMOS)和电光转换(CRT/LCD)的器件的转换特性都是非线性的。这些非线性期间都存在一个能反映各自特性的幂函数,用它来衡量非线性器件的转换特性。这种特性称为伽玛特性,在视频中由于伽玛特性的存在,会导致图像信号的亮度失真,降低通信质量,影响用户体验。因此要对这个失真进行补偿,即伽玛校正。
光电转换器特性的非线性会引起图像非线性失真,图像的非线性失真主要表现在灰度的失真,即图像亮度层次的压缩与扩张,其图像表征为看起来被漂白或者太暗。摄像机/摄像头的伽玛特性大小一般为0.4 - 0.7,显示器的伽玛特性大小一般在1.3 - 2.5之间。
伽玛校正的具体实现方法多种多样,较简单的实现方式是查表法。伽玛校正分两步。首先建立适合所用器件的伽玛校正表,然后根据输入的像素值查表获得伽玛校正后的数据。
6、白平衡
白平衡,字面上的理解是白色的平衡。用色彩学的知识解释,白色是指反射到人眼中的光线由于蓝、绿、红三种色光比例相同且具有一定的亮度所形成的视觉反应。白色光是由赤、橙、黄、绿、青、蓝、紫七种色光组成的,而这七种色光又是有红、绿、蓝三原色按不同比例混合形成,当一种光线中的三原色成分比例相同的时候,习惯上人们称之为消色,黑、白、灰、金和银所反射的光都是消色。通俗的理解白色是不含有色彩成份的亮度。人眼所见到的白色或其他颜色根物体本身的固有色、光源的色温、物体的反射或透射特性、人眼的视觉感应等诸多因素有关,举个简单的例子,当有色光照射到消色物体时,物体反射光颜色与入射光颜色相同,既红光照射下白色物体呈红色,两种以上有色光同时照射到消色物体上时,物体颜色呈加色法效应,如红光和绿光同时照射白色物体,该物体就呈黄色。当有色光照射到有色物体上时,物体的颜色呈减色法效应。如黄色物体在品红光照射下呈现红色,在青色光照射下呈现绿色,在蓝色光照射下呈现灰色或黑色。
由于人眼具有独特的适应性,有时候不能发现色温的变化。比如在钨丝灯下呆久了,并不会觉得钨丝灯下的白纸偏红,如果突然把日光灯改为钨丝灯照明,就会觉查到白纸的颜色偏红了,但这种感觉也只能够持续一会儿。摄像头并不能像人眼那样具有适应性,所以如果摄像机的色彩调整同景物照明的色温不一致就会发生偏色。白平衡就是针对不同色温条件下,通过调摄像头内部的色彩电路使拍摄出来的影像抵消偏色,更接近人眼的视觉习惯。白平衡也可以简单地理解为在任意色温条件下,摄像头所拍摄的标准白色经过电路的调整,使之成像后仍然为白色。
7、颜色空间
颜色空间也称彩色模型(又称彩色空间或彩色系统),它的用途是在某些标准下用通常可接受的方式对彩色加以说明。本质上,彩色模型是坐标系统和子空间的阐述。位于系统的每种颜色都有单个点表示。 在彩色图像处理中,选择合适的彩色模型是很重要的。从应用的角度来看,人们提出的众多彩色模型可以分为两类。一类面向诸如彩色显示器或彩色打印机之类的硬设备(但可以与具体设备相关,也可以独立于具体设备),比如 RFB、CMY、YUV 模型。另一类面向视觉感知或者说以彩色处理分析为目的的应用,如动画中的彩色图形,各种图像处理的算法等,像 HSI、HSV 模型等。
8、YUV 颜色空间
亮度信号(Y)和色度信号(U,V)是相互独立的,也就是Y信号分量构成的黑白灰度图与用U,V信号构成的另外两幅单色图是相互独立的。由于Y,U,V是独立的,所以可以对这些单色图分别进行编码。黑白电视机能够接收彩色电视信号也就是利用了YUV分量之间的独立性。采用 YUV 颜色空间的好处在于人眼对彩色图象细节的分辨本领比对黑白图象低,因此,对色差信号, U、V,可以采用“大面积着色原理”。即用亮度信号Y 传送细节,用色差信号U、V 进行大面积涂色。因此,彩色信号的清晰度由亮度信号的带宽保证,而把色差信号的带宽变窄。正是由于这个原因,在多媒体计算机中,采用了 YUV 彩色空间,数字化的表示,通常采用Y:U:V = 8:4:4, 或者 Y:U:V = 8:2:2。例如8:2:2具体的做法是:对亮度信号Y,每个像素都用8位2进制数表示(可以有256级亮度),而U、V 色差信号每4个像素点用一个8位数表示,即画面的粒子变粗,但这样能够节约存储空间,将一个像素用24位表示压缩为用12位表示,节约 1/2 存储空间,而人的眼睛基本上感觉不出这种细节的损失,这实际上也是图像压缩技术的一种方法。
YUV格式通常有两大类:打包(packed)格式和平面(planar)格式。前者将YUV分量存放在同一个数组中,通常是几个相邻的像素组成一个宏像素(macro-pixel);而后者使用三个数组分开存放YUV三个分量,就像是一个三维平面一样。
9、图像缩放
图像缩放(Scaler)技术,也称图像尺度转换、图像重采样和图像分辨率转换技术,是视频图像处理中的关键技术,广泛应用于实现 FPD 图像分辨率转换。例如,高清晰度数字电视接收到 NTSC 或 PAL 格式的标准清晰度数字电视信号后需转换成 HDTV(1920×1080)格式,才能在 HDTV 的电视上显示;另外,等离子(PDP)电视、TFT-LCD 电视等逐行显示器,须提升接收到的图像分辨率使之和液晶显示屏的物理分辨率一致,才能在终端上显示出视频图像;因此,Scaler 性能的优劣,将直接决定显示器图像的质量。
图像缩放可理解为图像的重采样过程,关键在于用连续模型函数来拟合原始离散图像,在求得连续模型参数后,根据所需缩放倍率对此连续图像进行重采样,得到符合目标分辨率的离散图像。数字图像重采样的本质是对离散图像点进行插值的过程。根据采样/重建理论,理想的插值核为 sinc 函数,但在物理上是不可实现的。通常的插值核函数都是采用近似于 sinc 函数的有限宽度插值函数。最近邻域法是最简单的缩放算法,但会使处理后的图像产生明显的锯齿形边缘和马赛克效应。双线性插值法虽然能解决最近邻域法所存在的问题,但却容易造成图像边缘的模糊。作为改进,又提出了加窗 sinc 核函数,从而得到了高次插值算法,如立方插值、高次样条插值等。
【图像处理】ISP 图像传感器camera原理的更多相关文章
- Atitit 图像处理 深刻理解梯度原理计算.v1 qc8
Atitit 图像处理 深刻理解梯度原理计算.v1 qc8 1.1. 图像处理 梯度计算 基本梯度 内部梯度 外部梯度 方向梯度1 2. 图像梯度就是图像边缘吗?2 1.1. 图像处理 梯度计算 ...
- 图像处理中的数学原理具体解释21——PCA实例与图像编码
欢迎关注我的博客专栏"图像处理中的数学原理具体解释" 全文文件夹请见 图像处理中的数学原理具体解释(总纲) http://blog.csdn.net/baimafujinji/ar ...
- 图像处理中的数学原理具体解释20——主成分变换(PCA)
欢迎关注我的博客专栏"图像处理中的数学原理具体解释" 全文文件夹请见 图像处理中的数学原理具体解释(总纲) http://blog.csdn.net/baimafujinji/ar ...
- 【VS开发】【图像处理】ISP图像传感器处理器基础
1 前言 做为拍照手机的核心模块之一,camera sensor效果的调整,涉及到众多的参数,如果对基本的光学原理及sensor软/硬件对图像处理的原理能有深入的理解和把握的话,对我们的 ...
- camera原理
1)Color Filter Array---CFA 图像传感器都采用一定的模式来采集图像数据,常用的有 BGR 模式和 CFA 模式.BGR 模式是一种可直接进行显示和压缩等处理的图像数据模式,它 ...
- Camera光学、成像和 3A 算法 (视觉),camera开发
简单介绍 转载:https://blog.csdn.net/ShareUs/article/details/94295628 成像与光学.计算机视觉,图像处理,数字成像.自动驾驶与视觉. 镜头设计:人 ...
- qualcomm platform camera porting
转载自http://www.cnblogs.com/thjfk/p/4086001.html camera基本代码架构 Camera原理:外部光线穿过lens后,经过color filter滤波后照射 ...
- PCA原理解释
上图讲述的两组数据,可以看到左图的数据离散度比较大,相关性比较弱,右图数据的相关性比较强:我们在使用PCA的时候,就是要将相关性强的数据进行降维,以减少处理的数据量. 那么怎么描述数据的相关性呢? ...
- 基于Opencv的简单图像处理
实验环境 本实验均在笔记本电脑完成,电脑的配置如表1所示: 系统 Windows 10 家庭版 处理器 英特尔 Core i5-6200 @ 2.30GHz 双核 主板 宏碁 Zoro_SL 内存 1 ...
随机推荐
- G面经prepare: Straight Partition of A Deck of Cards
Define “Straight” as 5 cards with consecutive numbers. Determine if the deck can be fully divided in ...
- poj: 1207
好吧这题竟然还有先大后小的可能,能不这么恶心下吗.. #include <iostream> #include <stdio.h> #include <string.h& ...
- android开发之如何使TabHost的TabWidget位于屏幕下方
更改TabHost里的第一个LinearLayout为RelativeLayout.并在TabWidget中添加android:layout_alignParentBottom="true& ...
- eclipse的debug模式启动缓慢
这个问题可能是由于eclipse和服务器的交互而产生的,在以debug模式启动服务器时,发生了读取文件错误,eclipse自动设置了断点,导致服务器不能正常启动. 解决方法如下:以debug模式启 ...
- [Ubuntu] 转载-使用Ubuntu修复grub
原文地址:http://fav.coketea.com/article_show.php?id=1 步骤一.以试用方式进入ubuntu光盘系统,打开终端(快捷键ctrl+alt+t): 步骤二.获取r ...
- [div+css]竖排菜单
} #box{ width:120px; font-size: 12px; font- ...
- 《聚焦3D地形编程》学习点
痞子龙的译本虽然称不上好,但却保留了原汁原味,看这本书时最好结合原文与痞子龙的译文.另外,如果有过地形生成的经验再看这本书时有些帮助,这本书介绍的专业的室外地形开发,很全面的介绍. 仅是个人总结,可能 ...
- OpenCV 简介
自版本OpenCV2.2开始,OpenCV库便被划分为多个模块.这些模块编译成库文件后,位于lib文件夹中. opencv_core模块,包含核心功能,尤其是底层数据结构和算法函数. opencv_i ...
- jquery plugins
jQuery官网插件 jQuery自定义滚动条样式插件 jQuery custom content scroller examples Twitter typeahead typeahead.js t ...
- org.hibernate.MappingException: Unknown entity常见问题。回顾笔记,以前没记,现在补上,xiaochao写的蛮好的直接给转载了。
转自http://www.blogjava.net/xiaochao/articles/hibernatetopic.html. 官方说明如下: Hibernate遵循EJB3.0实体bean的注解规 ...