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 ~/opencvmkdir buildcd 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.gitOPENCV_TEST_DATA_PATH=~/opencv_extra~/opencv/build/bin/opencv_test_core |
一个例子:
首先创建一个目录 test,并进入目录:
|
1
2
|
mkdir testcd 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