gle*_*ien 3 opencv computer-vision
我正在使用运动结构进行一些多视图几何重建.到目前为止,我有以下情况
两个图像作为初始输入相机参数和失真系数初始输入图像的工作整流管道创建视差图从视差图创建一个pointCloud,迭代视差图并将值取为z(x和y是像素视差图中像素的坐标)(什么不工作是reprojectImageTo3D,因为我的Q矩阵似乎非常错误,但其他一切都工作得很好)这给了我一个很好的场景点云.
现在我需要在管道中添加更多图像.我google了很多,发现方法solvePnP会帮助我.
但现在我很困惑......
SolvePnP将获取3D点和相应的2D图像点的列表,并重建第三,第四相机的R和T矢量......等等.我已经读过,这些矢量需要对齐,这意味着第一个矢量中的第一个3D点对应于第二个矢量中的第一个2D点.
到现在为止还挺好.但是从哪里可以看出那些对应?我可以使用此方法reprojectPoints获取这两个向量??? 或者使用视差图进行深度重建,我的整个想法是错误的?(替代方案:使用之前找到的良好匹配的triangulatePoints).
有人可以帮我解决这个问题吗?如何使用solvePnP添加更多摄像头,从而将3D点添加到我的pointcloud并改善重建结果?
Solve PnP是一个函数,它给出了一个物体的3D模型(比如说棋盘)和现实世界中这个物体的视图,它将为您提供相机相对于物体的近似位置和方向.
对象的3D模型和视图是对应的3D和2D点的集合.当您知道对象模型(对象的关键点的位置)以及这些关键点在摄像机图像上的位置时,该功能将更好地工作.
我不是3D图像重建的专家,但似乎使用包含观察到的场景及其关键点的每个后续图像的信息,并从视图中查找图像上的信息,您应该能够迭代地改进模型并改进相机位置的近似值.
由于你有一个视差图,它显示了从两个不同点观察的场景关键点的距离,如果你知道确切的观点,使用三角测量确实更好.或者他们的良好近似值(然后你需要用随后的新视图来改进这些近似值).
| 归档时间: |
|
| 查看次数: |
2470 次 |
| 最近记录: |