opencv编译安装
编译环境安装:
|
1
|
sudo apt-get install build-essential
|
必需包安装:
|
1
|
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
|
可选包安装:
|
1
|
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
|
opencv下载:
|
1
|
wget https://github.com/Itseez/opencv/archive/3.1.0.zip
|
|
1
|
git clone git://github.com/Itseez/opencv.git
|
创建编译的临时目录:
|
1
2
3
|
cd ~/opencv
mkdir build
cd build
|
注意: 这里假设opencv解压开的或者从github获取的源代码目录在用户主目录下。
生成cmake编译配置:
|
1
|
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
|
编译:
|
1
|
make -j4 # runs 4 jobs in parallel
|
安装opencv:
|
1
|
sudo make install
|
运行测试:
|
1
2
3
|
git clone https://github.com/Itseez/opencv_extra.git
OPENCV_TEST_DATA_PATH=~/opencv_extra
~/opencv/build/bin/opencv_test_core
|
一个例子:
首先创建一个目录 test,并进入目录:
|
1
2
|
mkdir test
cd test
|
其次,创建文件 DisplayImage.cpp 如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#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,如下:
|
1
2
3
4
5
6
|
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} ) |
最后运行:
|
1
|
./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