使用OpenCV从一组2D图像切片进行3D模型重建?

时间:2015-04-21 00:39:03

标签: c++ opencv image-processing 3d-reconstruction

我使用OpenCV对一组2D图像切片进行3D重建有几个问题:

  • 从一组中重建3D模型的步骤或过程是什么 2D图像切片?

  • 如何使用OpenCV开始3D重建?我听说 OpenCV Viz 但我很新,所以我不确定。

请注意,不需要相机,因为我获得了一组图像,而且我仅限于OpenCV。

提前感谢!

1 个答案:

答案 0 :(得分:3)

最权威的书之一是Zisserman

(非常)高级别的步骤是:

  1. 对于每张图片,识别一组要素(例如SIFT,ORB,SURF或类似物)
  2. 对于一对图像,找到位于1
  3. 中的要素之间的对应关系
  4. 使用这些对应关系,计算描述两个图像之间关系的基本矩阵
  5. 从F(最好是一些内部相机参数),计算相对于第一个图像的第二个图像中的相对相机姿势
  6. 使用F校正图像对,使相应的点位于同一扫描线上
  7. 使用这两个图像计算密集视差图,然后将其转换为图像中每个像素的深度图
  8. 考虑到相机姿势和每个像素的深度,后投影指向空间中的3D点
  9. 使用一些技巧(如束调整)来优化3D坐标的衍生值以及整个计算点和图像集的相机姿势
  10. OpenCV calib3d库包含许多有用的功能,Google就是您的朋友,了解有关如何应用它们的详细信息。

    另请参阅:OpenCV with stereo 3D reconstructionOpenCV 3D reconstruction using shipped images and examples