一、安裝
以下步驟針對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
-
創建一個臨時目錄,我們將其表示為<cmake_build_dir>,您要在其中放置生成的Makefile,項目文件以及目標文件和輸出二進制文件并進入那里。
For example:cd ~/opencv mkdir build cd build
-
配置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后沒有空格。
- 參數使用說明
- 構建類型: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)
- 如果你不熟悉CMake,請查看其網站上的[教程](http://www.cmake.org/cmake/help/cmake_tutorial.html。
步驟
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
您應該得到一個漂亮的窗口,如下所示: