opencv編譯安裝
編譯環境安裝:
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
opencv下載:
wget https://github.com/Itseez/opencv/archive/3.1.0.zip
git clone git://github.com/Itseez/opencv.git
創建編譯的臨時目錄:
cd ~/opencv mkdir build cd build
注意: 這里假設opencv解壓開的或者從github獲取的源代碼目錄在用戶主目錄下。
生成cmake編譯配置:
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
編譯:
make -j4 # runs 4 jobs in parallel
安裝opencv:
sudo make install
運行測試:
git clone https://github.com/Itseez/opencv_extra.git OPENCV_TEST_DATA_PATH=~/opencv_extra ~/opencv/build/bin/opencv_test_core
一個例子:
首先創建一個目錄 test,並進入目錄:
mkdir test cd test
其次,創建文件 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;
}
接着,創建cmake配置文件 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} )
最后運行:
./DisplayImage psu.jpg #隨便一張圖片都行
參考:
http://docs.opencv.org/3.1.0/d7/d9f/tutorial_linux_install.html
http://docs.opencv.org/3.1.0/db/df5/tutorial_linux_gcc_cmake.html
