ubuntu22.04@laptop OpenCV定制化安装
ubuntu22.04@laptop OpenCV定制化安装
- 1. 源由
- 2. 默认配置
- 3. 定制配置
- 4. 定制安装
- 5. 定制OpenCV-4.9.0
- 5.1 修改opencv.conf
- 5.2 加载so文件
- 5.3 修改bash环境变量
- 5.4 增加pkgconfig
- 5.5 检查OpenCV-4.9.0安装
- 6. 总结
- 7. 参考资料
1. 源由
目前,能Google到的代码层次不齐,且OpenCV库本身就在不断迭代更新。
因此,在实际使用过程涉及到版本之间的差异,同样环境不同OpenCV版本的对比验证就显得尤为重要。
本章节就将针对这个特殊的需求进行整理,供需要使用的朋友进行参考。
2. 默认配置
通常通过apt
工具安装deb文件,都是安装在默认位置。
/usr/local/lib
so文件位置/usr/local/include
h头文件位置
3. 定制配置
定制化的安装流程,需要在编译的时候指定安装文件临时存放的位置。
注:这里引用了一些宏定义,后续github脚本版本中提供。
-D CMAKE_INSTALL_PREFIX=$SNAPDRAGONFLY_CURRENT_DIR_PATH/installation/opencv-"$cvVersion" \
比如:期望安装路径为:/opt/opencv-4.9.0
-D CMAKE_INSTALL_PREFIX=/opt/opencv-4.9.0 \
4. 定制安装
整个代码编译过程详见:ubuntu22.04@laptop OpenCV安装
注:配置时,请增加宏定义符号-D CMAKE_INSTALL_PREFIX=/opt/opencv-4.9.0
cmake -D CMAKE_BUILD_TYPE=RELEASE \-D WITH_TBB=ON \-D BUILD_TBB=OFF \-D WITH_V4L=ON \-D WITH_QT=ON \-D WITH_OPENGL=ON \-D OPENCV_GENERATE_PKGCONFIG=ON \-D INSTALL_PYTHON_EXAMPLES=ON \-D INSTALL_C_EXAMPLES=ON \-D CMAKE_INSTALL_PREFIX=/opt/opencv-4.9.0 \-D OPENCV_PYTHON3_INSTALL_PATH=$SNAPDRAGONFLY_CURRENT_DIR_PATH/opencv-$cvVersion-py3/lib/python3.10/site-packages \-D OPENCV_ENABLE_NONFREE=ON \-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \-D PYTHON_EXECUTABLE=../../opencv-$cvVersion-py3/bin/python3 \-D BUILD_EXAMPLES=ON ..
脚本make install
执行完成后,所有文件将会直接安装到/opt/opencv-4.9.0
。
5. 定制OpenCV-4.9.0
5.1 修改opencv.conf
$ sudo vim /etc/ld.so.conf.d/opencv.conf
$ sudo cat /etc/ld.so.conf.d/opencv.conf
/opt/opencv-4.9.0
$ ls /opt/
opencv-4.9.0
5.2 加载so文件
$ sudo ldconfig
5.3 修改bash环境变量
$ sudo vi /etc/bash.bashrc
$ sudo cat /etc/bash.bashrc |tail -n 2
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
$ source /etc/bash.bashrc
$ echo $PKG_CONFIG_PATH
:/usr/local/lib/pkgconfig
$ sudo mkdir -p /usr/local/lib/pkgconfig
5.4 增加pkgconfig
$ cd /opt/opencv-4.9.0
$ find ./ -name opencv4.pc
./lib/pkgconfig/opencv4.pc
$ sudo cp ./lib/pkgconfig/opencv4.pc /usr/local/lib/pkgconfig
5.5 检查OpenCV-4.9.0安装
$ pkg-config --cflags opencv4
-I/opt/opencv-4.9.0/include/opencv4
6. 总结
安装上述方法,可以安装多个OpenCV环境,比如:
- OpenCV 4.0.0
- OpenCV 4.9.0
仅需要在使用的时候,替换不同版本的opencv4.pc
配置文件即可。
7. 参考资料
【1】ubuntu22.04@laptop OpenCV安装
相关文章:
ubuntu22.04@laptop OpenCV定制化安装
ubuntu22.04laptop OpenCV定制化安装 1. 源由2. 默认配置3. 定制配置4. 定制安装5. 定制OpenCV-4.9.05.1 修改opencv.conf5.2 加载so文件5.3 修改bash环境变量5.4 增加pkgconfig5.5 检查OpenCV-4.9.0安装 6. 总结7. 参考资料 1. 源由 目前,能Google到的代码层次不齐…...
linux系统非关系型数据库redis
redis 介绍redis的特点:缓存 安装安装单机版redisredis的相关工具 介绍 redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库 redis的官网:redis.ioredis的特点: 丰富的数据结构 支持持久化 支持事务 支持主从缓存 类型 …...

【LeetCode: 292. Nim 游戏+ 博弈问题】
🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…...
Android 9.0 禁用adb reboot recovery命令实现正常重启功能
1.前言 在9.0的系统rom定制化开发中,在定制recovery模块的时候,由于产品开发需要要求禁用recovery的相关功能,比如在通过adb命令的 adb reboot recovery的方式进入recovery也需要实现禁用,所以就需要了解相关进入recovery流程来禁用该功能 2.禁用adb reboot recovery命…...

分析网站架构:浏览器插件
一、Wappalyzer 1.1 介绍 Wappalyzer 是一款用于识别网站所使用技术栈的浏览器插件。它能够分析正在浏览的网页,检测出网站所使用的各种技术和框架,如内容管理系统(CMS)、JavaScript库、Web服务器等。用户只需安装 Wappalyzer 插…...

CentOS7搭建Hadoop集群
准备工作 1、准备三台虚拟机,参考:CentOS7集群环境搭建(3台)-CSDN博客 2、配置虚拟机之间免密登录,参考:CentOS7集群配置免密登录-CSDN博客 3、虚拟机分别安装jdk,参考:CentOS7集…...

10.0 Zookeeper 权限控制 ACL
zookeeper 的 ACL(Access Control List,访问控制表)权限在生产环境是特别重要的,所以本章节特别介绍一下。 ACL 权限可以针对节点设置相关读写等权限,保障数据安全性。 permissions 可以指定不同的权限范围及角色。 …...
容器化技术基础概念:雪花服务器与凤凰服务器
雪花服务器与凤凰服务器:两种软件部署领域的基础设施对比 在软件部署领域,服务器管理在正常运行时间、效率和安全性方面发挥着关键作用。存在两种截然不同的方法:雪花服务器和凤凰服务器。了解它们之间的区别将帮助您选择最适合您需求的策略…...

解决maven 在IDEA 下载依赖包速度慢的问题
1.idea界面双击shift键 2.打开setting.xml文件 复制粘贴 <?xml version"1.0" encoding"UTF-8"?> <settings xmlns"http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:sc…...

用python编写爬虫,爬取二手车信息+实验报告
题目 报告要求 工程报告链接放在这里 https://download.csdn.net/download/Samature/88805518使用 1.安装jupyter notebook 2.用jupyter notebook打开工程里的ipynb文件,再run all就行 注意事项 可能遇到的bug 暂无,有的话私信我...
代码随想录算法训练营第二十九天|491.非递减子序列、46.全排列、47.全排列II
491.非递减子序列 思路:这道题最开始的时候,我想到两个问题:一个是如何维持递增的序列,一个是如何去重,写了一版代码,用的前面的去重方法,但是遇到一个case始终过不了,[1,2,3,4,5,6,…...

(2)(2.14) SPL Satellite Telemetry
文章目录 前言 1 本地 Wi-Fi(费用:30 美元以上,范围:室内) 2 蜂窝电话(费用:100 美元以上,范围:蜂窝电话覆盖区域) 3 手机卫星(费用ÿ…...

OTG -- STM32 OTG驱动代码下载及简述(三)
目录 前沿 1 STM32 OTG标准库的获取 2 设备模式代码匹配开发板 2.1 OTG FS全速代码修改 2.2 OTG HS代码修改 2.2.1 OTG HS外部高速PHY运行在高速模式代码修改 2.2.2 OTG HS外部高速PHY运行在全速模式代码修改 2.2.3 OTG HS内部全速PHY运行在全速模式代码修改 前沿 前面…...

STM32F407 CAN参数配置 500Kbps
本篇CAN参数适用 芯片型号:STM32F407xx系统时钟:168MHz,CAN挂载总线APB1为42M波 特 率 :500Kpbs引脚使用:TX_PB9,RX_PB8;修改为PA11PA12后,参数不变。 步骤一、打勾开启CAN…...

python常用的深度学习框架
目录 一:介绍 二:使用 Python中有几个非常受欢迎的深度学习框架,它们提供了构建和训练神经网络所需的各种工具和库。以下是一些最常用的Python深度学习框架: 一:介绍 TensorFlow:由Google开发的TensorF…...

将xyz格式的GRACE数据转成geotiff格式
我们需要将xyz格式的文件转成geotiff便于成图,或者geotiff转成xyz用于数据运算,下面介绍如何实现这一操作,采用GMT和matlab两种方法。 1.GMT转换 我们先准备一个xyz文件,这里是一个降水文件。在gmt中采用以下的语句实现xyz转grd…...

【机器学习】机器学习流程之收集数据
🎈个人主页:甜美的江 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:机器学习 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步…...
IP风险画像在企业网络统计与安全防范中应用
随着企业在数字化时代的迅速发展,网络安全问题变得尤为突出。IP风险画像作为一种全面的网络安全工具,在企业网络统计与安全防范中展现出卓越的应用价值。本文将以一个实际案例为例,深入探讨IP风险画像在企业网络中的成功应用,以及…...

Unity类银河恶魔城学习记录3-6 Finalize BattleState源代码 P52
Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili Enemy.cs using System.Collections; using System.Collections.Generic; …...

【语音合成】中文-多情感领域-16k-多发音人
模型介绍 语音合成-中文-多情感领域-16k-多发音人 框架描述 拼接法和参数法是两种Text-To-Speech(TTS)技术路线。近年来参数TTS系统获得了广泛的应用,故此处仅涉及参数法。 参数TTS系统可分为两大模块:前端和后端。 前端包含文本正则、分词、多音字预…...

业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...