一句话结论:任何标定板的打印件,在使用前都必须用一个已知长度的参照物验证物理尺寸。最省事的做法是让生成器在纸上画一条 100mm 的尺,打印完用钢直尺量一下,差 0.5mm 以上就重打。
原因一:打印机默认缩放了页面(最常见)
几乎所有的打印机驱动和 PDF 阅读器都有一个「适合页面 / Fit to page / 缩放以适合可打印区域」的默认选项。它会在你不知情的时候把 A4 内容按 96%–97% 输出,因为驱动认为纸张边缘有不可打印区。
后果很隐蔽:标定照样能跑通,角点照样能检测到,只是所有物理尺寸都等比缩小了约 4%。用 20mm 的方格标出来的内参,对应的其实是 19.2mm。单目内参里这种误差部分会被吸收进焦距,看起来「还行」;但一旦涉及多相机、LiDAR-相机、手眼标定这类需要真实尺度的地方,误差就藏不住了——平移量的量级会整体偏小。
怎么修:打印对话框里把缩放设为 100%(或「实际大小」),显式关掉「适合页面」。
原因二:选的纸张和实际装的纸不一致
打印设置里选了 A4,纸盒里装的是 Letter(或反过来)。驱动会按选定的纸张重新排版,而物理纸面尺寸不同,最终尺寸必然不对。Letter 比 A4 宽 5.9mm、矮 17.6mm,混用的情况在国内不少见(进口打印机默认 Letter)。
怎么修:确认打印设置里的纸张与纸盒标注一致;不确定就量一下纸的宽高。
原因三:在浏览器里直接打印
浏览器的打印路径会多一层 CSS 到物理尺寸的映射,还经常叠加页眉页脚、自动缩放。同一个 PDF,Acrobat 打出来是准的,浏览器打出来偏 2%,这种情况很常见。
怎么修:下载 PDF 后用专门的阅读器打印(Acrobat、macOS 预览、Foxit 均可),并且关掉页眉页脚。
原因四:纸张受潮、翘曲、覆膜
普通打印纸在湿度变化下会有 0.1%–0.3% 的伸缩,一张 200mm 的板可能差 0.4mm。更严重的是不平:纸没贴平,板就不再是一个平面,而标定算法的核心假设就是 z=0 平面。覆膜/塑封除了引入厚度,还会带来高光溢出,让黑白边界变糊,角点亚像素定位精度直接下降。
怎么修:打印后贴到硬质平板(铝板、亚克力、KT 板)上,四角压平;不要覆膜,需要耐用就用哑光纸或直接做成铝基板。
怎么验证:用校验尺反推缩放比
最可靠的方法是纸上自带一条已知长度的标尺。打印完量出实际长度,就能算出真实缩放比:
真实方格边长 = 设定方格边长 × (实测尺长 / 标称尺长)
例:设定 20mm,校验尺标称 100mm,实测 96.2mm
→ 真实边长 = 20 × 0.962 = 19.24mm
→ 缩放比 96.2%,必须重打
如果你暂时不能重打,也可以把真实边长代回 OpenCV 的 squareSize(用 0.01924 而不是 0.02),这样至少恢复尺度正确性——但方格本身仍不是正方形比例,不推荐作为长期方案。
方格边长该选多大
决定因素不是「越大越准」,而是角点在图里的像素尺寸和覆盖范围之间的平衡。方格在图像里至少要占 20–30 像素,角点检测才有稳定的亚像素精度;同时角点必须铺满整幅图像,尤其是四个边角,否则畸变系数会外推得很差。
| 场景 | 方格边长 | 板尺寸(内角点 9×6) | 纸张 |
|---|---|---|---|
| 普通镜头内参 | 20–25mm | 250×175mm | A3 |
| 广角 / 鱼眼内参 | 25–30mm | 300×210mm | A3 |
| 机械臂手眼标定 | 15–20mm | 150×105mm | A4 |
| 小视野 / 显微 | 5–10mm | 50×35mm | 高精度印刷 |
经验值:A4 用 20mm 是通用起点;如果角点在图像里小于 15 像素,说明板太小或相机太远,换更大的板而不是更细的格。
症状对照表
| 症状 | 先怀疑 | 怎么查 |
|---|---|---|
| 所有结果等比偏小约 4% | 打印机缩放 | 量纸上的校验尺 |
| 重投影误差很小但实际测距不准 | 尺度未标定 / 板尺寸填错 | 核对 squareSize 单位(米 vs 毫米) |
| 一直检测不到角点 | patternSize 填成了方格数 | 8×6 方格应填 (7, 5) |
| 只有画面边缘检测不到 | 镜头畸变大 / 板没覆盖边缘 | 把板移到画面四角各拍一组 |
| 角点位置抖动大 | 覆膜反光、纸不平、光照不均 | 换哑光纸、贴平板、加柔光 |
| 不同距离标出来焦距差很多 | 只在单一距离采集 | 在 2–3 个距离各采一组 |
采集图片时容易被忽略的几点
- 板要占满画幅的 60% 以上,且四个角落都要有角点出现,否则畸变标不出来。
- 姿态要散:倾斜 20°–45° 的样本对解耦焦距和主点很关键,别只拍正对的。
- 15–25 张足够,多不等于好;重复度高的 50 张不如姿态分散的 15 张。
- 关掉自动对焦和防抖,或者在采集前锁定;对焦变化会改变内参。
- 用原始图,不要用已经过镜头校正或缩放的图。
需要一张能直接打印的板?在线标定板生成器会生成带 100mm 校验尺的矢量 PDF,并把 patternSize、squareSize 直接算好给你复制。