OpenCV在Linux上的安裝與使用

1.提前安裝依賴

建議按照下述命令進行全安裝。實際在安裝過程中,系統會跳過那些已經安裝過的依賴。

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

依賴包包括在編譯的時候要用到一些軟件,像gcc,cmake;還有一些是下載opencv需要的工具,像Git;還有一些編譯opencv所必需的,像ffmpeg 或libav ;還有一些是可選的包等等。可以通過下面幾條命令來安裝這些依賴包:

2.下載源碼包

下載地址:https://github.com/opencv/opencv/releases
下載後解壓到/home目錄下,解壓後的文件名爲opencv-3.3.1。

3.開始安裝

按照下述命令依次執行安裝過程:

  1. 預備階段
cd ~/opencv-3.3.1
mkdir build	 # 創建工程編譯所需文件夾
cd build
  1. 配置
#注意,後面的兩個點千萬不能省,代表了上級目錄
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

上面的CMAKE_BUILD_TYPE =RELEASE指明編譯的版本是Release版,CMAKE_INSTALL_PREFIX=/usr/local指明編譯後的可執行程序的存放目錄。

  1. 編譯&&安裝
make -j7     # 多線程執行make任務
sudo make install

上面代碼中的-j7指7線程同時編譯,根據自己CPU的特點調整該參數,如果不瞭解自己CPU,直接執行make即可。

  1. 查看安裝信息
pkg-config --modversion opencv	#查看安裝版本

4.驗證程序

創建main.cpp文件,加入如下代碼:

#include <iostream>
#include <opencv2/opencv.hpp>
 
using namespace std;
using namespace cv;
 
int main()
{
    Mat srcImage = imread("lena.jpg");
    imshow("源圖像",srcImage);
 
    waitKey(0);
 
    return 0;
}

程序所使用的編譯命令:

g++ -o main main.cpp `pkg-config opencv --cflags --libs`

上述編譯命令中:

–cflags:用來指定程序在編譯時所需要頭文件所在的目錄
–libs:用來指定程序在鏈接時所需要的動態鏈接庫的目錄

在上面的編譯命令中我們其實用到了一個工具“pkg-config”,它主要有以下幾個功能:
1.檢查庫的版本號。如果所需要的庫的版本不滿足要求,它會打印出錯誤信息,避免鏈接錯誤版本的庫文件。
2.獲得編譯預處理參數,如宏定義,頭文件的位置。
3.獲得鏈接參數,如庫及依賴的其它庫的位置,文件名及其它一些連接參數。
注意:使用之前請確保你安裝的OpenCV的安裝鏈接庫文件的目錄下有一個pkgconfig文件夾,在該文件夾裏面有個opencv.pc的文件,其實這就是pkg-config下OpenCV的配置文件。

最後:

./main	#進行驗證

若這時你發現有如下的錯誤提示:

./main: error while loading shared libraries: libopencv_highgui.so.3.3: cannot open shared object file: No such file or directory

請執行以下命令,爲程序指明庫文件的存儲位置。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

而後再次編譯、運行,即可成功。

5.如果你想卸載掉OpenCV

make uninstall
cd ..
sudo rm -r build
sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*

6.參考內容

1. OpenCV配置——在Linux中使用OpenCV
2. Ubuntu 16.04 安裝opencv的各種方法

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