双目三维重建—基于特征点匹配的被动式三维重建(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;       //稠密

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


2020年5月7日更新:

转自评论区闿涤:博主您好,在学习您这篇文章的时候也发现了之前提问的显示图片失败的问题。后来看了浅墨大神的文章(您推荐的那篇)后,发现是“附加依赖项”的问题,我在将附加依赖项中带d的写在前面,不带d的卸载后面,且只在32debug里改了之后,问题就解决了。您的文章给我帮助很大,希望我犯的错误大家可以借鉴下。

  • 12
    点赞
  • 113
    收藏
    觉得还不错? 一键收藏
  • 47
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 47
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值