Ubuntu18.04LTS下OpenCV的配置
配置过程同样适用于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
尽量安装最新版本的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
- 顺便一提可通过cmake-gui命令配置python,matlab等
之后进行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
- 创建目录opencv-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;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
- 创建CMake编译文件CMakeLists.txt
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<opencv2/core.hpp> #include<opencv2/highgui.hpp> #include<opencv2/imgproc.hpp> #include<iostream> //包含程序所使用的命名空间 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 //运行

本文暂时没有评论,来添加一个吧(●'◡'●)