内容简介:
在ubuntu18.04环境下安装opencv+opencv-contrib,并导入qt中使用。
下载资源: opencv + opencv_contrib
git clone https://github.com/Itseez/opencv.git git clone https://github.com/Itseez/opencv_contrib.git
下载过程
git下载相对比较慢:需要耐心等待
安装依赖库
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 python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
等待opencv以及opencv-contrib两个文件库下载成功后:
将opencv-contrib文件夹拷贝到opencv文件夹中,同时创建biuld文件,用于保存编译后生产的文件:一键执行如下
mv opencv_contrib/ && cd opencv && mkdir biuld
终端
进入opencv文件夹后执行结果
CMakelist.txt 参数配置,将下图中的OFF该为ON,否则使用#include "opencv2/xfeatures2d.hpp"时会报错
进入biuld文件夹中并执行cmake命令
cd biuld
cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..
编译过程:
采用make编译makefile文件
make
博主编译过opencv,本次实验是增加opencv-contrib的编译,所以跳过了很多的编译:
编译的过程主要生产.o文件(汇编文件),并打包成静态库(.a文件)和动态库(.so文件)。生产的汇编文件保存在保存在modules文件夹下,库文件保存在lib文件夹下
编译过程出错时解决办法:需要下载源文件,源文件在github的opencv-contrib资源文件中寻找,缺哪个文件就去下载哪个文件
链接如下:
https://github.com/opencv/opencv_contrib
建立文件软链接,将数据同步到/usr/local/lib文件夹下
sudo make install
设置结果如下
到此,opencv安装成功
QT的工程目录的.pro文件中引用lib库文件和include头文件即可使用opencv
INCLUDEPATH += /usr/local/include/opencv4\
/usr/local/include/opencv4/opencv2LIBS += /usr/local/lib/libopencv_*.so
测试程序
#include <ostream>
#include <opencv.hpp>
#include<opencv2/opencv.hpp>
#include "opencv2/xfeatures2d.hpp"int main(int argc, char *argv[])
{
/*
本章内容:
环境安装测试
*/
cv::String fileName = "/home/wang/dev/Image/board.png"; // 根据环境修改路径
cv::Mat src = cv::imread(fileName);if(src.data == NULL){
printf("图像读入失败\n");
return -1;
}
cv::imshow("src",src);cv::waitKey(0);
return 1;
}