光平面标定建立激光点与世界坐标的对应关系
核心目标与挑战
目标:为激光线上的每一个像素点 p_laser(u, v) 赋予一个精确的世界坐标 P_world(X, Y, 0)。
挑战:相机看到的只是一个亮斑(激光点),我们如何知道这个亮斑在标定板这个“尺子”上的具体“刻度”?
解决思路:利用标定板的已知结构作为“坐标纸”
标定板的棋盘格提供了天然的、已知的坐标系。我们的策略是:
-
绝对基准:先获取标定板所有角点的精确图像坐标和世界坐标。
-
相对定位:将激光点映射到这个已知的坐标系网络上,通过它相对于周围角点的位置,插值计算出其精确的世界坐标。
详细步骤分解
第1步:获取标定板角点信息
-
从正常光图像中,我们已经通过角点检测得到了所有角点的图像像素坐标 p_corner_i。
-
根据棋盘格的预设参数(例如:格子宽高 dx=25mm, dy=25mm,内部角点数量 9x6),我们可以为每一个角点分配一个世界坐标 P_world_i。
-
通常,我们将标定板平面定义为 Z=0。
-
设定一个原点(如左上角角点为 (0,0,0)),那么下一个角点的世界坐标就是 (dx, 0, 0),再下一个是 (2*dx, 0, 0),以此类推。
-
第2步:图像对齐与坐标映射 - 关键桥梁
这是最关键的一步。我们需要建立一个从激光图像到正常光图像的映射关系,从而将激光点“放置”到标定板的坐标系上。
-
前提假设:在采集一对图像(正常光 vs. 激光)时,标定板是完全没有移动的。因此,这两幅图像中的标定板处于完全相同的姿态。
-
操作:由于我们已经有了正常光图像中所有角