当前位置: 首页 > news >正文

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

目录

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

        改成绝对路径:

        这个错误也是一样的:

        在这个路径下:

        都是这么处理的:

        成功了:

        安装即可:

相关文章:

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

目录 1 依赖安装 2 下载opencv3.4.5及opencv3.4.5 contrib版本 3 编译opencv3.4.5 opencv3.4.5_contrib及遇到的问题 1 依赖安装 首先安装编译工具CMake&#xff0c;命令安装即可&#xff1a; sudo apt install cmake 安装Eigen&#xff1a; sudo apt-get install libeigen3-…...

【网络基础】IP 子网划分(VLSM)

目录 一、 为什么要划分子网 二、如何划分子网 1、划分两个子网 2、划分多个子网 一、 为什么要划分子网 假设有一个B类IP地址172.16.0.0&#xff0c;B类IP的默认子网掩码是 255.255.0.0&#xff0c;那么该网段内IP的变化范围为 172.16.0.0 ~ 172.16.255.255&#xff0c;即…...

【OCR】合同上批量贴印章

一、需求 OCR算法在处理合同等文件时&#xff0c;会由于印章等遮挡导致文本误识别。因此在OCR预处理时&#xff0c;有一个很重要的步骤是“去除印章”。其中本文主要聚焦在“去除印章”任务中的数据构建步骤&#xff1a;“合同伪印章”的数据构建。下面直接放几张批量合成后效果…...

Stable diffusion 用DeOldify给黑白照片、视频上色

老照片常常因为当时的技术限制而只有黑白版本。然而现代的 AI 技术,如 DeOldify,可以让这些照片重现色彩。 本教程将详细介绍如何使用 DeOldify 来给老照片上色。. 之前介绍过基于虚拟环境的 基于DeOldify的给黑白照片、视频上色,本次介绍对于新手比较友好的在Stable diff…...

在服务器上解压.7z文件

1. 更新apt sudo apt-get update2. 安装p7zip sudo apt-get install p7zip-full3. 解压.7z文件 7za x WN18RR.7z...

【opencv】windows10下opencv4.8.0-cuda C++版本源码编译教程

【opencv】windows10下opencv4.8.0-cuda C版本源码编译教程 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【opencv】windows10下opencv4.8.0-cuda C版本源码编译教程前言准备工具cuda/cudnncmakeopencv4.8.0opencv_contrib CMake编译VS2019编…...

软碟通制作启动盘

一、下载并安装软碟通 二、插入U盘&#xff0c;打开软碟通&#xff1b; 三、在软碟通中选择“文件”-“打开镜像文件”&#xff0c;选择要制作成启动盘的ISO镜像文件&#xff1b; 1.打开要制作的iso文件 选择对应的iso文件 四、在软碟通中选择“启动”-“写入硬盘”&#xff…...

Tomcat和HPPT协议

1.介绍 1.Java EE 规范 JavaEE&#xff08;java Enterprise Edition&#xff09;&#xff1a;java企业版 JavaEE 规范是很多的java开发技术的总称。这些技术规范都是沿用自J2EE的。一共包括了13个技术规范 2.WEB概述 WEB在计算机领域中代表的是网络 像我们之前所用的WWW&…...

Acwing.4736步行者(模拟)

题目 约翰参加了一场步行比赛。 比赛为期 N 天&#xff0c;参赛者共 M 人&#xff08;包括约翰&#xff09;。 参赛者编号为 1∼M&#xff0c;其中约翰的编号为 P。 每个参赛者的每日步数都将被赛事方记录并公布。 每日步数最多的参赛者是当日的日冠军&#xff08;可以有并…...

前端预览、下载二进制文件流(png、pdf)

前端请求设置 responseType: “blob” 后台接口返回的文件流如下&#xff1a; 拿到后端返回的文件流后&#xff1a; 预览 <iframe :src"previewUrl" frameborder"0" style"width: 500px; height: 500px;"></iframe>1、预览 v…...

搞定ESD(三):ESD干扰耦合路径深入分析(一)

文章目录 一、外部测试环境引发的电场耦合1.1 静电枪枪体的电场耦合1.2 垂直耦合板与水平耦合板的电场耦合二、静电电流泄放路径中的电场耦合2.1 金属平面与敏感信号之间的电场耦合2.2 参考平面与敏感信号布线之间的电场耦合2.3 芯片散热片电场耦合分析2.3.1 散热片静电耦合机理…...

广州华锐互动:炼钢工厂VR仿真实训系统

随着科技的发展&#xff0c;我们的教育体系和职业培训方法也在迅速变化。其中&#xff0c;虚拟现实&#xff08;VR&#xff09;技术的出现为我们提供了一种全新的学习和培训方式。特别是在需要高度专业技能和安全性的领域&#xff0c;如钢铁冶炼。本文将探讨如何使用VR进行钢铁…...

适用于音视频的弱网测试整理

一、什么是弱网环境 对于弱网的定义&#xff0c;不同的应用对弱网的定义是有一定的差别的&#xff0c;不仅要考虑各类型网络最低速率&#xff0c;还要结合业务场景和应用类型去划分。按照移动的特性来说&#xff0c;一般应用低于2G速率的都属于弱网&#xff0c;也可以将3G划分…...

【Spring MVC研究】DispatcherServlet如何处理请求(doDispatcher方法)

文章目录 1. 最经典的MVC的使用情况2. 经典情况相关的组件3. 执行3.1. 先看DispatcherServlet的总体过程3.2. 再看RequestMappingHandlerAdapter的总体过程3.2.1. RequestParamMethodArgumentResolver3.2.2. 反射调用 Controller 的方法3.2.3. RequestResponseBodyMethodProces…...

解决github加载过慢问题

github打不开怎么办&#xff1f;看到这篇文章&#xff0c;一切都稳了&#xff01; DNS被污染&#xff0c;一句话&#xff0c;修改系统hosts文件&#xff01; 1.hosts文件在哪&#xff1f;C:\Windows\System32\drivers\etc 2.用记事本打开hosts&#xff0c;在最后加入以下两行…...

利用python批量处理nc数据

参考自&#xff1a;用Python批处理指定数据-以WRF输出结果为例演示按照指定维度合并(附示例代码)-腾讯云开发者社区-腾讯云 #下面将分别展示选择单个变量进行合并以及将所有变量按照指定维度进行合并。 #1.以单个变量P为例&#xff0c;可以根据需求更改&#xff0c;按照时间顺…...

popen() 获取 ping 命令结果解析

ref&#xff1a; Linux&#xff1a;popen() 获取 ping 命令结果 用C/C代码检测ip能否ping通&#xff08;配合awk和system可以做到批量检测&#xff09;_c 验证网卡能拼同-CSDN博客 Android中调用Ping操作及结果分析 - 简书 2. Linux使用ping命令查看网络延迟 - 简书...

【pytorch】深度学习准备:基本配置

深度学习中常用包 import os import numpy as np import torch import torch.nn as nn from torch.utils.data import Dataset, DataLoader import torch.optim as optimizer超参数设置 2种设置方式&#xff1a;将超参数直接设置在训练的代码中&#xff1b;用yaml、json&…...

etcd随笔

大集群 大集群主要问题有 btree重平衡和分解过程中超过20Gi的性能瓶颈&#xff0c;是O&#xff08;n&#xff09;复杂度&#xff0c;启动耗时增大&#xff0c;放大expensive request的影响。 其中最重要的就是最大程度地减少 expensive request。 对几十万级别的对象数量来说…...

0基础学习VR全景平台篇 第107篇:全景图调色和细节处理(上,地拍)

上课&#xff01;全体起立~ 大家好&#xff0c;欢迎观看蛙色官方系列全景摄影课程&#xff01; 今天教给大家的课程是地拍全景图调色和细节处理&#xff0c;下面我们就开始吧&#xff01; 1.把照片快速导入LR软件 选择【图库】模块 打开软件后&#xff0c;点击【导入】按…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;KubeSphere 容器平台高可用&#xff1a;环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写&#xff0c;中文译为后进先出。这是一种数据结构的工作原则&#xff0c;类似于一摞盘子或一叠书本&#xff1a; 最后放进去的元素最先出来 -想象往筒状容器里放盘子&#xff1a; &#xff08;1&#xff09;你放进的最后一个盘子&#xff08…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天&#xff0c;数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具&#xff0c;在大规模数据获取中发挥着关键作用。然而&#xff0c;传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时&#xff0c;常出现数据质…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

Java毕业设计:WML信息查询与后端信息发布系统开发

JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发&#xff0c;实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构&#xff0c;服务器端使用Java Servlet处理请求&#xff0c;数据库采用MySQL存储信息&#xff0…...

PostgreSQL——环境搭建

一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在&#xff0…...