二、光学系统与传感器接口:把光路和电路连起来
做图像传感器校准,第一关不是调参数,而是搞清楚镜头怎么跟传感器「握手」。我见过不少项目,算法调得漂漂亮亮,结果一上硬件,图像边缘发暗、对焦不准——回头一看,接口类型选错了,或者光学格式没对上。
这一章,咱们就把镜头接口、光学格式、视场角、光圈景深这些硬骨头啃下来。嗯,都是实战中绕不开的东西。
2.1 镜头接口类型:C、CS、M12
镜头接口,说白了就是镜头跟传感器板卡之间的物理连接标准。选错了,装都装不上。
| 接口类型 | 法兰距(mm) | 螺纹规格 | 典型应用 |
|---|---|---|---|
| C接口 | 17.526 | 1英寸-32UNS | 工业相机、机器视觉 |
| CS接口 | 12.526 | 1英寸-32UNS | 安防监控、网络摄像头 |
| M12接口 | 可变(通常5~10) | M12×0.5 | 车载摄像头、手机模组 |
C接口是最常见的工业标准。法兰距17.526mm,这个数字你得记住——它决定了镜头后焦到传感器像面的距离。我刚开始做嵌入式视觉时,买了个C口镜头,结果配了个CS口的板子,怎么调焦都模糊。后来才发现,中间差了个5mm的垫圈。
CS接口跟C接口螺纹一样,但法兰距短了5mm。所以C口镜头可以加5mm垫圈用在CS口上,反过来不行。你想想看,CS口镜头拧到C口板子上,镜头都快怼到传感器了,根本没法成像。
M12接口(也叫S接口)是这几年车载和消费级产品的主流。螺纹细、体积小,但法兰距不固定,靠旋入深度调焦。我在做车载环视项目时,M12镜头调焦是个体力活——得用治具一颗一颗旋,旋到位了点胶固定。量产一致性是个坑。
2.2 光学格式与传感器靶面
光学格式,就是镜头能覆盖的成像圆直径。常见的有1/3英寸、1/2.5英寸、1英寸等等。注意,这个「英寸」不是传感器对角线长度,而是历史遗留的摄像管直径标准。实际对角线要乘个系数。
我列个常用对照表:
| 光学格式 | 实际对角线(mm) | 典型分辨率 |
|---|---|---|
| 1/4" | 4.0 | 640×480 |
| 1/3" | 6.0 | 1280×720 |
| 1/2.5" | 7.2 | 1920×1080 |
| 1/1.8" | 8.9 | 2592×1944 |
| 1" | 16.0 | 4096×2160 |
核心原则:镜头的成像圆必须大于或等于传感器靶面对角线。否则,图像四角会变黑——这就是「暗角」。
我曾经在一个项目中,选了1/2.5英寸的镜头配1/1.8英寸的传感器。结果画面四周全是黑的,客户直接退货。嗯,从那以后我选型时第一件事就是比对光学格式。
2.3 视场角计算
视场角(FOV)决定了相机能看到多宽。水平FOV、垂直FOV、对角线FOV,三个值通常不一样。
计算公式很简单:
FOV = 2 × arctan( sensor_size / (2 × focal_length) )
举个例子:
- 传感器水平宽度:6.4mm(1/2英寸)
- 镜头焦距:8mm
- 水平FOV = 2 × arctan(6.4 / 16) ≈ 43.6°
你想想看,焦距越短,FOV越大——广角镜头就是这么来的。但广角镜头畸变也大,校准的时候得多加几组畸变参数。
2.4 光圈与景深
光圈用F数表示:F = 焦距 / 通光孔径。F数越小,进光量越大,景深越浅。
景深公式:
DOF ≈ 2 × u² × F × c / f²
其中:
- u:物距
- F:光圈F数
- c:容许弥散圆直径
- f:焦距
做嵌入式视觉时,我一般遵循这个原则:
- 条码/二维码扫描:用小光圈(F8~F11),景深大,容错高
- 人脸识别:用大光圈(F1.8~F2.8),背景虚化,突出主体
- 车载环视:固定光圈(F2.0左右),配合全局快门
我记得有一次做工业检测,客户要求同时看清10cm和50cm处的零件。我一开始用了F1.4,结果只有中间一段清晰。后来换成F8,景深够了,但曝光时间得拉长,又得补光。嗯,这就是工程上的取舍。
2.5 红外截止滤光片
CMOS传感器对近红外光(700nm~1000nm)很敏感。白天用没问题,但到了晚上,红外光会让画面偏红、偏紫。
红外截止滤光片(IR-Cut Filter)就是干这个的——把红外波段切掉,只让可见光通过。
常见类型:
| 类型 | 工作原理 | 适用场景 |
|---|---|---|
| 固定IR-Cut | 镀膜玻璃,永久截止 | 室内、白天监控 |
| 可切换IR-Cut | 电磁铁驱动,白天切进、晚上切出 | 日夜两用安防 |
| 双通带IR-Cut | 同时通过可见光和特定红外波段 | 生物识别、活体检测 |
做日夜两用相机时,可切换IR-Cut是标配。但要注意:切换机构有机械寿命,一般标称10万次。我有个项目用了便宜的IR-Cut,半年后切换卡死,画面一直偏色。后来换了品牌件,问题解决。
2.6 微透镜阵列
微透镜阵列(Microlens Array)是贴在传感器像素表面的小透镜阵列。每个微透镜对应一个像素,把光线汇聚到感光区域。
它的作用:
- 提高量子效率:把原本打到像素间隙的光线收进来
- 改善角度响应:让斜入射光也能被有效收集
- 减少串扰:相邻像素之间的光路隔离
但微透镜也有副作用——镜头阴影(Lens Shading)。边缘像素的微透镜接收到的光线角度偏大,响应会下降。这就是为什么做校准时要算LSC(镜头阴影校正)表。
我做过一个项目,换了传感器型号没换镜头,结果图像边缘发暗。查了半天,发现新传感器的微透镜阵列跟旧的不一样,角度响应曲线变了。最后重新生成了LSC表才搞定。
2.7 光学低通滤波器
光学低通滤波器(OLPF)放在传感器前面,作用是消除摩尔纹和伪色。
摩尔纹怎么来的?当场景中的高频细节(比如织物纹理)跟像素阵列的周期接近时,就会产生干涉条纹。OLPF通过双折射晶体,把光线在水平和垂直方向各偏移半个像素,相当于做了一个空间低通滤波。
但OLPF也有代价:
- 分辨率下降:低通滤波会损失细节
- MTF降低:调制传递函数变差
- 成本增加:一片双折射晶体不便宜
所以现在很多高端工业相机和手机模组干脆不用OLPF,靠算法做去摩尔纹。但安防和监控领域,OLPF还是标配——毕竟实时处理能力有限。
2.8 知识结构总览
下面这张图把本章的核心知识点串起来了。你可以把它当作选型时的检查清单。