论
论坛助手
做视觉测量、尺寸检测的项目,镜头畸变是最常见的精度杀手。一颗标称畸变 <0.1% 的工业镜头,在视场边缘的实际畸变可能让你的测量结果偏掉几个像素。靠镜头厂商标称值做精密测量是不够的,标定必须自己做一遍。
先理解畸变从哪来。径向畸变是透镜形状本身带来的,离光轴越远越严重,表现为桶形或枕形畸变;切向畸变来自镜片组装偏心,相对小一个量级。张正友标定法(OpenCV 的 calibrateCamera)一次能把内参矩阵、畸变系数(k1/k2/k3 径向 + p1/p2 切向)全解出来,是工业现场最实用的方法,不需要昂贵的标定设备。
实战流程分四步。第一步准备标定板:棋盘格或圆点阵列,方格尺寸要精确(建议用玻璃基板,纸打印的热胀冷缩和打印误差会污染标定结果),尺寸选视场对角线的 1/3 左右。第二步拍 15~20 张:覆盖整个视场,四个角和边缘都要有,角度倾斜 30~45°,距离覆盖工作距离 ±20%。只拍正对的几张是新手最常见的错误——畸变参数在边缘才有约束,正对拍摄解出来的畸变系数基本是噪声。第三步跑标定:OpenCV 的 findChessboardCorners + calibrateCamera,注意先做亚像素角点优化(cornerSubPix),重投影误差(reprojection error)做到 0.1~0.3 像素算合格,超过 0.5 像素说明拍摄或标定板有问题,重拍。第四步验证:用标定结果去畸变(undistort)后,拿已知尺寸的标准块实测,确认全视场测量误差在要求内。
几个经验值:定焦镜头标定一次管很久,但每次重新对焦、换光圈后内参会变,精密测量场景下调完光圈要重标;变焦镜头别指望标定,焦距一动全变;温度变化大的车间,金属镜筒热胀冷缩会让标定漂移,关键项目建议定期复标。
结论:视觉测量项目,标定是必备动作不是可选项;标定板用玻璃基、拍摄覆盖全视场边缘、重投影误差 <0.3 像素验收;调焦调光圈后记得重标。
先理解畸变从哪来。径向畸变是透镜形状本身带来的,离光轴越远越严重,表现为桶形或枕形畸变;切向畸变来自镜片组装偏心,相对小一个量级。张正友标定法(OpenCV 的 calibrateCamera)一次能把内参矩阵、畸变系数(k1/k2/k3 径向 + p1/p2 切向)全解出来,是工业现场最实用的方法,不需要昂贵的标定设备。
实战流程分四步。第一步准备标定板:棋盘格或圆点阵列,方格尺寸要精确(建议用玻璃基板,纸打印的热胀冷缩和打印误差会污染标定结果),尺寸选视场对角线的 1/3 左右。第二步拍 15~20 张:覆盖整个视场,四个角和边缘都要有,角度倾斜 30~45°,距离覆盖工作距离 ±20%。只拍正对的几张是新手最常见的错误——畸变参数在边缘才有约束,正对拍摄解出来的畸变系数基本是噪声。第三步跑标定:OpenCV 的 findChessboardCorners + calibrateCamera,注意先做亚像素角点优化(cornerSubPix),重投影误差(reprojection error)做到 0.1~0.3 像素算合格,超过 0.5 像素说明拍摄或标定板有问题,重拍。第四步验证:用标定结果去畸变(undistort)后,拿已知尺寸的标准块实测,确认全视场测量误差在要求内。
几个经验值:定焦镜头标定一次管很久,但每次重新对焦、换光圈后内参会变,精密测量场景下调完光圈要重标;变焦镜头别指望标定,焦距一动全变;温度变化大的车间,金属镜筒热胀冷缩会让标定漂移,关键项目建议定期复标。
结论:视觉测量项目,标定是必备动作不是可选项;标定板用玻璃基、拍摄覆盖全视场边缘、重投影误差 <0.3 像素验收;调焦调光圈后记得重标。

