Ubuntu 20.04 源码编译安装OpenCV 4.5.0

 源码安装 OpenCV 4.5

官方文档:

OpenCV: Install OpenCV-Python in Ubuntu

1. 安装编译依赖

sudo apt install build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \ libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \ gfortran openexr libatlas-base-dev python3-dev python3-numpy \ libtbb2 libtbb-dev libdc1394-22-dev

2. 克隆 OpenCV 4.5.0 源代码

wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.0.zip
wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip

3. 编译 OpenCV

mkdir buildcd buildcmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local/opencv \
-DINSTALL_PYTHON_EXAMPLES=OFF \
-DINSTALL_C_EXAMPLES=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TEST=OFF \
-DENABLE_FAST_MATH=1 \
-DOPENCV_ENABLE_NONFREE=ON \
..make -j4  # 使用 4 核处理器来编译sudo make install

 第一次直接make -j8的时候,报 test 相关的错误,增加上述关闭 test 的 cmake 参数,删除 build 文件夹,重新编译,仍然报

4. 编辑/etc/ld.so.conf

include /etc/ld.so.conf.d/*.conf

include /usr/local/lib

sudo ldconfig

5. 编辑bash  .bashrc

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH

参考文章:

Ubuntu 20.04 LTS 安装OpenCV 4.5.5-CSDN博客

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

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

相关文章

出口MID电能表到欧洲市场

出口MID电能表到欧洲市场! 浙江永泰隆电子有限公司在研发和将MID能量计出口到欧盟市场方面具有丰富的经验。以下是突显该公司专业性的概述: 公司概况: 浙江永泰隆电子有限公司是一家专注于先进能量测量解决方案的制造商,特别是…

【栈】| 力扣高频题: 有效的括号

🎗️ 主页:小夜时雨 🎗️专栏:算法题 🎗️如何活着,是我找寻的方向 目录 1. 题目解析2. 代码 1. 题目解析 题目链接: 力扣20:https://leetcode.cn/problems/valid-parentheses/description/ 本…

linux系统中USB模块基本原理分析

大家好,今天主要给大家分享一下,USB设备的发展历程。 第一:USB发展变化 随着时代的发展,USB模块也随之不断的升级。 USB1.1:规范了USB低全速传输; USB2.0:规范了USB高速传输,采用NRZI(反向不归零)编码(NRZI采用8bit编码方式),位填充(在数据进行NRZI编码前…

虚幻5|制作玩家血量,体力(还未编辑,只用于引用)

未编写,仅引用 优化后: 把增加生命,减少生命,也可以用在体力里,更改如下 限制浮点,如果血量或体力按10来扣,如果你的血量降低到5,那么就会以5的数值来扣,而不会扣成-5…

es 7.17.23安装ik插件启动失败,access denied,Permission

情况简述 windows平台,下载了7.17.23的es以及7.17.23的ik分词器的zip包之后( 下载地址(官方推荐的):Index of: analysis-ik/stable/ ),解压该ik的包到es的plugins下,目录结构&…

Webpack中的 HTTP 压缩

http压缩介绍 http压缩,是指一种内置在服务器和客户端之间改进传输速度和带宽利用率的方式。 http 压缩的流程: http 数据在服务器发送前,通过 webpack配置进行压缩;兼容的浏览器在向服务器发送请求时,在请求头中会…

ElasticSearch 的单点部署环境搭建

一、摘要 ElasticSearch 是一个开源的 分布式、RESTful 的 搜索和分析引擎 ,可以用来解决使用数据库进行模糊搜索时存在的性能问题,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据 ElasticSearch 使用 Java 语言开发&…

删除Vue2残留配置文件解决异常:Cannot find module ‘@vue/babel-plugin-transform-vue-jsx‘

背景 完成Vue2代码升级为Vue3后,将新代码上传至代码库。在修改源代码库代码后,启动项目,提示:Cannot find module ‘vue/babel-plugin-transform-vue-jsx‘,尝试安装该第三方库后仍然无效。 解决方案: 删…

带你快速了解WEB应用服务器TOMCAT

目录 一、WEB技术 1.1 HTTP协议和B/S 结构 1.2 前端三大核心技术 1.2.1 HTML 1.2.2 CSS(Cascading Style Sheets)层叠样式表 1.2.3 JavaScript 二 WEB框架 2.1 web资源和访问 2.2 后台应用架构 2.2.1 单体架构 2.2.2 微服务 2.2.3 单体架构和…

C++调用python文件,python引用的其他依赖库,在c++里如何处理

前面我写过一篇《Visual Studio 2022Python3.11实现C调用python接口》,最近有朋友问C调用python文件,python引用的其他依赖库,需要在c中处理吗? 实践出真知,对于这个问题,我得先验证,然后得出…

QtCreator错误:Qt没有被正确安装,请运行make install(适用Qt4、Qt5、Qt6)

一、问题环境 (1)Windows 10企业版,64位 (2)Visual Studio 2019 (3)Qt5.12.12 x64版本(自己编译) (4)Qt Creator 12.0.1 二、问题描述&#…

leetcode518:零钱兑换II

零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…

使用CORS解决跨域问题

CORS(Cross-Origin Resource Sharing)跨域资源共享 因为浏览器的同源策略才出现了跨域问题。 CORS是一套机制,用于浏览器校验跨域请求。 它的基本理念是: 只要服务器明确表示允许,则校验通过服务器明确拒绝或没有表…

双臂机器人协作/合作阻抗控制

机器人阻抗控制是一种基于力的控制方法,其核心在于通过调整机器人的阻抗特性(如刚度、阻尼等),使机器人在与环境交互时能够表现出特定的力学行为。以下是对机器人阻抗控制的详细解析: 一、定义与内涵 机器人阻抗控制是指通过调整机器人的阻抗特性(如刚度、阻尼等),使…

TCP、HTTP以及RPC的梳理

TCP:一种面向连接的、可靠的、基于字节流的协议 原生 TCP 和粘包问题 TCP 是一种面向连接的、可靠的传输层协议,负责在网络上发送字节流数据。它提供了流量控制、错误检测和重传等机制,但并不对应用层的数据进行分隔或解析。 粘包问题&#…

Java-List工具类

为了扩展 List 工具类,我们可以创建一个新的工具类 ListUtil,它将包含一系列静态方法,用于方 便地创建、操作和查询 List 集合。以下是一些常用的扩展方法示例: 批量添加元素:addAllElements 方法允许向列表中批量添加多个元素。 批量移除元素:removeAllElements 方法…

NAT网关产品手册

产品用途 SG-NAT-410 网关支持 IP 地址跨网段和通讯端口的转换,为不方便修改参数的以太网通讯设备的信息化联网提供便捷的解决方案。网关有 1 个两口以太网交换机接口(LAN 口 ) 和 1 个单口以太网通讯接口 (WAN 口 ) 。不对原系统做任何硬件和软件修改&…

秃姐学AI系列之:批量归一化 + 代码实现

目录 批量归一化 核心想法 批归一化在做什么 总结 代码实现 从零实现 创建一个正确的BatchNorm层 应用BatchNorm于LeNet模型 简单实现 QA 批量归一化 训练深层神经网络是十分困难的,特别是在较短的时间内使他们收敛更加棘手。 因为数据在网络最开始&…

OpenHarmony中的fastjson gson应该这样用

【问题背景】 随着越来越多的开发者开始投入北向应用的开发,无数的人开始问我:鸿蒙三方库是否有fastjson,是否有gson,当前json和对象的转换要怎么搞。 作为程序员,我的每个项目都逃不掉fastjson/gson等三方库&#x…

六西格玛培训真相曝光:识别并避免这些常见陷阱!

在当今企业管理领域,六西格玛作为提升质量与效率的强大工具,其影响力日益增强,但伴随其普及的浪潮,一系列培训陷阱也悄然浮现,成为求学者路上的隐形障碍。作为深耕企业咨询领域的专家,张驰咨询特此为您揭秘…