转载请注明出处:https://blog.csdn.net/VennyJin/article/details/82533523
本文出自@VennyJin的博客
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 #[可选]
####下载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/
- 顺便一提可通过cmake-gui命令配置python,matlab等
之后进行make安装
make -j4 #根据cpu核心来选择
sudo make install
####安装完成测试
测试方法1
cd到opencv-3.4.1/samples/cpp/example_cmake目录下 我们可以看到这个目录里官方已经给出了一个cmake的example我们可以拿来测试下 按顺序执行
cmake .
make
./opencv_example
测试方法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;
}
- 创建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} )
- 编译执行
cmake .
make
./DisplayImage opencv.jpg
查看当前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;
CmakeLists.txt文件模板
project(Build)
find_package(OpenCV REQUIRED)
add_executable(Build LinearFilter.cpp)
target_link_libraries(Build ${OpenCV_LIBS})
讲解的比较详细的cmakelists编写规则请参见《视觉SLAM十四讲》 2.4节
编写完源文件和CmakeLists.txt后,新建一个build目录,进入目录,然后运行
cmake .. //工程链接库之类的
make //编译之类的,生成可执行文件
./Build //运行