在ubuntu下安裝opencv_2.4.13。目前最新的版本是3。但2.4算是穩定版本了。
系統環境:ubuntu16.04.2_amd32
時間:2017.7.7
博客主頁:http://blog.csdn.net/xs1102
文章地址:http://blog.csdn.net/xs1102/article/details/74729416
1、下載源代碼
先從官網下載源代碼:http://opencv.org/releases.html,如果以後網址改變,請自行搜索。將源代碼解壓到主目錄下,壓縮包內自帶一級文件夾,不用擔心文件散落一地。
2、安裝依賴項
apt-get install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev libtbb-dev
以上是基本的依賴項,基本可以保證編譯不出錯。其他依賴庫可以安裝,來增強opencv的功能。不安裝則不編譯相關模塊。
3、編譯安裝
建立build目錄,在build目錄中配置項目。默認安裝到/usr/local目錄下。
cmake
或者
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON .
可以使用4個線程編譯,請根據自己的情況選擇,i5啓用4個線程,就基本做不了其他事了。默認-j1
make -j4
安裝
make install
安裝完成。
==========================================================================
2018.04.11更新:
如果需要一併安裝擴展模塊,可以下載對應版本的opencv-contrib,然後在cmake中設置“OPENCV_EXTRA_MODUALS_PATH”其參數值爲opencv_contrib源碼包中的modules目錄。
opencv_contrib下載地址:https://github.com/opencv/opencv_contrib/releases
==========================================================================
2018.07.02更新:
修正以前的筆誤,擴展模塊參數名爲OPENCV_EXTRA_MODULES_PATH,拼寫錯誤
==========================================================================
2018.10.06更新:
若編譯DEBUG版本的opencv:
需要將CMAKE_BUILD_TYPE改爲DEBUG,並且將WITH_TBB改爲BUILD_TBB,因爲下載的TBB庫時release的,opencv會報錯的。若有其他找不到debug版本庫的錯誤,也將其選項做類似修改。
若編譯時出現
/usr/bin/ld: /usr/local/lib/libgflags.a(gflags.cc.o): relocation R_X86_64_32 against `__pthread_key_create@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libgflags.a: error adding symbols: Bad value
這是gflags庫的問題,重新編譯gflags的動態庫和靜態庫。以下是編譯命令。注意:這是編譯gflags的命令!
mkdir build && cd build
cmake -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON ..
make && make install
若glog也有類似問題,靈活變通一下。
==========================================================================
2019.05.23更新:
若使用CUDA加速,在cmake命令的參數中添加以下幾個參數
-D WITH_CUDA=ON -D WITH_CUBLAS=ON -D CUDA_FAST_MATH=ON
,之後編譯完成就可以使用GpuMat等功能,享受顯卡帶來的加速。