Computer vision 如何生成点云?

Computer vision 如何生成点云?,computer-vision,Computer Vision,使用上面的设置,我得到了平面两侧激光线的hough方程。我甚至过滤掉了物体上的像素点。我还有相机的外部参数,这些参数是从我放在平面两侧的棋盘格图案中获取的(所以我知道{R1,T1}和{R2,T2}) 现在我想生成对象的点云。我看到我需要将激光平面(Elaser)与相机的观察光线(r)相交,以获得单个3D点(p),有什么线索可以告诉我怎么做吗 更新: 这是我认为我必须做的,如果我错了,有人可能会纠正我 STEP1:将所有点从(左平面)坐标系转换到(右平面)坐标系,以从{R1,T1}和{R2,T2

使用上面的设置,我得到了平面两侧激光线的hough方程。我甚至过滤掉了物体上的像素点。我还有相机的外部参数,这些参数是从我放在平面两侧的棋盘格图案中获取的(所以我知道{R1,T1}和{R2,T2})

现在我想生成对象的点云。我看到我需要将激光平面(Elaser)与相机的观察光线(r)相交,以获得单个3D点(p),有什么线索可以告诉我怎么做吗


更新: 这是我认为我必须做的,如果我错了,有人可能会纠正我

STEP1:
将所有点从(左平面)坐标系转换到(右平面)坐标系,以从{R1,T1}和{R2,T2}获得单个{R,T}

STEP2:
使用相同的坐标系,使用左平面上的2个激光点和右平面上的1个激光点,找到激光平面的方程(在步骤1中转换为)

第三步:
使用激光平面方程和物体上的二维点找到物体上的三维点


更新 这就是我目前拥有的-

如果我没有弄错(我从未处理过结构光),您需要I)恢复相机和激光器之间的极线约束,ii)确定成像激光条纹中每个点的极线,iii)将该线与激光坐标中激光条纹的已知位置相交,iv)通过三角测量恢复三维信息


为了达到最佳效果,你应该使激光条纹垂直于摄像机和激光器之间的平移矢量,因为这样,上述iii)中的交点条件良好,因此在存在噪音的情况下最有信心恢复。

关于ssegvic帖子的所有内容都是正确的,但这可以说得容易做得容易。与立体摄像机校准类似,您需要在激光器和摄像机之间进行校准。这在实践中是通过对具有相对于参考平面的已知几何体的对象执行测量,然后求解图像坐标到对象坐标之间的映射来实现的。执行此校准后,可以使用生成的校准矩阵求解深度


您可以使用许多可能的校准对象。我用了一个黑色的平面,上面有垂直于激光平面的细白线。这将为您提供图像中的几个点,您可以使用图像处理来隔离这些点。一旦您通过平移激光相机设备的位置收集了所有需要的点。然后,您可以在跟踪平面深度变化的同时向特定方向(朝向摄影机?)平移,因为这些坐标表示需要从图像坐标映射到的真实世界坐标。你应该在你计划测量的物体的深度或工作范围内进行校准(避免外推),按照你选择的合理精细增量进行校准。

哦,天哪,看到这一点,我脸上露出了笑容。这些是正确的步骤。为了避免噪声敏感性,我会使用更多的点来确定激光平面。在第3步中,错误将对你的准确性产生巨大影响。