双目三维重建—基于特征点匹配的被动式三维重建(OpenCV+OpenGL)

首先我们先来看一下三维重建的效果图:

这里特别感谢博主shiter的原创文章:OpenCV+OpenGL 双目立体视觉三维重建

本博文参考了该博主的的核心代码,并针对该博主博文中声明的一些BUG进行了修正:

本文代码下载地址(已修正相关问题问题):https://download.csdn.net/download/qq_15029743/10784389

本文主要从如何配置环境方面进行介绍,后期会更新基于摄像头实际抓图的三维重建

相机抓取的相片原图:

 

首先是本文的运行环境:Window 7 x64+OpenCV 2.4.10+VS 2013+OpenGL(GLUT)

首先你需要自行配置好OpenCV环境,这里就不再赘述了

OpenCV配置方法详细可以参考博主的博文:Open_cv 2.49+Windows 7(×64)+VS2013安装教程

不同之处在于我们采用的是2.4.10的OpenCV,导入附加依赖项如下(注意,OpenCV2.49也同样可以,只是需要将所有涉及到OpenCV 249的改成2410):

opencv_calib3d2410.lib
opencv_contrib2410.lib
opencv_core2410.lib
opencv_features2d2410.lib
opencv_flann2410.lib
opencv_gpu2410.lib
opencv_highgui2410.lib
opencv_imgproc2410.lib
opencv_legacy2410.lib
opencv_ml2410.lib
opencv_nonfree2410.lib
opencv_objdetect2410.lib
opencv_photo2410.lib
opencv_stitching2410.lib
opencv_ts2410.lib
opencv_video2410.lib
opencv_videostab2410.lib

 如果你的计算机配置完成OpenCV后出现如下提示:

 请在系统变量下添加path路径,并重启后即可生效:

如果提示缺少xxxx.LIB文件 ,大概率是opencv路径配置错误,请仔细检查路径并重新配置即可。

到这里就完成了OpenCV的基本配置,接下来进行OpenGl的配置,这里我们选择的是入门级的GLUT库,这里我们进行详细的介绍,首先我们要下载GLUT库:GLUT库(注:源码包中已包含该文件,无需重复下载)

解压库文件后,我们发现一共有五个文件,分别是:

  • glut.dll 动态链接库
  • glut.h 头文件
  • glut.lib 库文件
  • glut32.dll 动态链接库
  • glut32.lib 库文件

Step1:我们把glut.h文件放到VS安装目录下的GL文件夹中,以博主的默认安装路径,应该放到:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\GL

注:如果没有GL文件夹请新建一个

Step2:将得到的glut.lib和glut32.lib复制到vs2013的lib文件夹下:vs2013\VC\lib,以博主的默认安装路径,应该放到:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib

Step3:将glut.dll,glut32.dll复制到到操作系统目录下面的C:\Windows\SysWOW64或C:\Windows\system32文件夹内,以博主的默认安装路径,应该放到: 

C:\Windows\SysWOW64

 好了,到这里所有的配置就完成了,点击VS运行即可实现基本功能了:

 这里,程序中提供了两种重建方法,一种是基于特征点的,一种是基于稠密的,可以在程序中进行修改

将下面的语句修改成对应模式即可切换算法:

Algorithm g_algo = FEATURE_PT;  //基于特征点
Algorithm g_algo = DENSE;       //稠密

其中稠密匹配方式速度快,但是通用性及重建效果不如基于特征点的匹配(尤其是深度变化较复杂的图片)

全部评论

相关推荐

Yushuu:你的确很厉害,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了😆
点赞 评论 收藏
分享
点赞 2 评论
分享
牛客网
牛客企业服务