Ubuntu 18.04 OpenCV3.4.5 + OpenCV3.4.5 Contrib 编译

news2024/12/23 22:18:08

目录

1 依赖安装

2 下载opencv3.4.5及opencv3.4.5 contrib版本

3 编译opencv3.4.5 opencv3.4.5_contrib及遇到的问题


1 依赖安装

        首先安装编译工具CMake,命令安装即可:

sudo apt install cmake

        安装Eigen:

sudo apt-get install libeigen3-dev

        将Eigen放到程序可以找到的地方:

 cd /usr/include/eigen3 
 sudo cp Eigen/ .. -R 

        安装opencv依赖:

sudo  apt-get  install  libglew-dev
sudo  apt-get  install  libboost-dev libboost-thread-dev 
sudo  apt-get  install  libboost-filesystem-dev
sudo  apt-get  install  libpython2.7-dev
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  
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

        在安装libjasper-dev的时候会出现下图问题:

        执行下面的命令:

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev

        即可完成安装。

2 下载opencv3.4.5及opencv3.4.5 contrib版本

        opencv3.4.5下载链接:

https://github.com/opencv/opencv/releases/tag/3.4.5icon-default.png?t=N7T8https://github.com/opencv/opencv/releases/tag/3.4.5       opencv3.4.5 contirb下载链接:

Release 3.4.5 · opencv/opencv_contrib · GitHubRepository for OpenCV's extra modules. Contribute to opencv/opencv_contrib development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/opencv/opencv_contrib/releases/tag/3.4.5        我们解压这两个文件,将opencv3.4.5_contrib放到opencv3.4.5的文件夹中,如图:

3 编译opencv3.4.5 opencv3.4.5_contrib及遇到的问题

        我们建立build文件夹,在build文件夹下面输入如下命令:

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv-3.4.5 -D OPENCV_EXTRA_MODULES_PATH=/bag/opencv-3.4.5/opencv_contrib-3.4.5/modules/ -D OPENCV_ENABLE_NONFREE=True ..

        这个一定不能省略.....

        出现这个界面表示配置完成:

        编译opencv:

make -j

        然后出现第一个问题:

        我们找到这个文件:

        将47行改成这个:

# include </usr/include/eigen3/unsupported/Eigen/MatrixFunctions>

        再进行编译:

        然后出现第二个问题:

        这是由于opencv_contrib缺少文件导致的:

boostdesc_bgm.i
boostdesc_bgm_bi.i
boostdesc_bgm_hd.i
boostdesc_lbgm.i
boostdesc_binboost_064.i
boostdesc_binboost_128.i
boostdesc_binboost_256.i
vgg_generated_120.i
vgg_generated_64.i
vgg_generated_80.i
vgg_generated_48.i

        这个是由于缺少文件,我上传到了这个链接处:

https://download.csdn.net/download/qq_41694024/88407734icon-default.png?t=N7T8https://download.csdn.net/download/qq_41694024/88407734        我们把这些文件保存到OpenCV源码根目录的隐藏文件夹.cache/xfeatures2d/下面:

        还有这个文件夹下:

        编译:遇到找不到cuda的问题:

        我们在系统中寻找这个文件:

liuhongwei@liuhongwei-Legion-Y9000P-IRX8H:/bag/opencv-3.4.5/build$ sudo updatedb[sudo] password for liuhongwei: 
liuhongwei@liuhongwei-Legion-Y9000P-IRX8H:/bag/opencv-3.4.5/build$ locate cuda.hpp
/bag/opencv-3.4.15/modules/core/include/opencv2/core/cuda.hpp
/bag/opencv-3.4.15/modules/core/include/opencv2/core/private.cuda.hpp
/bag/opencv-3.4.15/modules/photo/include/opencv2/photo/cuda.hpp
/bag/opencv-3.4.5/modules/core/include/opencv2/core/cuda.hpp
/bag/opencv-3.4.5/modules/core/include/opencv2/core/private.cuda.hpp
/bag/opencv-3.4.5/modules/photo/include/opencv2/photo/cuda.hpp
/bag/opencv-3.4.5/opencv_contrib-3.4.5/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp
/bag/pcl-pcl-1.8.0/gpu/utils/include/pcl/gpu/utils/timers_cuda.hpp
/usr/include/opencv2/core/cuda.hpp
/usr/include/opencv2/core/private.cuda.hpp
/usr/include/opencv2/photo/cuda.hpp

        改成绝对路径:

        这个错误也是一样的:

        在这个路径下:

        都是这么处理的:

        成功了:

        安装即可:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1072485.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决Mysql8.0不存在mysql.proc表

摘自MySQL8.0官方文档&#xff1a; The parameters and routines data dictionary tables together supersede the proc table from before MySQL 8.0. 大概意思说&#xff0c;在mysql database中parameters表和routines数据字典表一起取代了MySQL 8.0之前的proc表。 MySQL 8.0…

前端uniapp生成海报并保存相册

uiapp插件 目录 图片qrcode.vue源码完整版封装源码qrcodeSwiper.vue最后 图片 qrcode.vue源码完整版 <template><view class"qrcode"><div class"qrcode_swiper SourceHanSansSC-Normal"><!-- <cc-scroolCard :dataInfo"dat…

巧用excel实现试卷向表格的转换

MID($E$10,FIND(D14,$E$10,1),FIND(D15,$E$10,1)-FIND(D14,$E$10,1)) MID($E$10,FIND(D15,$E$10,1),FIND(D16,$E$10,1)-FIND(D15,$E$10,1)) 中华人民共和国司法部

1130 - Host ‘192.168.10.10‘ is not allowed to connect to this MysOL server

mysql 远程登录报错误信息&#xff1a;1130 - Host 124.114.155.70 is not allowed to connect to this MysOL server //需要在mysql 数据库目录下修改 use mysql; //更改用户的登录主机为所有主机&#xff0c;%代表所有主机 update user set host% where userroot; //刷新权…

uni-app 实现考勤打卡功能

一、在页面中引入地图组件 <map id"map" style"width: 100%; height: 100%" :latitude"myLatitude" :longitude"myLongitude" :circles"circles" :markers"markers"> </map>属性名类型说明longitudeN…

IDEA自定义代码快捷指令

在IDEA中&#xff0c;有很多默认的代码快捷指令&#xff0c;例如输出&#xff08;sout&#xff09;、main方法&#xff08;psvm&#xff09;等&#xff0c;有时候&#xff0c;我们也需要自定义一些常用的代码片段&#xff0c;例如执行时间打印等&#xff0c;这时候&#xff0c;…

阿桂天山的技术小结:Flask对Ztree树节点搜索定位

话不多说,上图上源码 1.先看效果图 2.前端页面部分: 1)页面 <!DOCTYPE html> <HTML><HEAD><TITLE>Ewangda 阿桂天山的Ztree实战</TITLE><meta http-equiv"content-type" content"text/html; charsetUTF-8"><link…

vue脚手架项目创建及整理

环境准备 首先安装node,如果项目需要指定node版本 可以按装nvm控制版本 创建vue vue create 项目名选择对应版本 这边我是选的自定义&#xff0c;就是第三个选项&#xff0c;可以提前给我下好 router vuex什么的&#xff08;空格&#xff09; 选项如图标注 等待下载所需的…

什么是Spring

一、前言 参与java项目开发的工作&#xff0c;没有人可以离开Spring&#xff0c;但是什么是Spring呢&#xff1f;我们平时可以说对于这个概念早已经是熟视无睹。今天我还特意查看了官网的介绍&#xff0c;但是上面竟然没有说明Spring是什么&#xff0c;之说了Spring的特征和能…

这道面试题工作中经常碰到,但 99% 的程序员都答不上来

小时候都被问过一个脑筋急转弯&#xff0c;把大象放进冰箱有几个步骤&#xff1f;我们一开始都会抓耳挠腮&#xff0c;去想着该如何把大象塞进冰箱。最终揭晓的答案却根本不关心具体的操作方法&#xff0c;只是提供了 3 个步骤组成的流程&#xff0c;「把冰箱打开&#xff0c;把…

MQTT服务器源码解析

目录 1、关于header问题 2、MQTT 连接参数的使用 2.1连接地址 2.2 基于 TCP 的 MQTT 连接 2.3 基于 WebSocket 的连接 3、订阅topic 4、推送消息给订阅者 5、QOS 机制 5.1 QOS是什么 5.2 QOS的实现原理 5.3 发送流程 6、reatain机制 总结&#xff1a;给还没上线的…

节日灯饰灯串灯出口欧洲CE认证检测

灯串&#xff08;灯带&#xff09;&#xff0c;这个产品的形状就象一根带子一样&#xff0c;再加上产品的主要原件就是LED&#xff0c;因此叫做灯串或者灯带。2022年&#xff0c;我国灯具及相关配件产品出口总额超过460亿美元。其中北美是最大的出口市场。其次是欧洲市场&#…

传奇开服教程GOM传奇引擎外网全套架设教程

传奇开服教程&#xff1a;GOM引擎外网架设教程 准备工具&#xff1a;版本&#xff0c;DBC数据库&#xff0c;传奇客户端&#xff0c;服务器&#xff0c;备案域名 架设传奇外网GOM引擎版本之前我们连接登录服务器&#xff0c;我们把版本&#xff0c;DBC数据库&#xff0c;传奇…

会议邀请 | 思腾合力邀您共赴PRCV 2023第六届中国模式识别与计算机视觉大会

第六届中国模式识别与计算机视觉大会&#xff08;The 6th Chinese Conference on Pattern Recognition and Computer Vision, PRCV 2023&#xff09;将于2023年10月13日至15日在厦门举办。PRCV 2023由中国计算机学会&#xff08;CCF&#xff09;、中国自动化学会&#xff08;CA…

Java8实战-总结38

Java8实战-总结38 默认方法概述默认方法默认方法的使用模式可选方法行为的多继承 默认方法 概述默认方法 默认方法是Java 8中引入的一个新特性&#xff0c;希望能借此以兼容的方式改进API。现在&#xff0c;接口包含的方法签名在它的实现类中也可以不提供实现。缺失的方法实现…

静电除尘器的工作原理及使用说明

静电除尘器是一种通过静电场将空气中的颗粒物带电并吸附到电极上&#xff0c;再利用机械振打或气流将颗粒物从电极上清除的空气净化设备。以下是静电除尘器的工作原理及使用说明&#xff1a; 工作原理&#xff1a; 静电除尘器主要由电极系统、电源系统、收尘系统、清灰系统等…

计算机的分类

文章目录 前言一、超级计算机二、大型计算机三、迷你计算机&#xff08;服务器&#xff09;四、工作站五、微型计算机 前言 世界上所有的计算机总共分为五类&#xff1a;超级计算机、大型计算机、迷你计算机、工作站、微型计算机。今天就简单介绍下各自特点和用途。 一、超级计…

allegro pcb designer铜皮合并

前提&#xff0c;两块铜皮是同一个网络 现在是没有合并的状态 第一步选中两块铜皮 点击sharpe菜单&#xff0c;点击merge shape子菜单&#xff0c;两块铜皮就合并了。

字符输入转换流字符输出转换流

字符输入转换流&字符输出转换流 字符输入转换流&字符输出转换流 package newTest;import java.io.*;public class test2 {//目标&#xff1a; 掌握字符输入转换流public static void main(String[] args) {try(//文件管道对象//得到原始的字节编码InputStream fsnew Fi…