2. 相机成像原理与选型:从针孔模型到实战选型
相机选型,说白了就是搞清楚三件事:光怎么进来、用什么感光、镜头怎么配。我做了这么多年多相机系统,见过太多项目栽在第一步——选型就错了。今天咱们把这几个核心问题掰开揉碎讲清楚。
2.1 针孔模型:最朴素的成像原理
所有相机,无论多贵,本质都是一个针孔。光线穿过小孔,在后方平面上倒立成像。这就是针孔相机模型。
核心公式:1/f = 1/u + 1/v
其中 f 是焦距,u 是物距,v 是像距。这个公式决定了你的相机能看清多远、多大范围。
实际镜头不是真针孔,但数学模型沿用这套。我习惯把针孔模型当作第一性原理来理解畸变、景深、视场角这些概念。你想想看,没有这个基础,后面调参就是瞎蒙。
2.2 传感器类型:CCD vs CMOS
传感器是相机的「视网膜」。目前主流就两种:CCD 和 CMOS。我早期做工业检测时,CCD 还是王者,现在 CMOS 已经全面逆袭了。
| 对比项 | CCD | CMOS |
|---|---|---|
| 读出方式 | 全局快门,逐行转移 | 卷帘快门或全局快门 |
| 噪声水平 | 低,暗电流小 | 较高,但近年改善明显 |
| 功耗 | 高(需要多路电压) | 低(单电压供电) |
| 帧率 | 受限于读出速度 | 高,适合高速场景 |
| 成本 | 高 | 低 |
| 典型应用 | 天文、医疗、高端工业 | 消费电子、安防、自动驾驶 |
我的建议:多相机同步场景,优先选全局快门 CMOS。卷帘快门在拍摄快速运动物体时会产生「果冻效应」,多相机之间更难对齐。我曾经在一个机器人抓取项目里用了卷帘快门,结果运动模糊导致识别率暴跌 30%……后来全换成全局快门才解决。
2.3 镜头参数:焦距与视场角
镜头决定了相机「看多远、看多宽」。两个核心参数:焦距和视场角。
焦距(Focal Length)
焦距越短,视场角越大,看得越宽但远处物体越小。焦距越长,相当于「望远镜」,看得远但视野窄。
- 短焦(< 12mm):适合大范围监控、全景拼接
- 中焦(12mm - 50mm):最接近人眼视角,适合通用场景
- 长焦(> 50mm):适合远距离细节、交通卡口
视场角(FOV)
视场角和焦距、传感器尺寸直接相关。公式很简单:
FOV = 2 * arctan( sensor_width / (2 * focal_length) )
举个例子:1/2.3英寸传感器(宽约6.17mm),配 6mm 镜头,水平视场角大约是 54°。这个角度够覆盖一条车道。
避坑指南:我曾经在选型时只看焦距,忽略了传感器尺寸。结果同样 6mm 镜头,装在 1/1.7英寸传感器上视场角大了不少,导致画面边缘畸变严重,标定都救不回来。记住:焦距和传感器尺寸要一起看。
2.4 选型实战指南:五步法
我总结了一套选型流程,每次做项目都按这个来,基本没出过大错。
- 明确需求:拍摄距离、目标大小、运动速度、光照条件
- 计算分辨率:根据最小检测目标,反推所需像素数
- 选择传感器:全局快门 vs 卷帘快门,CCD vs CMOS
- 匹配镜头:根据 FOV 和传感器尺寸算焦距
- 验证样机:实际拍摄测试,检查畸变、亮度、帧率
实战案例:一个仓库 AGV 视觉导航项目,要求看清 10 米外的货架标签(约 5cm 大小)。我算了一下:标签在画面中至少占 50 像素,传感器用 1920x1080,镜头焦距选 12mm,视场角约 30°。最终选了一款全局快门 CMOS + 12mm 定焦镜头,效果很稳。
2.5 知识体系总览
下面这张图把本章核心逻辑串起来了。你可以把它当作选型时的检查清单。