ubuntu14.04+opencv2.4.x 的PTAM配置

PTAM 是visualSLAM的一種算法,不同於SLAM的實現,它將攝像機跟蹤和地圖構建分離,僅使用初始地圖構建及借用bundle的實現來實現每增添一個新的場景,便實時計算攝像機的位置。這一算法,爲AR領域帶來的革新,使AR真正進入虛擬與真實交互的新篇章。 

接下來,我將結合自己的實踐,爲大家介紹如何在Linux下安裝PTAM。

Opencv版的PTAM源碼可見:

https://github.com/BeLioN-github/PTAM

PTAM源碼下載下來後,可以再根目錄下看到PTAM的源碼文件,確認有VideoSource_Linux_Opencv.cc,, Makefile文件裏有VideoSource_Linux_Opencv.O等文件。

在根目錄下,我們還可以看到有一個  3rdparty.old的文件夾,這個文件夾裏有TooN, libcvd,gvars3等PTAM的依賴庫。 

然而,這些庫都太老了,以至於筆者怎麼配置都配不好。

只好,從git上講這三個依賴庫分別下載下來(git上的源碼還是很新的),分別進行編譯。


下面,具體介紹安裝過程

1 安裝 build工具

sudo apt-get update
sudo apt-get install build-essential cmake pkg-config
2 更新C++庫

sudo apt-get install libboost-dev libboost-doc
3 安裝線性代數的低級庫

sudo apt-get install liblapack-dev libblas-dev
4 圖像IO 和 攝像機驅動

sudo apt-get install libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev libv4l-dev 
5 視頻IO, 編解碼和 視頻顯示庫

sudo apt-get install libavcodec-dev libavformat-dev libavutil-dev libpostproc-dev libswscale-dev libavdevice-dev libsdl-dev
sudo apt-get install libgtk2.0-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev 
6 OpenGL

sudo apt-get install mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev freeglut3-de

之後,安裝PTAM的依賴庫

TooN庫一定要先安裝

創建一個目錄

  sudo mkdir PTAM-work

  cd PTAM-work

TooN

sudo git clone git://github.com/edrosten/TooN.git

cd TooN

sudo ./configure && make && sudo make install

cd ../


libcvd:

sudo git clone git://github.com/edrosten/libcvd.git

cd libcvd

sudo ./configure --without-ffmpeg --without-v4lbuffer --without-dc1394v1 --without-dc1394v2 

make

sudo make install

cd ../


Gvars3:

sudo git clone git://github.com/edrosten/gvars.git

cd gvars

sudo ./configure --disable-widgets

make

sudo make install


cd ../

 最後 是的安裝後的libs生效

sudo ldconfig


Opencv的安裝

sudo mkdir Opencv

cd Opencv

sudo apt-get update

1 下載跟新build環境

sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen3-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev default-jdk ant libvtk5-qt4-dev

2 獲取opencv源碼

sudo wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip
unzip opencv-2.4.9.zip
cd opencv-2.4.9
3 配置安裝
sudo mkdir build
cd build
cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D WITH_VTK=ON ..

確認 ffmpeg v4l 都支持

make
sudo make install

這樣opencv, 以及PTAM三個依賴庫全部就安裝到了 /usr/local include 和 lib文件夾下了



編譯PTAM

進入PTAM-work目錄

將之前提到的, git 上下載的PTAM-opencv源碼放在這個下面

進入到根目錄下

cp Build/Linux/* .

這一步是將Linux下的文件copy到根目錄下,一起編譯

最後確認Tracker.cc是否有 #include<unistd.h>,  如果沒有加上

最後 直接make即可


效果圖:

左一, 是運行CamraCalibrator程序,標定攝像機的樣例圖。 右邊兩個是運行PTAM程序的效果t



參考:

http://www.samontab.com/web/2014/06/installing-opencv-2-4-9-in-ubuntu-14-04-lts/

http://hustcalm.me/blog/2013/09/27/ptam-compilation-on-linux-howto/


ARVR技術交流羣:129340649

歡迎加入!





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