在使用摄像机进行二维形状视觉测量时,相机畸变的处理至关重要。以下是系统化的处理步骤及注意事项:
1. 相机畸变类型
- 径向畸变:由镜头形状导致,图像边缘直线弯曲(如桶形、枕形畸变)。常用参数 k1,k2,k3k1,k2,k3 描述。
- 切向畸变:因镜头与成像平面不平行引起,导致图像倾斜。参数 p1,p2p1,p2 表示。
2. 相机标定流程
- 标定板选择:使用高精度棋盘格或圆点标定板,确保图案清晰、平整。
- 数据采集:拍摄10-20张不同角度和位置的标定板图像,覆盖整个视场(尤其是边缘区域)。
- 角点检测:利用OpenCV的
findChessboardCorners 提取角点,优化亚像素精度(cornerSubPix )。
- 参数计算:通过
calibrateCamera 计算内参矩阵(fx,fy,cx,cyfx,fy,cx,cy)和畸变系数(k1,k2,p1,p2,k3k1,k2,p1,p2,k3)。
- 验证指标:检查重投影误差(通常应 < 0.5像素),误差过大需重新标定。
3. 图像矫正方法
- 实时矫正:使用
undistort 函数直接处理图像,或预计算映射表(initUndistortRectifyMap + remap )提升速度。
- 高阶模型:广角镜头需启用 k3k3 参数以更好拟合边缘畸变。
4. 实际应用注意事项
- 环境一致性:确保标定时的焦距、对焦距离与实际使用条件一致,否则需重新标定。
- 透视畸变处理:若存在视角倾斜,在镜头畸变矫正后,通过Homography矩阵进行透视变换(
warpPerspective )。
- 无标定数据情况:可采用基于已知参考物体的估计方法,但精度较低,建议优先现场标定。
5. 优化策略
- 标定板覆盖范围:确保标定图像包含边缘区域,以提高畸变参数估计准确性。
- 镜头类型适配:广角镜头需使用更多畸变参数(如 k3k3),安装不精确的镜头需包含切向畸变参数(p1,p2p1,p2)。
- 标定后验证:使用非标定板图像验证矫正效果,观察直线是否平直、形状是否恢复。
总结步骤
- 标定相机:获取内参和畸变系数。
- 矫正图像:应用畸变模型(径向+切向)进行去畸变。
- 消除透视:通过Homography矩阵调整视角(若需要)。
- 精确测量:在矫正后的图像上进行二维尺寸或形状分析。
通过严谨的标定流程和合理的矫正策略,可有效消除相机畸变对二维测量的影响,确保数据准确性。 |