ubantu14.04.4配置opencv3.4.13+opencv_contrib-3.4.13
1.下载源码
在github上找到OpenCV的源码以及对应版本的opencv_contrib,下载下来。
2. 用cmake-gui编译
前提是自己电脑中已经安装过cmake-gui了。
2.1 安装依赖项
// 根据自己的需要进行安装依赖项,并后面随时需要也可以再添加
sudo apt-get install 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
sudo apt-get install qt5-default ccache libv4l-dev libavresample-dev libgphoto2-dev libopenblas-base libopenblas-dev doxygen openjdk-8-jdk pylint libvtk6-dev
sudo apt-get install pkg-config
2.2 开始编译
(1)问题解决:
fatal error: boostdesc_bgm.i: vgg_generated_80. vgg_generated_120.i没有那个文件或目录
所以只需要将这些文件下载然后放置到opencv_contrib/modules/xfeatures2d/src/ 路径下即可。
当然,这些文件的下载路径可以在cmake//日志中查看,直接复制其下载地址到网页可以看该到文件的源码,直接拷贝源码并生成同名文件然后放置到opencv_contrib/modules/xfeatures2d/src/ 路径下即可。
或者从百度网盘中下载,然后解压并将这些文件放置到opencv_contrib/modules/xfeatures2d/src/ 路径下即可。
百度云盘链接
密码: os8l
(2)问题解决:
出现ippicv、ffmpeg下载等错误。
根据博客【OpenCV】编译OpenCV时,FFmpeg或ippicv下载不成功的解决方案,以及其它可能下载不成功问题的解决方案进行解决.
下载好下载失败的文件,修改对应的cmake文件。
3.安装与使用
// 进入build文件夹,make -j4. 表示4个线程同时make
make -j4
// 安装
make install
使用例子
#include <iostream>
#include <chrono>
using namespace std;
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
int main ( int argc, char** argv )
{
// 读取argv[1]指定的图像
cv::Mat image;
image = cv::imread ( argv[1] ); //cv::imread函数读取指定路径下的图像
// 判断图像文件是否正确读取
if ( image.data == nullptr ) //数据不存在,可能是文件不存在
{
cerr<<"文件"<<argv[1]<<"不存在."<<endl;
return 0;
}
// 文件顺利读取, 首先输出一些基本信息
cout<<"图像宽为"<<image.cols<<",高为"<<image.rows<<",通道数为"<<image.channels()<<endl;
cv::imshow ( "image", image ); // 用cv::imshow显示图像
cv::waitKey ( 0 ); // 暂停程序,等待一个按键输入
cv::destroyAllWindows();
return 0;
}
参考
[1] ubuntu 18.04 安装opencv3.4.5+opencv_contrib
[2] 【OpenCV】编译OpenCV时,FFmpeg或ippicv下载不成功的解决方案,以及其它可能下载不成功问题的解决方案