4. 相机参数设置:曝光时间、增益、白平衡、分辨率、帧率设定
标定数据采集,说白了就是给相机“拍证件照”。拍得好不好,直接决定了后续标定结果的死活。我见过太多人拿着模糊、过曝或者白平衡一塌糊涂的图片去跑标定,结果折腾半天,误差大得离谱,还以为是算法不行。
这一章,咱们就聊聊相机参数怎么设。记住一个核心原则:标定用的图像,质量要高于你实际项目中的图像。因为标定是求取相机内参和外参的基准,基准歪了,后面全白搭。
4.1 曝光时间:别让图像“糊”了
曝光时间,就是快门打开让光线进入传感器的时间。时间越长,进光越多,图像越亮,但也越容易因为抖动而模糊。
我个人习惯的做法是:
- 固定曝光时间:先用手动模式,设定一个固定的曝光时间。比如在室内稳定光源下,我通常从 20ms 开始试。
- 观察直方图:打开相机的直方图工具。理想的标定图像,直方图应该分布均匀,不要出现“撞墙”现象(像素值集中在 0 或 255 附近)。
- 保证标定板清晰:标定板上的棋盘格角点或圆点边缘必须锐利,不能有拖影。如果手持标定板,曝光时间尽量短于 30ms,否则手抖造成的模糊会让角点提取失败。
我曾经在一个产线项目里,因为现场振动大,用了 50ms 的曝光时间,结果标定出来的图像角点坐标全是“虚”的,内参误差直接翻倍。后来把曝光降到 10ms,配合补光灯,问题才解决。
4.2 增益:能不用就不用
增益,就是电子放大信号。它放大有用信号的同时,也放大了噪声。说白了,增益是“饮鸩止渴”。
| 增益值 | 图像亮度 | 噪声水平 | 标定适用性 |
|---|---|---|---|
| 0 dB(最低) | 正常 | 低 | ✅ 推荐 |
| 6-12 dB | 较亮 | 中等 | ⚠️ 勉强可用,需配合降噪 |
| > 12 dB | 很亮 | 高 | ❌ 不推荐用于标定 |
4.3 白平衡:让颜色“正”回来
白平衡的作用是让白色物体在不同色温的光源下看起来都是白色。对于标定来说,虽然我们主要关心的是几何信息(角点位置),但白平衡不准会影响图像的整体对比度,进而影响角点提取的精度。
嗯,这里要注意:标定板通常是黑白棋盘格或深色背景的圆点阵。如果白平衡严重偏色,比如在暖色灯光下偏黄,会导致黑白区域的灰度对比度下降,边缘变得模糊。
我的做法很简单:
- 手动设置白平衡:对着标准白纸或标定板的白色区域,手动调整 R/G/B 增益,直到白色区域在图像中显示为纯白(RGB 值接近 255,255,255)。
- 锁定白平衡:设置好后,关闭自动白平衡。确保整个采集过程中白平衡参数不变。
4.4 分辨率:够用就好,别贪心
分辨率越高,图像细节越丰富,但数据量也越大,处理速度越慢。对于标定来说,分辨率的选择有个平衡点。
我见过有人直接用 5000 万像素的工业相机去标定,结果一张图片几十 MB,处理起来慢得要命,而且标定精度并没有显著提升。为什么?因为标定精度主要取决于标定板在图像中的占比和角点提取的亚像素精度,而不是像素数。
举个例子,如果你的标定板最小方格边长是 5mm,相机视野是 200mm x 150mm,那么每个方格在图像中至少需要 20-30 个像素才能稳定提取角点。算下来,分辨率有个 100 万到 200 万像素就足够了。
4.5 帧率:稳定压倒一切
帧率决定了相机每秒能拍多少张图。在标定采集中,我们通常不需要高帧率,因为我们需要的是稳定、清晰的单帧图像。
高帧率往往意味着更短的曝光时间(否则会糊),或者更高的增益(噪声大)。这两点前面都说了,对标定不利。
我的习惯是:
- 固定帧率:设置为 10-15 fps 就足够了。这个帧率下,相机有足够的时间进行稳定的曝光和读出。
- 避免丢帧:在 HALCON 中采集时,确保采集缓冲区足够大,或者使用同步采集模式,防止因为处理速度跟不上而丢帧。丢帧会导致你采集的标定板位姿不连续,影响标定结果。
4.6 参数设定流程图
下面这张图,是我自己总结的相机参数设定流程,你可以照着走一遍,基本不会出大问题。
4.7 参数设置清单
最后,给你一个可以直接拿去用的参数设置清单。每次采集前,对着检查一遍,养成习惯。
| 参数 | 推荐设置 | 检查项 |
|---|---|---|
| 曝光时间 | 手动,10-30 ms | 直方图不撞墙,标定板边缘锐利 |
| 增益 | 0 dB | 图像无明显噪点 |
| 白平衡 | 手动,对准白平衡 | 白色区域 RGB 值接近 (255,255,255) |
| 分辨率 | 标定板占画面 1/3 以上 | 最小特征清晰可见 |
| 帧率 | 10-15 fps,固定 | 无丢帧,图像稳定 |