Ubuntu下OpenCV的配置

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

  1. 创建目录opencv-test
  2. 进入目录
  3. 创建编辑文件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>
"); 
 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; 
 } 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  1. 创建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
  1. 编译执行
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 //运行

Ubuntu下OpenCV的配置

相关推荐