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>
" ); return -1; } Mat image; image = imread( argv[1], 1 ); if ( !image.data ) { printf ( "No image data
" ); 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