雙目三維重建—基於特徵點匹配的被動式三維重建(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;       //稠密

其中稠密匹配方式速度快,但是通用性及重建效果不如基於特徵點的匹配(尤其是深度變化較複雜的圖片)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章