摄像头是如何获取彩色图片的?先和大家说下cmos图像传感器的工作原理。下图是一个cmos传感器典型电路,4t-aps电路图。该电路实现了光电信号的转换,捕捉到外部的图像信息。
接下来我们带大家简单认识下这个电路。
下图红色圈起来的部分是pd(光电二极管),作用实现光电转换。它的基本原理就是通过光子激发,使硅中的电子产生跃迁,形成光电转换。
下图红色圈起来的部分是fd(浮置扩散区),fd类似一个电容,他的作用是存储pd产生的电子。tg是控制pd电子传输到fd的开关。
下图红色圈起来的部分是reset信号,他的作用是清空fd中的残留电子。
下图红色圈起来的部分是源随器rs,用来控制浮置扩散区的电子传输到信号线的开关。
我们看看4t-aps 电路的工作过程。
首先光照在pd上进行曝光。pd上积累电子。
第二步打开reset,清空fd上的残留电子,pd继续曝光。
第三步,关掉reset,关掉rs,打开tg。让电子传输到fd中。
第四步,关掉tg,打开rs,将光电转换信息传送到信号线上,完成一个图像像素的一次采集。
从上面的过程中我们可以看到,cmos传感器能够采集到光线的强度。通过将cmos传感器排布成阵列,不同位置采集到的光线强度不同,就可以获取图像信息。但是由于cmos传感器只能采集强度信息,无法采集到色彩信息,如果我们不对来源的光线进行特殊处理,那么我们获取的是黑白图片。
怎么获取彩色图片呢?我们知道色彩是由红,绿,蓝三种基色组成,假如我们每个cmos传感器只采集一种基色的光,最后拼接起来不就是彩色的?
想法有了,我们能不能在一个像素点布局三个cmos传感器分别采集三种颜色的光?这在物理结构上非常难实现。我们退而求其次,用相邻的像素点采集不同的颜色,然后通过图像算法恢复每个像素点的不同颜色的分量。现在的问题变成如何在不同的像素点采集不同颜色的光。
1976年伊士曼·柯达公司的科学家bryce bayer发明了拜耳滤色器(bayer filter)。拜耳滤色器(bayer filter)是一种将rgb滤色器排列在光传感组件方格之上所形成的马赛克彩色滤色阵列,实现不同像素点采集不同颜色的光。
下面是一张相机获取图像的示意图。场景的光线通过摄像头聚焦后送到滤色器,经过滤色后送到图像传感器。最终获取每个像素点唯一色彩的图像原始数据。
根据不同的颜色滤镜阵列排布,获取的原始数据有四种排列格式。由于人眼对绿光比较敏感,所以bayer在发明滤色器时使用两倍于红色或蓝色的绿色组件来模仿人眼的生理性质。
根据不同的颜色阵列的排布,上面bayer格式分为bggr,gbrg,grbg,rggb四种格式。
cmos 图像传感器获取的原始数据不是真彩图。如果我们硬要显示原始数据的图片,大概是下面的效果。
如何获取真彩图?下面需要isp里面的demosaicing处理。其思想是从相邻的像素中通过插值的方法补全每个像素的r,g,b 分量。
在传统的isp中有很多算法可以来做这个插值,包括最近邻域法,bilinear 插值,cubic 插值等
在处芯积律soc v2.0的项目里面,我们采用了hibbard原理的边缘检测和色差的cfa插值法。其基本思想是在图片的小平滑区域内,色差恒定。假设像素点p(i,j)邻近的一个像素点是p(m,n)则有:
我们现在以bggr格式的bayer 数据为例。
bggr的格式大概如下面格式
假设我们采集到的数据是下面格式
我们首先计算各个像素点的绿色分量,g23这个点的绿色分量就是cmos传感器采集到的值。g33这个点的绿色分量怎么计算?,由于g32,g34,g23,g43的值都有,可以采用下面这种方式。
diffa= abs(g32 - g34)
diffb= abs(g23 - g43)
g33 = (g32 + g34) / 2, 当(diffa diffb) 水平方向差值较大,取垂直方向均值
g33 = (g32 + g34 + g23 + g43) / 4, 当(diffa == diffb) 差值一样大,取均值
通过类似的方法,我们可以算出图像中大部分像素的g分量。
然后我们计算r分量。我们观察离r33最近的r值有r22,r24,r42,r44。
根据色差恒定原理
r22-g22=r33-g33,r24-g24=r33-g33,r42-g42=r33-g33,r44-g44=r33-g33。
由此我们可以得出 r22+r24+r42+r44-g22-g24-g42-g44=4(r33-g33);
最终可以计算出r33 为:
r33= g33 + (r22 + r24 + r42 + r44) / 4 - (g22 + g24 + g42 + g44) / 4
类似的我们计算r34,最邻近的r值是r24,r44。通过色差恒定原理可以计算出
r34= g34 + (r24 + r44) / 2 - (g24 + g44) / 2
b分量也采用类似的方法计算出来。如b34,邻近b34的b分量是b33,b35。通过色差恒定原理可以计算出
b34= g34 + (b33 + b35) / 2 - (g33 + g35) / 2
用上述方法,我们可以恢复每个像素点的r,g,b分量从而获取全彩图。
在采集自然界的色彩方法上,人类采用非常巧妙的方法。在我们享受五彩斑斓的视频,相片时,我们也得感谢像bayer这样的工程师为此做出的贡献。
2016半导体制造设备市场规模为396.9亿美元
购买热情高涨曝光冲破2亿 荣耀V40保值换新套餐秒罄
利用光子电路和电子电路在单片集成方面的最新进展
MAX2170,MAX2171直接变频至低IF的调谐器用于数字音频广播
液晶面板的种类有哪些
摄像头是如何获取彩色图片的?
MAX11612-MAX11617低功耗12位多通道模数转换器(ADC)
空气检测仪,使用的化学传感器很重要
太阳能杀虫灯使用注意事项
欢创科技发布基于视觉与惯性传感定位技术的Camsense XR产品
人工智能对抗艾滋?并非空谈
KUKAVW-联机表单比较简析
华为云数据容灾服务,如何守护企业数据安全
刘烈宏:中国积极推动新一代移动通信技术和产业发展
松下发布基于VR/AR的HUD系统
苹果将新Mac Pro生产地从美国转至中国
工业无线路由器的传输距离主要会受哪四方面因素影响
网络通讯协议是什么
未来数据中心的技术发展将朝三个方向发展
传统示波器为什么不能像记录仪一样长时间采集及记录波形?