3. 镜头选型与调试:镜头分类、关键参数与对焦实战
镜头这东西,说白了就是视觉系统的「眼睛」。算法再牛,镜头没选对,图像质量拉胯,后面全是白搭。我见过太多项目,前期随便买个镜头凑合,到了现场死活调不出效果,最后还得回头换镜头——嗯,交的学费可不少。
这一章咱们就把镜头选型和调试的底牌翻出来。不扯虚的,全是实战里摸爬滚打的经验。
3.1 镜头分类:定焦 vs 变焦,远心 vs 普通
先搞清楚你面对的是哪类镜头。选错了类型,后面参数调得再好也白费。
3.1.1 定焦镜头 vs 变焦镜头
| 对比项 | 定焦镜头 | 变焦镜头 |
|---|---|---|
| 焦距 | 固定,不可调 | 可连续调节 |
| 光学质量 | 高,畸变小,解析力强 | 一般,变焦结构引入像差 |
| 光圈 | 通常更大(F1.4~F2.8) | 通常较小(F2.8~F5.6) |
| 价格 | 相对便宜 | 贵,同档次贵2~5倍 |
| 工业场景 | 90%以上场景首选 | 仅用于多工位切换或调试阶段 |
我的建议:工业视觉里,定焦是王道。变焦镜头结构复杂,容易受震动影响,而且同价位下解析力差一截。我在一个3C检测项目里吃过亏——用了变焦镜头,结果边缘分辨率不够,0.1mm的划痕死活看不清。后来换成同焦距定焦,问题秒解。
3.1.2 普通镜头 vs 远心镜头
这个区分太关键了。很多新手搞混,导致测量精度翻车。
| 对比项 | 普通镜头 | 远心镜头 |
|---|---|---|
| 成像原理 | 透视投影(近大远小) | 平行投影(无透视) |
| 放大倍率 | 随物距变化 | 物距变化时倍率不变 |
| 边缘畸变 | 明显 | 极低 |
| 景深 | 一般 | 较大(同光圈下) |
| 价格 | 几百~几千 | 几千~几万 |
| 适用场景 | 定位、识别、检测 | 高精度测量、3D重建 |
什么时候必须用远心?当你需要测量物体尺寸,且物体在Z方向有高度变化时。举个例子:检测手机中框的螺丝孔位置,如果螺丝柱高度有0.5mm偏差,普通镜头拍出来位置会偏移好几个像素,远心镜头则完全不受影响。
3.2 关键参数:焦距、光圈、景深
这三个参数是镜头选型的「铁三角」。搞懂它们,选镜头就像吃饭一样简单。
3.2.1 焦距(Focal Length)
焦距决定了视野大小和工作距离。公式很简单:
视野宽度 = 传感器宽度 × 工作距离 / 焦距
举个例子:你的相机传感器宽度是6.4mm(1/2英寸),工作距离200mm,想要拍50mm宽的视野,那么:
焦距 = 6.4 × 200 / 50 = 25.6mm
所以选25mm或35mm的镜头。选25mm视野会稍大,选35mm视野会稍小。
3.2.2 光圈(Aperture)
光圈用F值表示,比如F2.8、F4、F5.6。数值越小,光圈越大,进光量越多。
光圈的影响:
- 亮度:光圈大一档,进光量翻倍。F2.8比F4亮一倍。
- 景深:光圈越大,景深越浅。F2.8的景深比F8浅很多。
- 解析力:镜头在中间光圈(F4~F8)解析力最好。全开光圈(F1.4~F2.8)边缘画质会下降。
我的习惯:工业场景里,我一般把光圈设在F4~F8之间。太大会牺牲边缘清晰度,太小会引入衍射效应(F16以上)。除非你特别需要浅景深来突出某个特征,否则别开太大。
3.2.3 景深(Depth of Field, DoF)
景深就是物体在Z方向能保持清晰的范围。公式比较复杂,但记住几个结论就够了:
- 光圈越小,景深越大。F8的景深大约是F2.8的4倍。
- 焦距越短,景深越大。16mm的景深比50mm大得多。
- 工作距离越远,景深越大。拍远处的东西景深大。
- 像素尺寸越小,景深越浅。高分辨率相机对焦要求更高。
3.3 接口类型:C、CS、F口
接口不对,镜头装不上。这个坑我踩过,说出来都是泪。
| 接口类型 | 法兰距 | 适用传感器 | 特点 |
|---|---|---|---|
| C口 | 17.526mm | 1/4" ~ 1" | 最常用,螺纹连接,M12×1 |
| CS口 | 12.526mm | 1/4" ~ 1/2" | 比C口短5mm,加接圈可转C口 |
| F口 | 46.5mm | 全画幅及以上 | 卡口式,用于大靶面相机 |
关键点:
- C口和CS口外观几乎一样,但法兰距不同。C口镜头装到CS口相机上,需要加5mm接圈。反过来装不上。
- F口主要用于大靶面相机(比如29mm×19mm的传感器),普通工业相机很少用。
- 还有M42、M58等接口,用于线阵相机或特殊场景。
3.4 对焦调试实战
镜头选好了,参数算好了,接下来就是调试。对焦调试是视觉工程师的基本功,但很多人做得不够细。
3.4.1 对焦步骤
- 粗调:手动旋转镜头对焦环,让图像大致清晰。这时候可以开大光圈(比如F2.8),因为大光圈景深浅,更容易找到焦点。
- 精调:用对焦测试卡或高对比度特征(比如PCB上的焊盘、标尺刻度),微调对焦环直到图像最清晰。
- 锁定:拧紧对焦环上的锁紧螺丝。工业环境有震动,不锁紧的话焦点会跑。
- 验证:在视野中心和四个角落分别检查清晰度。如果边缘模糊,可能是镜头靶面不匹配或安装倾斜。
3.4.2 对焦辅助工具
- 对焦测试卡:有黑白条纹或星形图案,方便肉眼判断清晰度。
- 软件辅助:用图像的MTF值或对比度值作为量化指标。我常用OpenCV的拉普拉斯方差来评估清晰度。
// 用拉普拉斯方差评估图像清晰度
// 值越大,图像越清晰
double focusMeasure(const cv::Mat& src) {
cv::Mat laplacian;
cv::Laplacian(src, laplacian, CV_64F);
cv::Scalar mean, stddev;
cv::meanStdDev(laplacian, mean, stddev);
return stddev.val[0] * stddev.val[0];
}
3.4.3 常见对焦问题与解决
| 问题 | 可能原因 | 解决方法 |
|---|---|---|
| 图像整体模糊 | 对焦不准、镜头污损 | 重新对焦、清洁镜头 |
| 中心清晰边缘模糊 | 镜头靶面不匹配、安装倾斜 | 换大靶面镜头、调整安装 |
| 图像有暗角 | 镜头靶面小于传感器 | 换大靶面镜头或缩小光圈 |
| 对焦环拧不动 | 锁紧螺丝未松开 | 先松开锁紧螺丝 |
| 调好后过几天模糊 | 震动导致焦点偏移 | 加螺纹胶或换带自锁的镜头 |
3.5 知识体系总览
下面这张图把镜头选型与调试的核心逻辑串起来了。你可以把它当作调试时的检查清单。