ubuntu14.04下配置使用openCV3.0

[操  做  系  統]    Ubuntu 14.04 LTShtml

[OpenCV版本]      3.0.0-betapython

[Eclipse 版 本]    3.8.1linux

須要知識:git

  • Linux系統shell命令基礎
  • 編譯原理基礎知識,預編譯->編譯->彙編->連接
  • make 、cmake知識
  • IDE使用經驗
  • gcc,g++編譯器知識

1、編譯安裝opencv3.0

1. 準備環境

  直接編譯安裝opencv通常是會報錯的,有不少依賴工具須要先安裝。主要是:cmake, build-essential, pkg-config, python-dev, python-numpy等,視本身狀況而定。 github

  $ sudo apt-get install build-essential cmake libopencv-dev libgtk2.0-dev pkg-config python-dev python-numpy

2. 下載opencv3.0源碼

  直接去opencv.org(github) 上下載linux源碼包:web

  $ wget https://github.com/Itseez/opencv/archive/3.0.0-beta.zip

3. 解壓組織、編譯、安裝

  解壓文件,新建一個文件夾用於安放編譯結果,而後安裝(選擇安裝在/usr/local下面)shell

  $ unzip opencv-3.0.0-beta.zip
  $ cd opencv-3.0.0-beta
  $ mkdir release
  $ cd release
  $ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON 
      -D WITH_QT=ON -D WITH_OPENGL=ON .. //注意CMakeList.txt在上一層文件夾   $ make -j $(nproc) // make -j 多核處理器進行編譯(默認的make只用一核,很慢),$(nproc)返回本身機器的核數   $ make install //把編譯結果安裝到 /usr/local的 lib/ 和 include/下面

4. 環境配置

  可編輯文本配置部分:/etc/ld.so.conf.d/ 添加 opencv.conf 文件,記錄庫安裝位置;更新配置ubuntu

  $ cd /etc/ld.so.conf.d
  $ sudo vi opencv.config
  // insert "/usr/local/lib"    :q
  $ sudo ldconfig

  有的地方說,須要配置/etc/bash.bashrc 中PKG_CONFIG_PATH 環境變量,貌似不須要。bash

  (貌似,上面的opencv.conf都不用配置。只要 make install 就會在/usr/local/lib/pkgconfig下面產生opencv.pr的包含、連接配置)。網絡

  檢查包含、連接配置是否正確:

  $ pkg-config opencv --cflags --libs
  $ -I/usr/local/include/opencv -I/usr/local/include  /usr/local/lib/libopencv_calib3d.so /usr/local/lib/libopencv_core.so /usr/local/lib/libopencv_features2d.so     /usr/local/lib/libopencv_flann.so /usr/local/lib/libopencv_highgui.so /usr/local/lib/libopencv_imgcodecs.so /usr/local/lib/libopencv_imgproc.so /usr/local/l    ib/libopencv_ml.so /usr/local/lib/libopencv_objdetect.so /usr/local/lib/libopencv_photo.so /usr/local/lib/libopencv_shape.so /usr/local/lib/libopencv_stitch    ing.so /usr/local/lib/libopencv_superres.so /usr/local/lib/libopencv_ts.a /usr/local/lib/libopencv_video.so /usr/local/lib/libopencv_videoio.so /usr/local/l    ib/libopencv_videostab.so

2、使用opencv庫

1. 命令行形式

  直接編寫C 或者C++ 程序,而後分別用gcc,g++編譯器生成可執行程序。

  1) C程序版: 

  #include <highgui.h>

  int main(int argc, char **argv)
  {
          IplImage* img = cvLoadImage(argv[1],CV_LOAD_IMAGE_COLOR);
          cvNamedWindow("Image_show",CV_WINDOW_AUTOSIZE);
          cvShowImage("Image_show",img);
          cvWaitKey(0);
          cvReleaseImage(&img);
          cvDestroyWindow("Image_show");
          return 0;
  }

  編譯過程:

  $ gcc test.c -o test `pkg-config opencv --cflags --libs`

  2) C++程序版:

  #include <opencv2/opencv.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", WINDOW_AUTOSIZE );
    imshow( "Display Image", image );
    waitKey(0);
    return 0;
  }

  編譯過程:  

  $ g++ first.cpp -o first `pkg-config opencv --cflags --libs`     // 包含、連接參數必定要放在後面

2. CMake運行形式

  cmake 是先將程序所需的依賴、原料組織起來,產生Makefile,而後在又make來編譯生成可執行程序。最重要的就是編寫CMakeList.txt文件。以上文C++程序爲例,CMakeList.txt爲:

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

  而後,CMake,再make: 

  $ cmake . 
  $ make
  $ ./first

3. IDE開發工具

  在IDE工具(如VS,Eclipse)中利用opencv庫,和以上兩種方法考慮的地方同樣,都是要配置好include 和 lib 部分。

  具體Ubuntu下用Eclipse的方法,下面繼續。

3、eclipse下C++開發環境

1. 安裝eclipse

  Ubuntu下安裝很簡單,直接在software center裏就有。或者直接命令行apt-get install

2. 配置C++開發環境

  打開eclipse,在help 菜單下選擇 Install new software。打開的install對話框中,work with下拉菜單選擇Indigo Update Site - http://download.eclipse.org/releases/indigo/源。網絡刷新後:

  1) Collaboration中選擇Mylyn Context Connector:C\C++ Development組件,而後安裝,重啓eclipse;

  2) 繼續回到install對話框,在Programming Language中選擇C\C++相關的組件,如Development Tools,Development Tools SDK,CDT Visual C++ Support等。

  安裝好以上組件以後,就能夠在eclipse裏面新建C++工程。

3. opencv實踐

  1) 新建一個空的C++工程,而後添加source folder,source file;將上文的C++讀圖代碼拷貝進去。這時確定會提示有不少問題,編譯確定出錯。

  2) 接下來就是配置好包含文件和連接庫。右擊project explorer裏面的工程,打開properties,點開C\C++ Build選項,再點擊設置Setting。

    a) 設置包含include。在GCC C++ Compiler下面的includes裏面添加include path:/usr/local/include,/usr/local/include/opencv,/usr/local/include/opencv(視本身的代碼選擇include,保險的話,三個都設置上)。

    b) 設置連接庫。 在GCC C++ Linker下面的Libraries裏面,先添加search path爲:/usr/local/lib;而後逐個在Libraries中添加opencv_core, opencv_highgui, opencv_imgproc, opencv_imgcodes(貌似是新多出來的一個,不加要報錯)。

  3) 配置完畢,project --> Build All。另外說明,若是用IDE裏面的屬性來添加程序參數,文件路徑名最好用絕對路徑(其當前路徑應該爲你的項目一級目錄,跟據這個設相對路徑亦可)。

Reference:

  [1] Rodrigo Berriel's website: http://rodrigoberriel.com/2014/10/installing-opencv-3-0-0-on-ubuntu-14-04/

  [2] Using OpenCV with Eclipse: http://docs.opencv.org/doc/tutorials/introduction/linux_eclipse/linux_eclipse.html

相關文章
相關標籤/搜索