1. 程式人生 > >linux下安裝opencv3.4.0

linux下安裝opencv3.4.0

準備工作
安裝一些庫(g++環境和OpenCV可適應環境)
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libgtk2.0-dev libv4l-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libdc1394-22-dev libandroid-properties1:i386 libhybris-common1:i386 gstreamer*

安裝cmake工具
sudo apt-get install cmake-gui

獲取原始碼
https://opencv.org/releases.html


基本上3.4.x的版本加上了深度學習和機器學習相關的內容。
 

配置編譯
1、解壓


2、開啟OpenCV目錄新建release存放編譯庫


3、命令列輸入cmake-gui啟動介面

選擇好兩個目錄,一個源目錄,一個編譯目錄
點選configure 選Unix Makefiles其餘預設 


 
4、配置好後若要新增庫再配置一遍
比如安裝拓展庫,拓展庫也可放在OpenCV主目錄下
在OPENCV_EXTRA_MODULE_PATH欄選擇拓展庫模組位置/xxx/opencv-3.4/opencv_contrib-3.4/modules
注:選擇3.4.0的OpenCV原始碼就要選擇3.4.0的拓展庫,不然可能編譯不上。拓展庫可去GitHub找https://github.com/opencv/opencv_contrib/tree/3.4.0

5、在BUILD_opencv_world後面打√

6、點選generate生成Makefile檔案

7、在release目錄下執行make
編譯結束後再bulid的lib目錄下生成*.so庫檔案

8、在release目錄下sudo make install
庫檔案裝到了/usr/local/lib下

9、進行一些配置
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'   
sudo ldconfig                # 使配置生效
sudo gedit /etc/bash.bashrc  
在檔案的末尾新增
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH 
儲存 
sudo source /etc/bash.bashrc  # 使配置生效

測試
1、開啟中端,新建cpp檔案,輸入測試程式碼

#include <iostream>
#include <opencv2/opencv.hpp>     //opencv3.x標頭檔案
using namespace std;
using namespace cv;

int main()
{
     Mat srcImage = imread("/xxx/1.jpg");  //選擇圖片目錄
     imshow("srcIMage",srcImage);

      waitKey(0);                //顯示停留等待使用者操作,類似Qt
      return 0;
}


2、編譯OpenCV


方式一:
g++ `pkg-config opencv --cflags` opencv.cpp  -o opencv `pkg-config opencv --libs` 


方式二:
簡單點新建Makefile檔案
makefile檔案內容

testopencv:main.cpp
        g++ $< -o $@ -lopencv_world 

比普通c++程式多連結了一個動態庫。

解除安裝
非圖形編輯器介面的檔案解除安裝通常按如下方法
sudo apt-get install checkinstall    # 安裝checkinstall工具,用來管理安裝的檔案,便於解除安裝
sudo checkinstall   # 執行checkinstall,按照提示就行操作即可。

安裝完後,在build檔案下生成一個以backup開頭的.tgz的備份檔案和一個以build開頭的.deb安裝檔案。
解除安裝當前的opencv,直接執行dpkg -r build