1. 程式人生 > >ubuntu 16.04 安裝opencv3.4.3以及opencv_contrib_3.4.3

ubuntu 16.04 安裝opencv3.4.3以及opencv_contrib_3.4.3

1 下載對應版本的opencv和contrib(版本一定要一致!)

opencv版本在這[https://github.com/opencv/opencv/releases],contrib版本在這[https://github.com/opencv/opencv_contrib/tree/3.4.3],注意!要選擇版本是在左上角Tag那裡選。

2 安裝

(1) 安裝依賴項

sudo apt-get installbuild-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)將contrib檔案放在opencv資料夾下

(3) 安裝cmake-gui

sudo apt-get install cmake-gui

3

進入cmake-gui

在終端輸入  

cmake-gui ..

設定路徑:

確定路徑沒問題之後點選configure選擇Unix Makefiles,其餘預設,點選finish。

這裡需要對三個地方進行修改:

(1)在CMAKE_BUILD_TYPE 值處輸入RELEASE,其他保持不變(如果已經存在就不必修改)。
下方的CMAKE_INSTALL_PREFIX顯示了預設的安裝目錄,生成makefile檔案最後執行 make install時就會安裝到這個目錄,這裡可以根據個人需求更改。但是建議就按照預設路徑來,不要亂改!

(2)在OPENCV_EXTRA_MODULES_PATH處,選擇輸入目錄(單擊這一行後方空白處即可選中)

接著選擇opencv_contrib資料夾中的modules資料夾,注意,不是隻選中opencv_contrib資料夾就好了,需要點進去選中裡面的modules資料夾! 如下圖所示,我從左側echo裡進去選的,大家從自己安裝位置選擇就好。然後點Choose。

(3)在BUILD_opencv_world後面打√

最後點選Generate生成配置檔案

進入終端,進入自己的opencv的build檔案下

輸入:make,等待make結束

4 配置環境變數

1)安裝成功後還需要設定opencv的環境變數。開啟檔案:

  sudo gedit /etc/ld.so.conf.d/opencv.conf

(2)將以下內容新增到最後:

  /usr/local/lib

(3)接下來配置庫:

  sudo ldconfig

(4)更改環境變數:

  sudo gedit /etc/bash.bashrc

(5)在檔案後新增:

  PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
  export PKG_CONFIG_PATH

5 測試

新建test資料夾,test.cpp以及CMakeLists.txt,並放入一張圖片

(1)在test.cpp中寫入:

#include <cv.h>
#include <highgui.h>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main( int argc, char** argv )
{
    Mat image;
    image = imread( argv[1], 1 );
    if( argc != 2 || !image.data )
    {
        printf( "No image data \n" );
        return -1;
    }
    namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );
    imshow( "Display Image", image );
    waitKey(0);
    return 0;
}

(2) 在CMakeLists.txt中寫入:

cmake_minimum_required( VERSION 2.8 )
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage test.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )

(3)終端進入test檔案

cmake .

make

./DisplayImage 1.png

參考部落格:

https://blog.csdn.net/echoamor/article/details/83022352