这方面最权威的书籍之一是Zisserman。 (非常)高级的步骤是: 1.对于每个图像,识别一组特征(例如SIFT、ORB、SURF或类似) 1.对于一对图像,找到位于1中的特征之间的对应关系 1.使用这些对应关系,计算描述两个图像之间的关系的基本矩阵F 1.根据F(以及理想情况下的一些内部相机参数),计算第二图像中相对于第一图像的相对相机姿态。 1.使用F,校正图像对,使得对应的点位于相同的扫描线上 1.使用这两幅图像计算密集视差图,然后将其转换为图像中每个像素的深度图 1.给定相机姿势和每个像素的深度,在空间中反向投影点3D点 1.使用一些技术(如光束法平差)来优化整个计算点和图像集的3D坐标和相机姿态的导出值 OpenCV calib3d库包含许多有用的函数,Google是您的朋友,可以了解如何应用它们的更多细节。 参见:OpenCV with stereo 3D reconstruction、OpenCV 3D reconstruction using shipped images and examples
1条答案
按热度按时间qaxu7uf21#
这方面最权威的书籍之一是Zisserman。
(非常)高级的步骤是:
1.对于每个图像,识别一组特征(例如SIFT、ORB、SURF或类似)
1.对于一对图像,找到位于1中的特征之间的对应关系
1.使用这些对应关系,计算描述两个图像之间的关系的基本矩阵F
1.根据F(以及理想情况下的一些内部相机参数),计算第二图像中相对于第一图像的相对相机姿态。
1.使用F,校正图像对,使得对应的点位于相同的扫描线上
1.使用这两幅图像计算密集视差图,然后将其转换为图像中每个像素的深度图
1.给定相机姿势和每个像素的深度,在空间中反向投影点3D点
1.使用一些技术(如光束法平差)来优化整个计算点和图像集的3D坐标和相机姿态的导出值
OpenCV
calib3d
库包含许多有用的函数,Google是您的朋友,可以了解如何应用它们的更多细节。参见:OpenCV with stereo 3D reconstruction、OpenCV 3D reconstruction using shipped images and examples