1. 摄像头基础与选型:从原理到实战

做嵌入式视觉这几年,我经手过的摄像头模组少说也有几十种。从手机上的小模组,到车载的GMSL相机,再到工业检测用的全局快门相机……说实话,选型这件事,看着简单,坑却不少。

这一章,咱们就把摄像头的基础掰开揉碎。你搞懂了原理,选型才不会翻车。

1.1 摄像头工作原理:光是怎么变成数字信号的?

摄像头的工作,说白了就是「光电转换」四个字。

光通过镜头,落在传感器上。传感器上的每个像素点,把光信号转成电信号。再经过ADC(模数转换器)变成数字值。最后通过ISP(图像信号处理器)输出你看到的画面。

核心流程: 镜头 → 传感器(光电转换)→ ADC(模数转换)→ ISP(图像处理)→ 输出

我在一个工业检测项目里遇到过一个问题:画面总是有条纹。排查了半天,发现是ADC的采样时钟和LED照明频率没对齐。嗯,这种坑,没踩过的人根本想不到。

1.2 传感器类型:CCD vs CMOS

现在市面上99%的摄像头都是CMOS。CCD基本退出了消费和工业市场,只在一些特殊科研领域还能见到。

对比项 CCD CMOS
读出方式 逐行转移,统一输出 每个像素独立读出
噪声 低 较高(但现代工艺已改善)
功耗 高(需要多组电压) 低(单电压供电)
速度 慢 快(可做到上千帧)
成本 高 低
适用场景 科研、天文、医疗 消费电子、工业、车载、安防

我的建议: 除非你有特殊需求(比如极低噪声、高动态范围),否则直接选CMOS。省电、便宜、速度快,生态也成熟。

1.3 分辨率与帧率:鱼和熊掌不可兼得

分辨率决定你「看得多清楚」,帧率决定你「看得多流畅」。

但这两者之间有个硬约束——带宽。

带宽 = 分辨率 × 帧率 × 像素位深

举个例子:

  • 1080p(1920×1080)@ 30fps,8bit RAW:1920×1080×30×8 ≈ 497Mbps
  • 4K(3840×2160)@ 30fps,8bit RAW:3840×2160×30×8 ≈ 1.99Gbps

你看,分辨率翻4倍,带宽翻了4倍。接口跟不上,你就得降帧率或者压缩。

避坑指南: 我曾经在一个项目里选了200万像素的传感器,想着帧率跑60fps没问题。结果接口是USB 2.0,理论带宽480Mbps,实际能跑到的也就200Mbps左右。最后只能降到15fps。选型时一定要算接口的实际有效带宽,别被理论值忽悠了。

1.4 镜头焦距与视场角:你看到的世界有多大?

镜头决定了摄像头能「看到」的范围和距离。

焦距越短,视场角越大,看到的范围越广,但远处的物体越小。
焦距越长,视场角越小,看到的范围越窄,但远处的物体越大。

焦距 视场角(近似) 典型应用
2.8mm 约100° 全景监控、大范围场景
6mm 约50° 人脸识别、门禁
12mm 约30° 车牌识别、远距离监控
25mm 约15° 工业检测、长距离观察

这里有个公式:

视场角(水平) = 2 × arctan(传感器宽度 / (2 × 焦距))

你想想看,同样的焦距,放在1/3英寸传感器和1/2英寸传感器上,视场角是不一样的。选镜头时一定要匹配传感器靶面尺寸。

个人经验: 做车牌识别项目时,我一开始选了6mm镜头,结果车牌在画面里太小,识别率上不去。换成12mm后,车牌占画面比例大了,识别率直接从70%飙到95%。镜头选型,别光看视场角,得算算你的目标物体在画面里占多少像素。

1.5 接口类型:USB、MIPI、GMSL怎么选?

接口决定了数据传输的带宽、距离和稳定性。我按场景给你捋一捋。

USB接口

  • 优点: 即插即用,生态好,开发简单
  • 缺点: 传输距离短(一般5米以内),带宽共享,延迟不稳定
  • 适用: 原型验证、桌面应用、低端工业

MIPI接口

  • 优点: 带宽高(单lane可达2.5Gbps),延迟低,功耗低
  • 缺点: 传输距离极短(一般30cm以内),需要专用处理器
  • 适用: 手机、嵌入式板载摄像头、AI开发板

GMSL接口

  • 优点: 传输距离远(可达15米以上),抗干扰强,支持同轴供电
  • 缺点: 成本高,需要专用串行器/解串器
  • 适用: 车载环视、远程监控、工业长距离传输

一句话总结: 桌面原型用USB,嵌入式板载用MIPI,车载和远距离用GMSL。

1.6 知识体系总览

下面这张图,把摄像头选型的核心要素串起来了。你对照着看,思路会清晰很多。

摄像头选型知识体系 摄像头选型 传感器类型 分辨率 & 帧率 镜头焦距 & 视场角 接口类型 CCD CMOS 带宽计算 实际吞吐 焦距计算 靶面匹配 USB MIPI 选型核心原则 先算带宽,再定接口;先定场景,再选镜头 传感器和镜头必须匹配靶面尺寸

1.7 选型实战清单

最后,给你一份我平时做选型时用的检查清单。照着走一遍,基本不会漏东西。

  1. 明确场景: 室内还是室外?白天还是夜晚?运动还是静止?
  2. 算分辨率: 目标物体在画面里至少占多少像素?
  3. 定帧率: 运动速度多快?需要捕捉瞬间还是连续跟踪?
  4. 选传感器: CMOS够用吗?需要全局快门吗?
  5. 配镜头: 焦距算出来了吗?靶面匹配了吗?
  6. 定接口: 传输距离多远?带宽够吗?
  7. 算总带宽: 分辨率×帧率×位深,接口能扛住吗?

最后提醒一句: 别只看datasheet上的理论值。实际带宽、实际帧率、实际光照条件,都会打折扣。我习惯在选型阶段留出30%的余量。这样到了现场,心里不慌。