Liniux系統安裝編譯OpenCV(1)

一、安裝

以下步驟針對Ubuntu 10.04進行了測試,對于其他發行版操作步驟相同。

Required Packages

必須安裝
  • 安裝GCC 4.4.x 版本或者更高版本
  • 安裝 CMake 2.8.7版本或者更高版本
  • 安裝Git
  • 安裝GTK+2.0以后版本,同時安裝libgtk2.0-dev
  • 安裝pkg-config
  • 安裝Python 2.6或更高版本以及Numpy 1.5或更高版本的開發人員包(python-dev,python-numpy)
可選安裝
  • libtbb2 libtbb-dev

  • libdc1394 2.x

  • libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev

  • CUDA Toolkit 6.5 or higher
    可以使用終端和以下命令或使用Synaptic Manager安裝軟件包:

    [compiler] sudo apt-get install build-essential
    [required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
    [optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
    

Required Packages

你可以使用最新的穩定OpenCV版本,也可以從我們的Git存儲庫中獲取最新的源碼

Getting the Latest Stable OpenCV Version
  • 轉到我們的下載頁面
  • 下載源存檔并解壓縮。
Getting the Cutting-edge OpenCV from the Git Repository

啟動Git客戶端并克隆OpenCV存儲庫。 如果你需要來自OpenCV contrib repository里的模塊,那么也可以克隆它。
For example:

cd ~/<my_working_directory>
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

Building OpenCV from Source Using CMake

  1. 創建一個臨時目錄,我們將其表示為<cmake_build_dir>,您要在其中放置生成的Makefile,項目文件以及目標文件和輸出二進制文件并進入那里。
    For example:

     cd ~/opencv
     mkdir build
     cd build
    
  2. 配置cmake運行路徑:[<some optional parameters>] <path to the OpenCV source directory>
    For example:

     cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ...
    

或者make-gui

  • 設置OpenCV源代碼的完整路徑,例如/ home / user中/ OpenCV的
  • 設置<cmake_build_dir>的完整路徑,例如/ home / user中/ OpenCV的/編譯
  • 設置可選參數
  • 運行:“配置”
  • 運行:“生成”
    Note

    如果上面的示例不起作用,請使用cmake -DCMAKE_BUILD_TYPE = Release -DCMAKE_INSTALL_PREFIX = / usr / local ..,在-D后沒有空格。

  1. 參數使用說明
  • 構建類型:CMAKE_BUILD_TYPE = Release \ Debug
  • 使用opencv_contrib模塊構建OPENCV_EXTRA_MODULES_PATH到<opencv_contrib / modules />的路徑
  • 設置BUILD_DOCS以構建文檔
  • 設置BUILD_EXAMPLES以構建所有示例
    Note

如果創建的庫的太大在一些硬件環境中(例如在Android構建的情況下),你可以使用install / strip命令來獲得最小的大小。 此時版本所需空間將會比原先版本較少兩倍。 然而除非那些額外的大文件確實很重要,否則我們不建議使用它。

二、使用gcc和cmake完成第一個opencv程序

Note

如果上邊OpenCV已經完成了安裝,下來我們開始寫第一個Opencv程序。

  • 在代碼中使用OpenCV的最簡單方法是使用CMake,且有一些無法取代的優點(出自Wiki):
    1. 在Linux和Windows之間移植時無需更改任何內容
    2. 可以很容易地與CMake的其他工具結合使用(即Qt,ITK和VTK)

步驟

Create a program using OpenCV

我們寫一個簡單的程序,如:DisplayImage.cpp。

#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
    if ( argc != 2 )
{
    printf("usage: DisplayImage.out <Image_Path>\n");
    return -1;
}
Mat image;
image = imread( argv[1], 1 );
if ( !image.data )
{
    printf("No image data \n");
    return -1;
}
namedWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}
Create a CMake file

現在您必須創建CMakeLists.txt文件,如下所示:

 cmake_minimum_required(VERSION 2.8)
 project( DisplayImage )
 find_package( OpenCV REQUIRED )
 include_directories( ${OpenCV_INCLUDE_DIRS} )
 add_executable( DisplayImage DisplayImage.cpp )
 target_link_libraries( DisplayImage ${OpenCV_LIBS} )
Generate the executable(生成可執行文件)

這部分很簡單,就像使用CMake的任何其他項目一樣:

cd <DisplayImage_directory>
cmake .
make
Result

到目前為止,您應該有一個可執行文件(在本例中稱為DisplayImage)。 你必須運行它,給出一個圖像位置作為參數,即:

./DisplayImage lena.jpg

您應該得到一個漂亮的窗口,如下所示:


GCC_CMake_Example_Tutorial.jpg
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。