
使用上面的设置,我得到了平面两侧的激光线的霍夫方程。我甚至过滤掉了物体上的像素点。我也有相机的外部参数,这些参数是从我在平面两侧放置的棋盘图案中获取的(所以我知道{R1,T1}和{R2,T2})
现在我想生成一个对象的点云。我发现我需要将激光平面(Elaser)与摄像机的观察光线(r)相交才能获得单个3D点(p),有什么关于如何做到这一点的线索吗?
更新:
这是我认为我必须要做的,如果我错了,可能会有人纠正我
STEP1:将所有点从(左平面)坐标系转换到(右平面)坐标系,以从{R1,T1}和{R2,T2}获得单个{R,T}
在同一坐标系下,用左平面上的2个激光点和右平面上的1个激光点求解激光平面方程(在STEP1中转换为STEP2: )
STEP3:利用激光平面方程和物体上的二维点方程求物体上的三维点
更新
这就是我目前所拥有的-

发布于 2010-11-10 03:46:51
如果我没记错(我从未处理过结构光),您需要i)恢复相机和激光器之间的极线约束,ii)从成像的激光条纹确定每个点的极线,iii)使这条线与激光条纹在激光坐标中的已知位置相交,以及iv)通过三角测量恢复3D信息。
为了获得最佳效果,您应该垂直于相机和激光器之间的平移矢量来确定激光条纹的方向,因为这样可以很好地调整上面iii)中的交叉点,从而在存在噪声的情况下最有把握地恢复。
发布于 2011-07-12 12:55:12
关于ssegvic的帖子的一切都是正确的,但这说起来容易做起来容易。与立体摄像机校准类似,您需要在激光和摄像机之间进行校准。实际上,这是通过对具有相对于参考平面的已知几何形状的对象执行测量,然后求解图像坐标到对象坐标之间的映射来实现的。一旦你执行了这个校准,你就可以使用得到的校准矩阵来求解深度。
您可以使用许多可能的校准对象。我使用的平面是黑色的,与您的激光平面垂直的白色细线。这将为您提供图像中的几个点,您可以使用图像处理来分离这些点。一旦您通过平移激光相机设备的位置收集了所需的所有点。然后,您可以向某个方向平移(朝向相机?)同时跟踪平面深度的变化,因为这些坐标表示您需要从图像坐标映射到的真实世界坐标。您应该在您计划测量的对象的深度或工作范围内进行校准(避免外推),并根据您的选择以合理的精细增量进行校准。
https://stackoverflow.com/questions/4137523
复制相似问题