一、安装依赖

    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的更多相关文章

  1. Ubuntu系统---编译opencv程序的几种方式g++、Makefile、Cmake

    Ubuntu系统---编译opencv程序的几种方式g++.Makefile.Cmake 先建立一个工程(一个文件夹),写好xxx.cpp文件,可以是多个: //----------opencv.cp ...

  2. 使用Ubuntu系统编译安装Zabbix企业级监控系统

    使用Ubuntu系统编译安装Zabbix企业级监控系统   作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Ubuntu系统部署笔记:https://www.cnblogs.com/ ...

  3. CMake编译OpenCV4.0时opencv_ffmpeg.dll等下载失败的解决思路总结

    一.Configure会报一些红色的警告信息,比如: 1 CMake Warning at cmake/OpenCVDownload.cmake:193 (message): 2 FFMPEG: Do ...

  4. ubuntu系统编译安装OpenCV 4.4

    内容转载自我的博客 目录 前言 1. 下载源码 2. 安装各种依赖 3. 开始编译安装 4. 配置C++开发环境 5. 程序执行时加载动态库*.so 6. 测试cpp文件 7. 配置python3的o ...

  5. Ubuntu虚拟机编译Android6.0总结

    1 前言 昨天使用清华的源下载了android 6.0的源码,校园网可以达到10M的速度,爽!今天一大早就迫不及待地准备编译一个模拟器版本,看看效果,哪知竟然耗费了一整天的时间才搞定...为了避免其他 ...

  6. win10 cmake编译 opencv4.0 + pyhton3.7x64

    在超极本上本来不想编译了,反正没有cuda.但发现即使下载的opencv_contrib也不包含sift等等nonfree库了,要自己编译开编译选项才可以.坑啊,自己编译吧.反正opencv已经这么庞 ...

  7. Windows环境中编译opencv3.0同时加入OPENCV_contrib库及解决遇到相关问题[contrib 必须要3.1以上的opencv才支持了]

    更新:现在contrib库必须要opencv3.1以上才能支持编译通过了. 方法和步骤还是和本篇文章一样. ############################################## ...

  8. ubuntu 系统 opencv3.1.0 安装

    opencv编译安装 编译环境安装: sudo apt-get install build-essential 必需包安装: sudo apt-get install cmake git libgtk ...

  9. 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 ...

  10. Ubuntu 上编译opencv_contrib模块for Android

    https://blog.csdn.net/ipfpm/article/details/81132144 [ubuntu]Ubuntu中Android SDK下载跟配置 android24的版本 (1 ...

随机推荐

  1. 图菱科技 SaaS 系统容器化最佳实践

    大家好,我是龚承明,在图菱(成都)科技有限公司任职,主要负责公司的产品系统研发以及公司IT基础设施的建设工作.本篇文章将为大家介绍下我司在采用 KubeSphere 平台实现公司业务系统容器化过程中的 ...

  2. VS2019插件更新慢的解决办法

    VS2019更新巨慢,可以尝试通过以下几个方法解决: 1. 关闭IPV6 关闭IPV6:Win10怎么样禁用IPV6 如何关闭IPV6协议-百度经验 (baidu.com) 2. 选择最快的DNS 百 ...

  3. C++ 字面值常量的类型

    在C++中,字面常量(literal constant)即无需定义可以直接写出来的量.字面常量的值一望便知,但是他的数据类型往往不能被准确分辨(尤其是使用auto时). 我们直接写出来的有确定值的量就 ...

  4. Web渗透04_密码破解

    账号密码是任何一个系统都必备的要素. 弱密码 123456 654321 112233 admin 等等 默认密码 Tomcat控制台: tomcat/tomcat 明文传输 http的明文传输,可以 ...

  5. npoi2.3+泛型+反射 根据配置统一解析excel数据到实体的基础方法

    解析方法: /// <summary> /// excel数据解析到实体 /// </summary> /// <typeparam name="T" ...

  6. JS Parser Combinator (解析器组合子)

    前言 前些天偶然看到以前写的一份代码,注意有一段尘封的代码,被我遗忘了.这段代码是一个简单的解析器,当时是为了解析日志而做的.最初解析日志时,我只是简单的正则加上分割,写着写着,我想,能不能用一个简单 ...

  7. 3.16 Linux删除文件或目录(rm命令)

    当 Linux 系统使用很长时间之后,可能会有一些已经没用的文件(即垃圾),这些文件不但会消耗宝贵的硬盘资源,还是降低系统的运行效率,因此需要及时地清理. rm 是强大的删除命令,它可以永久性地删除文 ...

  8. 6. jenkins触发器

    常用的触发器 Jenkins内置4种构建触发器 触发远程 构建其他工程构建后触发(Build after other projects are build) 定时构建(Build periodical ...

  9. 2023NOIP A层联测31 T4 民主投票

    2023NOIP A层联测31 T4 民主投票 思维好题. 思路 首先可以设 \(s\) 每个人最多获得的票数,一开始所有点都把自己的票投给自己父亲. 如果一个点的票数超过 \(s\) 了,那么这个点 ...

  10. cornerstone中raft_server源码解析

    1.概述 cornerstone中核心即为raft_server的实现. 在raft里面有follower,leader,candidate三种角色,且角色身份还可以相互切换. 写三个类followe ...