Ubuntu 16.04 Opencv3.1.0 + Contrib from Source Code

Firstly I used Anaconda3 to create an environment and install opencv with contirb but failed. I tried 3.4.3 and 3.1.0, all faild in cmake. At last I unload Anaconda3 and this time I succeed.?

1.Prepare:

依賴關(guān)系:

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

注:官方文檔中雖然說其中一些依賴包是可選的,但是最好還是都裝上,以防出問題。

以上依賴包可用以下命令安裝:

sudoapt-get?install build-essential

sudo apt-get?install cmake

git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

sudo apt-get?installpython-dev

python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

下載源碼:

a.可以從opencv官網(wǎng)直接下載: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

2 Cmake:

建立一個編譯目錄(例如:/build)把cmake后的文件都放在這里邊。

cd~/opencv

mkdirbuild??//建立一個build目錄,把cmake的文件都放著里邊

cdbuild   //進入build目錄

文件目錄結(jié)構(gòu)如下

opencv

--3rdpary ...and so on

---opencv_contrib

---build

然后開始cmake,這里需要注意幾個cmake的參數(shù),比較重要。

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模塊的路徑即可。

這里官方文檔上還給出了其他一些參數(shù),但是我沒用過,這里就不再描述了。有需要的可以查看http://docs.opencv.org/trunk/d7/d9f/tutorial_linux_install.html

進入上述中新建的build文件目錄中 my commands:

cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=~/opencv/opencv_contrib/modules/ -D CMAKE_INSTALL_PREFIX=/usr/local ..

if cmake succees, here you will see Congfigure done

3 make&insatall:

把代碼編譯成可執(zhí)行文件,這里官方推薦使用多進程編譯,推薦七個進程:

make -j7

并行運行七個jobs,這一步也在build目錄中進行

here I got an error in 100%... : opencv hdf5.h: 沒有那個文件或目錄

and solved:

dirty hardcoding

find_package(HDF5)

include_directories(${HDF5_INCLUDE_DIRS})

into modules/python/common.cmake

install:

sudo make install

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容