Ubuntu22.04安装Opencv + opencv_contrib(v4.9.0)

需下载两个文件:

  • opencv-4.9.0.tar.gz
  • opencv_contrib-4.9.0.tar.gz

将上述文件上传到如下目录

root@f5b3d2a6bf04:/opencv# pwd
/opencv
root@f5b3d2a6bf04:/opencv# ll
total 149036
drwxrwxr-x 2 1000 1000     4096 Apr  8 10:07 ./
drwxr-xr-x 1 root root     4096 Apr  8 10:10 ../
-rw-r--r-- 1 1000 1000 92788647 Apr  8 10:07 opencv-4.9.0.tar.gz
-rw-r--r-- 1 1000 1000 59803362 Apr  8 10:09 opencv_contrib-4.9.0.tar.gz

安装步骤

  1. 解压文件
tar -zxvf opencv-4.9.0.tar.gz && tar -zxvf opencv_contrib-4.9.0.tar.gz
  1. 复制opencv_contrib到opencv目录下
cp -rf opencv_contrib-4.9.0 ./opencv-4.9.0
  1. 环境配置
apt-get update -y && apt-get upgrade -y && \apt-get install -y make cmake g++
  1. 编译
mkdir -p opencv-4.9.0/build && cd opencv-4.9.0/build && \cmake -D CMAKE_BUILD_TYPE=Release \-D OPENCV_GENERATE_PKGCONFIG=ON \-D CMAKE_INSTALL_PREFIX=/usr/local .. \-D OPENCV_EXTRA_MODULES_PATH=/opencv/opencv-4.9.0/opencv_contrib-4.9.0/modules ..

具体的参数含义:

  • -D CMAKE_BUILD_TYPE=Release:设置构建类型为Release模式。这意味着编译器将启用优化,并且不包含调试信息,生成的库或可执行文件更适合生产环境部署,运行速度更快但调试难度相对增大。

  • -D OPENCV_GENERATE_PKGCONFIG=ON:指示CMake生成pkg-config文件。pkg-config是一个帮助程序,它能够处理编译器和链接器所需的依赖关系,生成的.pc文件可以让其他项目更容易找到和链接到OpenCV库。

  • -D CMAKE_INSTALL_PREFIX=/usr/local:设置安装路径,编译完成后安装OpenCV库及相关文件至/usr/local目录下,这是Unix/Linux系统中常见的第三方软件安装位置。

  • -D OPENCV_EXTRA_MODULES_PATH=/opencv/opencv-4.9.0/opencv_contrib-4.9.0/modules:指定额外模块路径,OpenCV的额外模块(比如新增功能、扩展算法等)位于opencv_contrib仓库中,这个参数告诉CMake去哪里找这些模块并将其纳入构建,这样除了基本的OpenCV模块外,还能编译安装额外的功能模块。

最后的两个点…表示上一级目录,即回到OpenCV源代码根目录,以便CMake能够找到顶层CMakeLists.txt文件来配置整个项目。

  1. 安装
make -j 4 && make install
  1. 验证
root@18ce8116978d:/# opencv_version
4.9.0

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

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

相关文章

【智能算法应用】哈里斯鹰算法(HHO)在WSN覆盖中的应用

目录 1.算法原理2.数学模型3.结果展示4.参考文献 1.算法原理 【智能算法】哈里斯鹰算法(HHO)原理及实现 【智能算法应用】猎人猎物优化算法(HPO)在WSN覆盖中的应用 2.数学模型 3.结果展示 HPO设置区域边长为20,节点数为35&…

redis的三种工作模式

Redis 简介 Redis(Remote Dictionary Server)是一个开源的高性能键值对(key-value)存储系统。它支持多种数据结构,如字符串、列表、集合、有序集合和哈希,并且提供了丰富的功能,包括数据持久化…

C语言 08 类型转换

一种类型的数据转换为另一种类型的数据&#xff0c;这种操作称为类型转换。 类型转换分为自动类型转换和强制类型转换。 自动类型转换 比如现在希望将一个 short 类型的数据转换为 int 类型的数据&#xff1a; #include <stdio.h>int main(){short s 10;// 直接将s的…

2024洗地机名牌排行榜:细数最值得买的4大热门款

传统的清洁地面方式往往费时费力&#xff0c;容易导致腰酸背痛等不适&#xff0c;给人们带来一系列家务问题。然而&#xff0c;随着洗地机、扫地机器人、吸尘器等电动清洁工具的出现&#xff0c;清洁变得更加轻松便捷&#xff0c;受到了广大用户的欢迎。身为一名有着多年家居经…

Javaweb过滤器(Filter)

一、概念 Filter表示过滤器&#xff0c;是Javaweb三大组件&#xff08;Servlet、Filter、Listener&#xff09;之一。 过滤器可以把对资源的请求拦截下来&#xff0c;从而实现一些特殊的功能。 过滤器一般完成一些通用的操作&#xff0c;比如权限控制、统一编码处理、敏感字符处…

js performance统计页面耗时

js统计页面耗时 setTimeout(() > {let t window.performance.timing;let performanceInfo [{key: "Redirect",desc: "网页重定向的耗时","value(ms)": t.redirectEnd - t.redirectStart},{key: "AppCache",desc: "检查本地缓…

一款基于AB32VG1的桌面智能坞小工具

项目简介&#xff1a; 我基于这个开发板制作了一款桌面小工具&#xff0c;它是一个小巧、功能丰富、具有实用价值的桌面物联网“控制中枢”。可以实现&#xff1a; 精灵播放音乐时内部有一颗呼吸灯的效果&#xff1b; 精灵可以通过OLED显示当前音乐名字、播放状态&#xff1b;…

Learn SRP 02

3.Editor Rendering 3.1Drawing Legacy Shaders 因为我们的管线只支持无光照的着色过程&#xff0c;使用其他不同的着色过程的对象是不能被渲染的&#xff0c;他们被标记为不可见。尽管这是正确的&#xff0c;但是它还是隐藏了场景中一些使用错误着色器的对象。所以让我们来渲…

数据库性能优化思路

说到数据库的查询效率优化问题&#xff0c;首先就能想到以下几种方式&#xff1a; 这里是说基于数据库的优化&#xff0c;还有其它的优化方式&#xff1b;比如&#xff0c;增加缓存&#xff0c;把频繁使用的数据放到redis中&#xff0c;这样可以加快速度&#xff1b;但同样会带…

IP地址的主要功能及其在网络中的重要性

在当今数字化时代&#xff0c;互联网已经成为人们生活和工作中不可或缺的一部分。而IP地址&#xff08;Internet Protocol Address&#xff09;作为互联网中的关键组成部分&#xff0c;发挥着至关重要的作用。本文将探讨IP地址的主要功能以及其在网络中的重要性。 IP地址查询&…

计算机视觉数据集——扑克识别数据集

扑克数据集 数据集地址&#xff1a;https://download.csdn.net/download/matt45m/89130302 这是一个检测扑克牌种类的数据集&#xff0c;检测种类目前只有6种&#xff0c;分别是 "queen", "ten", "nine", "king", "jack"…

短视频转gif怎么做?三十秒在线转换gif

在现在这个快节奏的时代&#xff0c;gif动画相较于长时间的视频更受大众的欢迎。当我们需要将短视频、电影等视频制作成gif动画图片的时候就可以使用gif动画图片&#xff08;https://www.gif.cn/&#xff09;制作网站-GIF中文网&#xff0c;无需下载软件&#xff0c;手机、pc均…

Spring面试题pro版-6

Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而&#xff0c;Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言&#xff0c;绝大部分Java应用都可以从Spring中受益。 Spring中的单…

数据仓库—ETL最佳实践:提升数据集成的效率与质量

ETL&#xff08;Extract, Transform, Load&#xff09;作为数据仓库和数据集成的核心环节&#xff0c;对于确保数据的准确性、一致性和可用性至关重要。在实践中&#xff0c;遵循一些经过验证的最佳实践可以帮助企业提高ETL项目的成功率&#xff0c;优化数据处理流程&#xff0…

Redis GEO实现附近的人功能

附近的人功能是社交应用中非常常见的一项功能&#xff0c;它允许用户查找并发现他们周围的其他用户。使用Redis的GEO特性来实现这一功能是非常高效和简单的。以下是实现这一功能的基本步骤&#xff1a; 1. 准备工作 确保你的Redis服务器版本支持GEO特性&#xff08;3.2.0及以…

fs.writeFile写入文件后 通过路径获取文件 获取不到最新写入的文件

通过fs.writeFile 直接通过路径获取文件 发现一直是首次上传的图片 不是当前最新上传的图片 const fs uni.getFileSystemManager()fs.writeFile({ilePath: ${uni.env.USER_DATA_PATH}/avatar.png,data: imageData.replace(/^data:image\/\w;base64,/,),encoding: base64,succe…

The Great Equalizer

# The Great Equalizer ## 题面翻译 Tema 购买了一台老旧设备&#xff0c;设备上有一个小屏幕和一个磨损的铭文“伟大的平衡器”。 卖家说&#xff0c;这台设备需要提供一个整数数组 $a$ 作为输入&#xff0c;之后“伟大的平衡器”将按照以下方式工作&#xff1a; 1. 将当前数组…

OSCP靶场--Fail

OSCP靶场–Fail 考点(rsync未授权覆盖公钥Fail2ban提权) 1.nmap扫描 ## ┌──(root㉿kali)-[~/Desktop] └─# nmap -sV -sC 192.168.153.126 -p- -Pn --min-rate 2500 Starting Nmap 7.92 ( https://nmap.org ) at 2024-04-12 23:34 EDT Warning: 192.168.153.126 giving …

招生管理|基于SprinBoot+vue的招生管理系统系统设计与实现(源码+数据库+文档)

招生管理目录 基于SprinBootvue的招生管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 前台 后台 教师权限 学生权限&#xff1a; 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff…

大数据------JavaWeb------JDBC(完整知识点汇总)

JDBC 定义 全称为Java数据库连接&#xff08;Java DataBase Connectivity&#xff09;&#xff1a;是使用java语句来操作所有关系型数据库的一套API JDBC本质 它是官方定义的一套操作所有关系型数据库的规则&#xff08;即接口&#xff09;&#xff0c;各个数据库厂商会去实现…