寫在前邊:
據官方說法,目前還不是太穩定的算法模塊都在opencv_contrib里邊,由於不穩定,所以不能在release版本里發行,只有在穩定以后才會放進release里邊。但是這里邊有很多我們經常要用的算法,比如SIFT,SURF等(在xfeatures2d 模塊里邊)。官網提供了說明,可以把opencv_contrib擴展模塊添加編譯到已安裝的opencv3.0.0里邊,也可以安裝的時候直接把擴展模塊編譯進去一並安裝。
1.依賴關系:
- GCC 4.4.x or later
- CMake 2.8.7 or higher
- Git
- GTK+2.x or higher, including headers (libgtk2.0-dev)
- pkg-config
- Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
- ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev
- [optional] libtbb2 libtbb-dev
- [optional] libdc1394 2.x
- [optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
注:官方文檔中雖然說其中一些依賴包是可選的,但是最好還是都裝上,以防出問題。
以上依賴包可用以下命令安裝:
sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
2.下載源碼:
a.可以從opencv官網直接下載:http://opencv.org/downloads.html
b.也可以從github上clone:
cd ~/<my_working_directory> //比如工作目錄為opencv即,cd ~/opencv git clone https://github.com/Itseez/opencv.git git clone https://github.com/Itseez/opencv_contrib.git
3.CMake Opencv源碼:
建立一個編譯目錄(例如:/build)把cmake后的文件都放在這里邊。
cd ~/opencv mkdir build //建立一個build目錄,把cmake的文件都放着里邊 cd build //進入build目錄
然后開始cmake,這里需要注意幾個cmake的參數,比較重要。
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=<path to opencv_contrib/modules/> ..
注:命令中最后的" .. "(空格+兩個點)千萬不要忘記
其中 CMAKE_BUILD_TYPE=Release / Debug
OPENCV_EXTRA_MODULES_PATH 就是用來指定要編譯的擴展模塊,后邊加上剛下載的opencv_contrib模塊的路徑即可。
這里官方文檔上還給出了其他一些參數,但是我沒用過,這里就不再描述了。有需要的可以查看http://docs.opencv.org/trunk/d7/d9f/tutorial_linux_install.html
4.把代碼編譯成可執行文件,這里官方推薦使用多進程編譯,推薦七個進程:
make -j7 # 並行運行七個jobs,這一步也在build目錄中進行
5.安裝。
sudo make install
6.運行測試。
我是用python+opencv的,我這里直接運行opencv自帶的python的例子程序
cd <opencv3.1.0_dir>/samples/python/ python asift.py
結果:

參考文獻:
http://docs.opencv.org/trunk/d7/d9f/tutorial_linux_install.html
https://github.com/Itseez/opencv_contrib/blob/master/README.md
