学习三维重建一段时间了,现在对于学到的东西做一下总结。
1.标定
- 对于三维重建的问题,首先要做的就是对于摄像机进行标定。对相机进行标定的主要目的是为了使拍摄的图片更加符合规范,可以更准确地进行后续的图像配准和三维重建。
- 对于双目相机而言,标定就是为了求解相机的内外参数,然后将图像矫正为平行图像,还可以消除由于摄像机镜头带来的畸变。
- 具体的细节部分就不讲了,可以自行查阅论文,都讲得很清楚。可以从最下方下载代码,分别有根据matlab工具箱进行的标定和在learning opencv第十一章中讲解的使用opencv进行的标定。matlab工具箱的标定具体步骤可以参照http://blog.csdn.net/sunanger_wang/article/details/7744025
-标定的结果就为得到的摄像机的四个内参数和六个外参数,和若干畸变系数,用来消除畸变。其中内参数只与摄像机内部构造相关,与外界环境无关;外参数代表的是两个摄像机的相对位置关系。
2.重建
- 对于矫正之后的图像,就可以进行配准了,最后才是三维重建。对于已经经过矫正的图像来说,之后的步骤可以参照shiter大神的博客http://blog.csdn.net/wangyaninglm/article/details/52142217
- 大致的步骤便是提取特征点,然后进行特征点的匹配。最后的步骤就是三维重建了,在三维重建时,opencv的三维效果太差(本人才疏学浅,可能还没有学到如何使用opencv画出三维效果),使用opengl进行渲染可以达到更好的效果
下面将附上从各位大神处借鉴来的代码。
http://download.csdn.net/detail/zszszs1994/9769834