Ubuntu系统编译opencv4.0以上以及opencv_contrib
一、安装依赖
sudo apt install build-essential cmake libtbb2 libttb-dev libgtk-3-dev
sudo apt install python3 python3-dev pkg-config
sudo apt install libjpeg-dev libpng-dev libtiff-dev libjasper-dev
sudo apt install zlib1g zlibe1g-dev libavcodec-dev libavformat-dev libswscale-dev
sudo apt install libv4l-dev libxvidcore-dev libx264-dev libatlas-base-dev libdc1394-22-dev
sudo apt install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
sudo apt install gfortran openexr libopenexr-dev
二、下载opencv和opencv_contrib安装包
1.opencv:https://link.csdn.net/?target=https%3A%2F%2Fgithub.com%2Fopencv%2Fopencv
2.opencv_contrib:mirrors / opencv / opencv_contrib · GitCode
(注:opencv和opencv_contrib版本应一致)
三、编译opencv和opencv_contrib
将opencv_contrib解压后放到opencv文件夹内,在opencv文件夹内新建build文件
通过这个下载镜像下载:boostdesc_bgm.i,vgg_generated_48.i等.rar (提取码:p50x),放在 opencv_contrib/modules/xfeatures2d/src/ 路径下。
进入build文件,首先进行预编译
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_GENERATE_PKGCONFIG=ON -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..
CMAKE_BUILD_TYPE:编译类型
CMAKE_INSTALL_PREFIX:安装路径
OPENCV_GENERATE_PKGCONFIG:生成opencv.pc文件
OPENCV_EXTRA_MODULES_PATH:opencv_ccontrib编译
其次进行编译
make -j6
在编译过程中会出现两种问题:
1.问题:fatal error: features2d/test/test_detectors_regression.impl.hpp: 没有那个文件或目录
解决方案:将opencv / modules / features2d复制,然后粘贴到build目录中。
2.问题:fatal error: opencv2/xfeatures2d.hpp: 没有那个文件或目录
解决方案:将opencv_contrib/modules/xfeatures2d/include/opencv2中的xfeatures2d文件夹和 xfeatures2d.hpp文件复制到opencv/build/opencv2路径下
重新make,编译成功后,进行安装
sudo make install
四、测试
查看opencv的版本:opencv_version
————————————————
版权声明:本文为CSDN博主「优秀?」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_63441172/article/details/130343727
Ubuntu系统编译opencv4.0以上以及opencv_contrib的更多相关文章
- Ubuntu系统---编译opencv程序的几种方式g++、Makefile、Cmake
Ubuntu系统---编译opencv程序的几种方式g++.Makefile.Cmake 先建立一个工程(一个文件夹),写好xxx.cpp文件,可以是多个: //----------opencv.cp ...
- 使用Ubuntu系统编译安装Zabbix企业级监控系统
使用Ubuntu系统编译安装Zabbix企业级监控系统 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Ubuntu系统部署笔记:https://www.cnblogs.com/ ...
- CMake编译OpenCV4.0时opencv_ffmpeg.dll等下载失败的解决思路总结
一.Configure会报一些红色的警告信息,比如: 1 CMake Warning at cmake/OpenCVDownload.cmake:193 (message): 2 FFMPEG: Do ...
- ubuntu系统编译安装OpenCV 4.4
内容转载自我的博客 目录 前言 1. 下载源码 2. 安装各种依赖 3. 开始编译安装 4. 配置C++开发环境 5. 程序执行时加载动态库*.so 6. 测试cpp文件 7. 配置python3的o ...
- Ubuntu虚拟机编译Android6.0总结
1 前言 昨天使用清华的源下载了android 6.0的源码,校园网可以达到10M的速度,爽!今天一大早就迫不及待地准备编译一个模拟器版本,看看效果,哪知竟然耗费了一整天的时间才搞定...为了避免其他 ...
- win10 cmake编译 opencv4.0 + pyhton3.7x64
在超极本上本来不想编译了,反正没有cuda.但发现即使下载的opencv_contrib也不包含sift等等nonfree库了,要自己编译开编译选项才可以.坑啊,自己编译吧.反正opencv已经这么庞 ...
- Windows环境中编译opencv3.0同时加入OPENCV_contrib库及解决遇到相关问题[contrib 必须要3.1以上的opencv才支持了]
更新:现在contrib库必须要opencv3.1以上才能支持编译通过了. 方法和步骤还是和本篇文章一样. ############################################## ...
- ubuntu 系统 opencv3.1.0 安装
opencv编译安装 编译环境安装: sudo apt-get install build-essential 必需包安装: sudo apt-get install cmake git libgtk ...
- ubuntu系统---ubuntu16.04 + virtualenv + py2.7 + tf1.5.0 + keras2.2.4 + opencv2.4.9 +Numpy1.14
ubuntu16.04 + virtualenv + py2.7 + tf1.5.0 + keras2.2.4 + opencv2.4.9 +Numpy1.14 @https://www.liaoxu ...
- Ubuntu 上编译opencv_contrib模块for Android
https://blog.csdn.net/ipfpm/article/details/81132144 [ubuntu]Ubuntu中Android SDK下载跟配置 android24的版本 (1 ...
随机推荐
- 图菱科技 SaaS 系统容器化最佳实践
大家好,我是龚承明,在图菱(成都)科技有限公司任职,主要负责公司的产品系统研发以及公司IT基础设施的建设工作.本篇文章将为大家介绍下我司在采用 KubeSphere 平台实现公司业务系统容器化过程中的 ...
- VS2019插件更新慢的解决办法
VS2019更新巨慢,可以尝试通过以下几个方法解决: 1. 关闭IPV6 关闭IPV6:Win10怎么样禁用IPV6 如何关闭IPV6协议-百度经验 (baidu.com) 2. 选择最快的DNS 百 ...
- C++ 字面值常量的类型
在C++中,字面常量(literal constant)即无需定义可以直接写出来的量.字面常量的值一望便知,但是他的数据类型往往不能被准确分辨(尤其是使用auto时). 我们直接写出来的有确定值的量就 ...
- Web渗透04_密码破解
账号密码是任何一个系统都必备的要素. 弱密码 123456 654321 112233 admin 等等 默认密码 Tomcat控制台: tomcat/tomcat 明文传输 http的明文传输,可以 ...
- npoi2.3+泛型+反射 根据配置统一解析excel数据到实体的基础方法
解析方法: /// <summary> /// excel数据解析到实体 /// </summary> /// <typeparam name="T" ...
- JS Parser Combinator (解析器组合子)
前言 前些天偶然看到以前写的一份代码,注意有一段尘封的代码,被我遗忘了.这段代码是一个简单的解析器,当时是为了解析日志而做的.最初解析日志时,我只是简单的正则加上分割,写着写着,我想,能不能用一个简单 ...
- 3.16 Linux删除文件或目录(rm命令)
当 Linux 系统使用很长时间之后,可能会有一些已经没用的文件(即垃圾),这些文件不但会消耗宝贵的硬盘资源,还是降低系统的运行效率,因此需要及时地清理. rm 是强大的删除命令,它可以永久性地删除文 ...
- 6. jenkins触发器
常用的触发器 Jenkins内置4种构建触发器 触发远程 构建其他工程构建后触发(Build after other projects are build) 定时构建(Build periodical ...
- 2023NOIP A层联测31 T4 民主投票
2023NOIP A层联测31 T4 民主投票 思维好题. 思路 首先可以设 \(s\) 每个人最多获得的票数,一开始所有点都把自己的票投给自己父亲. 如果一个点的票数超过 \(s\) 了,那么这个点 ...
- cornerstone中raft_server源码解析
1.概述 cornerstone中核心即为raft_server的实现. 在raft里面有follower,leader,candidate三种角色,且角色身份还可以相互切换. 写三个类followe ...