ubuntu18.04 多版本opencv配置记录
多版本OpenCV过程记录
环境
ubuntu18.04
python2.7 python3.6 python3.9
opencv 3.2
OpenCV 4.4.0安装
Ubuntu18.04 安装 Opencv4.4.0 及 Contrib (亲测有效)
暂时不清楚Contrib的作用,所以没安装,只安装最基础的
下载opencv4.4.0并解压
opencv下载地址
# 没验证过wget,但是我觉得可以
cd ~/tools/opencv
wget https://github.com/opencv/opencv/archive/4.4.0.zip
unzip opencv-4.4.0.zip
依赖
sudo apt update
sudo apt install cmake
sudo apt install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt install pkg-config
自定义安装
多版本OpenCV+OpenCV_contrib安装及使用
Ubuntu下多版本OpenCV共存和切换
# 安装地址需要注意
cd opencv-4.4.0
mkdir build && cd buildcmake -DCMAKE_BUILD_TYPE=RELEASE \-DCMAKE_INSTALL_PREFIX=/home/toniht/tools/opencv/opencv-4.4.0/build/installed \-DWITH_GTK=ON \-DOPENCV_GENERATE_PKGCONFIG=YES \..make
make install
ERROR 1:
/home/toniht/tools/opencv/opencv-4.4.0/modules/videoio/src/ffmpeg_codecs.hpp:81:26: error: ‘CODEC_ID_H264’ was not declared in this scope
#define AV_CODEC_ID_H264 CODEC_ID_H264
满篇飘红,全是错误
FIX:
发现是按照别的教程,曾经安装过FFmpeg,又去把它卸载了。然后删除build重新构建,解决。
版本切换
在bashrc文件中添加
# OpenCV 4.4.0
# export OPENCV_440_PATH=/home/toniht/tools/opencv/opencv-4.4.0/build
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/toniht/tools/opencv/opencv-4.4.0/build/installed/lib/pkgconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/toniht/tools/opencv/opencv-4.4.0/build/installed/lib
企图添加环境变量OPENCV_440_PATH方便后续调用,但是发现设置后在CMakeLists中无论如何都读取不到,即便在终端中echo OPENCV_440_PATH都能正确输出路径,但是CMakeLists中还是不行。很玄学。
在项目(以ORB_SLAM3为例)中的CMakeLists.txt文件中修改
# set(OpenCV_DIR "${OPENCV_440_PATH}")
set(OpenCV_DIR "/home/toniht/tools/opencv/opencv-4.4.0/build")
message(STATUS "OpenCV_DIR:${OPENCV_440_PATH}")find_package(OpenCV 4.4)if(NOT OpenCV_FOUND)message(FATAL_ERROR "OpenCV > 4.4 not found.")endif()
项目正常编译。
ERROR 2:
玄学bug,${OPENCV_440_PATH}在终端中都正常输出了,但是CMakeLists怎么输出都是空,希望有人能解决我的疑问。
相关文章:
ubuntu18.04 多版本opencv配置记录
多版本OpenCV过程记录 环境 ubuntu18.04 python2.7 python3.6 python3.9 opencv 3.2 OpenCV 4.4.0安装 Ubuntu18.04 安装 Opencv4.4.0 及 Contrib (亲测有效) 暂时不清楚Contrib的作用,所以没安装,只安装最基础的 下载opencv4.4.0并解压 opencv下载…...
Spring Security—OAuth 2.0 资源服务器的多租户
一、同时支持JWT和Opaque Token 在某些情况下,你可能需要访问两种令牌。例如,你可能支持一个以上的租户,其中一个租户发出JWT,另一个发出 opaque token。 如果这个决定必须在请求时做出,那么你可以使用 Authenticati…...
VB.NET—窗体引起的乌龙事件
目录 前言: 过程: 总结: 升华: 前言: 分享一个VB.NET遇到的一个问题,开始一直没有解决,这个问题阻碍了很长时间,成功的变成我路上的绊脚石,千方百计的想要绕过去,但事与愿违怎么也绕不过去,因为运行不了…...
批量新增报错PSQLException: PreparedStatement can have at most 65,535 parameters.
报错信息: org.postgresql.util.PSQLException: PreparedStatement can have at most 65,535 parameters. Please consider using arrays, or splitting the query in several ones, or using COPY. Given query has 661,068 parameters ; SQL []; PreparedStatemen…...
数仓分层能减少重复计算,为啥能减少?如何减少?这篇文章包懂!
很多时候,看一些数据领域的文章,说到为什么做数据仓库、数据仓库要分层,我们经常会看到一些结论:因为有ABCD…等等理由,比如降低开发成本、减少重复计算等等好处 然后,多数人就记住了ABCD。但是࿰…...
【Linux】基础IO之文件操作(文件fd)——针对被打开的文件
系列文章目录 文章目录 系列文章目录前言浅谈文件的共识 一、 回忆c语言对文件操作的接口1.fopen接口和cwd路径2.fwrite接口和"w","a"方法3.fprintf接口和三个默认打开的输入输出流(文件) 二、过渡到系统,认识…...
什么是超算数据中心
超算数据中心是基于超级计算机或者是大规模的计算集群的数据中心,它具备高性能、高可靠性、高可用性和高扩展性这些特点,能够提供大规模计算、存储和网络服务的功能,在人工智能、科学计算、数据分析等等领域应用比较广泛。 超算数据中心有以下…...
阿里云服务器省钱购买和使用方法(图文详解)
阿里云服务器使用教程包括云服务器购买、云服务器配置选择、云服务器开通端口号、搭建网站所需Web环境、安装网站程序、域名解析到云服务器公网IP地址,最后网站上线全流程,新手站长xinshouzhanzhang.com分享阿里云服务器详细使用教程: 一&am…...
Apache Flink 1.12.0 on Yarn(3.1.1) 所遇到的問題
Apache Flink 1.12.0 on Yarn(3.1.1) 所遇到的問題 新搭建的FLINK集群出现的问题汇总 1.新搭建的Flink集群和Hadoop集群无法正常启动Flink任务 查看这个提交任务的日志无法发现有用的错误信息。 进一步查看yarn日志: 发现只有JobManager的错误日志出现了如下的…...
pandas - 数据分组统计
1.分组统计groupby()函数 对数据进行分组统计,主要适用DataFrame对象的groupby()函数。其功能如下。 (1)根据特定条件,将数据拆分成组 (2)每个组都可以独立应用函数(如求和函数sum()࿰…...
Git简介和安装
一,Git简介 Git 是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通过Git 仓库来存储和管理这些文件,Git 仓库分为两种: 本地仓库:开发人员自己电脑上的 Git 仓库 远程仓库:远程…...
思维模型 布里丹毛驴效应
本系列文章 主要是 分享 思维模型,涉及各个领域,重在提升认知。犹豫不决是病,得治~ 1 布里丹毛驴效应的应用 1.1 犹豫不决的产品“施乐 914” 20 世纪 60 年代,美国一家名为施乐(Xerox)的公司…...
预处理、编译、汇编、链接
1.预处理 宏替换去注释引入头文件 #之后的语句都是预处理语句, #include<iostream> 将该文件的内容拷贝到现有文件中, 2.编译 3.汇编 4.链接 gcc 基于C/C的编译器 补充说明 gcc命令 使用GNU推出的基于C/C的编译器,是开放源代…...
面试问题?
1.面向对象的特征? 2.开放闭合 3.java中的泛型可以用基本类型吗? 4.重载和重写的区别? 5.string、stringbuffer、stringbuilder? 6.单例模式的实现方式有哪几种? 7.volicate除了保证 8.sy是重量级锁还是轻量级锁ÿ…...
pytorch 笔记:PAD_PACKED_SEQUENCE 和PACK_PADDED_SEQUENCE
1 PACK_PADDED_SEQUENCE 1.0 功能 将填充的序列打包成一个更加紧凑的形式这样RNN、LSTM和GRU等模型可以更高效地处理它们,因为它们可以跳过不必要的计算 1.2 基本使用方法 torch.nn.utils.rnn.pack_padded_sequence(input, lengths, batch_firstFalse, enforce_…...
Ubuntu 创建用户
在ubuntu系统中创建用户,是最基本的操作。与centos7相比,有较大不同。 我们通过案例介绍,讨论用户的创建。 我们知道,在linux中,有三类用户:超级管理员 root 具有完全权限;系统用户 bin sys a…...
华为政企路由器产品集
产品类型产品型号产品说明 maintainProductA821 E_2*10GE/GE/FE(o)8*GE/FE(o)8*GE/FE(e),1*交流电源华为企业云端NetEngine A800 E综合业务一体化接入路由器是华为公司面向云时代推出的一款产品,用于企业快速接入网络,具备易部署、易运维、高性能、高…...
性能测试知多少---了解前端性能
我的上一篇博文中讲到了响应时间,我们在做性能测试时,能过工具可以屏蔽客户端呈现时间,通过局域网的高宽带可以忽略数据传输速度的障碍。这并不是说他们不会对系统造成性能影响。相反,从用户的感受来看,虽然传输速度受…...
Docker-compose容器群集编排管理工具
目录 Docker-compose 1、Docker-compose 的三大概念 2、YAML文件格式及编写注意事项 1)使用 YAML 时需要注意下面事项 2)ymal文件格式 3)json格式 3、Docker Compose配置常用字段 4、Docker-compose的四种重启策略 5、Docker Compose…...
Python 深度学习导入的一些包的说明
Python 深度学习导入的一些包的说明 这段代码导入了一些Python库和模块,并定义了一些数据转换操作。 from future import print_function, division:这是一个Python 2和Python 3兼容性的导入语句。它确保在Python 2中使用Python 3的print函数和除法运算符…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
