配置过程同样适使用于Ubuntu Mate16.04 LTS 亲测实使用
本文大部分来自@blanklog的博文
https://blog.csdn.net/blanklog/article/details/80918107
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 python3-dev python3-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev #[可选]
1
2
3
4
尽量安装最新版本的opencv,可以直接去github下载最新的代码,可以避免报错
Github-opencv
安装opencv
将下载的源码包解压,进入目录,建立编译目录
cd opencv-master
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. #编译成release版本,安装路径/usr/local/
1
2
3
4
5
之后进行make安装
make -j4 #根据cpu核心来选择
sudo make install
1
2
3
测试方法1
cd到opencv-3.4.1/samples/cpp/example_cmake目录下 我们可以看到这个目录里官方已经给出了一个cmake的example我们可以拿来测试下 按顺序执行
cmake .
make
./opencv_example
1
2
3
4
测试方法2
#include
#include
using namespace cv;
int main(int argc, char** argv )
{
if ( argc != 2 )
{
printf("usage: DisplayImage.out\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;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
1
2
3
4
5
cmake .
make
./DisplayImage opencv.jpg
1
2
3
查看当前OpenCV版本
pkg-config --modversion opencv
一般要增加的头文件
//程序依赖的头文件
#include
#include
#include
#include
//包含程序所用的命名空间
using namespace std;
using namespace cv;
1
2
3
4
5
6
7
8
9
CmakeLists.txt文件模板
project(Build)
find_package(OpenCV REQUIRED)
add_executable(Build LinearFilter.cpp)
target_link_libraries(Build ${OpenCV_LIBS})
1
2
3
4
5
讲解的比较详细的cmakelists编写规则请参见《视觉SLAM十四讲》 2.4节
编写完源文件和CmakeLists.txt后,新建一个build目录,进入目录,而后运行
cmake .. //工程链接库之类的
make //编译之类的,生成可执行文件
./Build //运行