第二章 相机成像原理:从光子到数字信号
相机是怎么把眼前的光变成一张照片的?
这个问题,我入行时也琢磨了很久。后来做了几个项目,踩过坑,才真正理解这条链路上的每个环节。今天咱们就把它拆开看看。
2.1 光子的旅程:从镜头到传感器
光从物体反射出来,穿过镜头,到达传感器表面。这个过程听起来简单,但每一步都有讲究。
- 镜头:把光线汇聚到传感器上。镜头质量直接影响进光量和像差。
- 光圈:控制进光量的大小。光圈越大,进光越多,但景深越浅。
- 快门:控制曝光时间。快门越快,运动物体越清晰,但进光越少。
- 传感器:把光信号转换成电信号。这是核心环节。
关键点:光子的旅程终点是传感器上的每个像素。每个像素就是一个光电转换器。
2.2 拜耳阵列与CFA:彩色世界的入口
传感器本身只能感知光的强度,分不清颜色。那彩色照片是怎么来的?
答案就是拜耳阵列(Bayer Pattern)。
拜耳阵列是一种彩色滤波阵列(CFA),在每个像素上覆盖一个滤光片,只允许特定波长的光通过。最常见的模式是RGGB:一个红色、两个绿色、一个蓝色。
为什么绿色有两个?因为人眼对绿色最敏感。这个设计很巧妙,我当年第一次看到这个结构时,觉得这真是个天才的妥协方案。
我的经验:在项目中调试过不同CFA模式的传感器。RGGB最常见,但也有RCCC(用于低照度)、RCCB(用于监控)等变体。选型时一定要看应用场景。
拜耳阵列的输出是马赛克图像——每个像素只有一个颜色通道。要得到完整的彩色图像,需要做去马赛克(Demosaicing)处理。这部分咱们后面章节会细讲。
2.3 传感器噪声来源:图像质量的隐形杀手
传感器输出的信号不是完美的。噪声无处不在。
我做过一个项目,在弱光环境下拍出来的图像全是噪点,客户直接投诉。后来排查发现,是传感器温度太高导致的暗电流噪声。
常见的噪声来源有这些:
| 噪声类型 | 来源 | 特点 | 应对方法 |
|---|---|---|---|
| 散粒噪声 | 光子到达的随机性 | 与信号强度平方根成正比 | 增加曝光时间或增益 |
| 暗电流噪声 | 热激发产生的电子 | 与温度相关,长时间曝光更明显 | 降低传感器温度,做暗帧校正 |
| 读出噪声 | 电路读取过程中的电子噪声 | 与增益相关 | 优化电路设计,降低增益 |
| 固定模式噪声 | 像素间响应不一致 | 空间上固定,不随时间变化 | 做平场校正 |
| 量化噪声 | ADC量化过程中的误差 | 与ADC位数相关 | 使用更高位数的ADC |
避坑指南:我曾经在项目中忽略了暗电流噪声的影响,结果在长曝光模式下图像完全没法看。后来加了暗帧校正,效果立竿见影。记住:温度是噪声的放大器。
2.4 从模拟到数字:ADC的作用
传感器输出的信号是模拟电压。要变成数字信号,需要经过模数转换器(ADC)。
ADC的位数决定了信号的精度。常见的传感器有10位、12位、14位甚至更高。位数越高,动态范围越大,但数据量也越大。
举个例子:
- 10位ADC:输出0-1023,动态范围约60dB
- 12位ADC:输出0-4095,动态范围约72dB
- 14位ADC:输出0-16383,动态范围约84dB
你想想看,在强光比场景下,高位数的ADC能保留更多细节。我做过一个HDR项目,用14位ADC配合多帧合成,效果比10位的好太多了。
2.5 知识体系总览
下面这张图总结了本章的核心逻辑:
2.6 小结
这一章咱们走完了从光子到数字信号的完整链路。核心就三件事:
- 拜耳阵列让传感器能感知颜色,但输出是马赛克图像
- 噪声无处不在,理解来源才能对症下药
- ADC把模拟信号变成数字信号,位数决定精度
嗯,这些基础打牢了,后面讲去马赛克、降噪、白平衡时,你就能理解为什么每个环节都那么重要了。