OpenCV多版本安装Ubuntu18.04

文章目录

  • 一、查看已安装的Opencv版本
  • 二、安装新版本
  • 三、多版本OpenCV切换

OpenCV 官网 在此

一、查看已安装的Opencv版本

查看已安装opencv的版本


pkg-config opencv --modversion

在这里插入图片描述
官网下载对应的版本,并解压 opencv3.4.3
 
 

二、安装新版本

 

进入前置准备里下载并解压的文件夹,如果你跟我一样将解压后的文件夹剪切到主目录下了,就这样进入


cd ~/opencv3.4.3

 
在终端执行以下代码,安装依赖项


   sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev

 
一般会报错,可以去网上搜一下解决方法,一个一个解决就好,很大可能是会出这个错误:


E: 无法定位软件包 libjasper-dev

在这里插入图片描述
 

解决方法是在终端执行这两句代码(即添加一个有这个软件包的源)


sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
    

在这里插入图片描述
在这里插入图片描述

 
再次安装依赖项即可


sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev

在这里插入图片描述

 
在~/opencv3.4.3里建立build文件夹,开始编译,依次在终端执行以下代码即可,可能耗时比较长,请耐心等待:


mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.4.3 ..
sudo make -j4
sudo make install

//   这里第3行的“/usr/local/opencv3.4.3”是opencv3.4.3的安装路径,可以根据你的需求更改,
//   自己记住就好,如果你是更换版本这个路径很重要,啊当然,也不要忘记后面的两个点。【cmake 和 make 会有点耗时,等待就好】

在这里插入图片描述

在这里插入图片描述

 

 

三、多版本OpenCV切换


// 1、打开~/.bashrc
gedit ~/.bashrc


// 2、添加以下内容
#opencv3.4.3 版本切换
export PKG_CONFIG_PATH=/usr/local/opencv3.4.3/lib/pkgconfig
export LD_LIBRARY_PATH=/usr/local/opencv3.4.3/lib


// 3、更新~/.bashrc
 source ~/.bashrc

  
// 4、再次查询Opencv版本,终端输入以下两命令,显示正常则安装成功
pkg-config --modversion opencv   // 查看版本号
pkg-config --libs opencv                     // 查看libs库

如果输出3.4.3,就表明配置成功。

如果想使用之前的版本,在~/.bashrc中注释掉增加的内容,然后source ~/.bashrc即可

参考链接


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

架构设计-跨域问题的根源及解决方式

前面文章《架构设计-web项目中跨域问题涉及到的后端和前端配置》中说明了处理跨域问题的一种方式,本文详细说明下产生跨域问题的原因及处理方式。 一、产生跨域问题的原因: 浏览器的同源策略:这是跨域问题的根本原因。同源策略是浏览器对Jav…

计算机网络(1) OSI七层模型与TCP/IP四层模型

一.OSI七层模型 OSI 七层模型是国际标准化组织ISO提出的一个网络分层模型,它的目的是使各种不同的计算机和网络在世界范围内按照相同的标准框架实现互联。OSI 模型把网络通信的工作分为 7 层,从下到上分别是物理层、数据链路层、网络层、传输层、会话层、…

力扣hot100:394. 字符串解码(递归/括号匹配,字符串之间相对顺序)

LeetCode:394. 字符串解码 本题容易想到用递归处理,在写递归时主要是需要明确自己的递归函数的定义。 不过我们也可以利用括号匹配的方式使用栈进行处理。 1、递归 定义递归函数string GetString(string & s,int & i); 表示处理处理整个numbe…

SQL进阶day12——空值处理

1 统计有未完成状态的试卷的未完成数和未完成率 (复习if的用法) 我的思路: select exam_idm count(if submit_time is NULL then 1 else 0 end) incomplete_cnt, count(if submit_time is NULL then 1 else 0 end)/count(submit_time) comp…

政务云参考技术架构

行业优势 总体架构 政务云平台技术框架图,由机房环境、基础设施层、支撑软件层及业务应用层组成,在运维、安全和运营体系的保障下,为政务云使用单位提供统一服务支撑。 功能架构 标准双区隔离 参照国家电子政务规范,打造符合标准的…

【C++课程学习】:Data类的实现

🎁个人主页:我们的五年 🔍系列专栏:C课程学习 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 🍩1.头文件 🍩2.实现文件: 🍩3.分析: &…

力扣40. 组合总和 II

Problem: 40. 组合总和 II 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 1.创建一个 res 变量存储所有满足条件的组合结果,使用 track 变量记录当前的组合路径,使用 trackSum 变量记录当前路径中元素的和。 2.排序: 对 candidates 数组进…

第7章 用户输入和 while 循环

第7章 用户输入和 while 循环 7.1 函数 input()的工作原理7.1.1 编写清晰的程序7.1.2 使用 int()来获取数值输入7.1.3 求模运算符 7.2 while 循环简介7.2.1 使用 while 循环7.2.2 让用户选择何时退出7.2.3 使用标志7.2.4 使用 break 退出循环7.2.5 在循环中使用 continue7.2.6 …

renren-fast-vue在mac上的运行

被这个折磨好久了,终于成功了。。 版本号-node-14 需要提前执行的命令,希望可以帮助到大家。分别是解决版本在mac m1架构上的不兼容问题,另外解决没有验证码的问题,要注意数据库的配置,账号密码是否正确。 npm inst…

【iOS】YYModel源码阅读笔记

文章目录 前言一、JSON转换库对比二、YYModel性能优化三、YYModel的使用四、架构分析YYClassInfo 剖析 五、流程剖析转换前准备工作 – 将JSON统一成NSDictionary将NSDictionary 转换为Model对象提取Model信息使用NSDictionary的数据填充Model 总结 前言 先前写了JSONModel的源…

【DBA早下班系列】—— 并行SQL/慢SQL 问题该如何高效收集诊断信息

1. 前言 OceanBase论坛问答区或者提交工单支持的时候大部分时间都浪费在了诊断信息的获取交互上,今天我就其中大家比较头疼的SQL问题,给大家讲解一下如何一键收集并行SQL/慢SQL所需要的诊断信息,减少沟通成本,让大家早下班。 2. …

course-nlp——4-regex

本文参考自https://github.com/fastai/course-nlp 正则表达式 在本课中,我们将学习 NLP 工具包中的一个有用工具:正则表达式。 让我们考虑两个激励性的例子: 电话号码问题 假设我们得到了一些包含电话号码的数据: 123-456-7890…

记录项目打包时候找不到本地仓库的依赖的解决方法

进入本地仓库对应jar的目录 删除_remote_reposotories文件即可

Photoshop界面介绍

Adobe Photoshop 2024版(通称“Photoshop 2024”或简写为“PS 2024”)下载方式【点我获取下载链接】 百度网盘下载https://pan.baidu.com/s/1JmuK8RMHt2Yyb7NFtgO2uQ?pwdSIMS Photoshop界面介绍 Photoshop,简称PS,是Adobe …

【MySQL】存储引擎

https://www.bilibili.com/video/BV1Kr4y1i7ru?p64 https://jimhackking.github.io/%E8%BF%90%E7%BB%B4/MySQL%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/#more MySQL体系结构: 连接层 最上层是一些客户端和链接服务,主要完成一些类似于连接处理、授权认证…

【代码随想录】【算法训练营】【第35天】 [1005]K次取反后最大化的数组和 [134]加油站 [135]分发糖果

前言 思路及算法思维,指路 代码随想录。 题目来自 LeetCode。 day 35,连休两天~ 题目详情 [1005] K次取反后最大化的数组和 题目描述 1005 K次取反后最大化的数组和 解题思路 前提:数组 思路:优先负数取反,未…

利用AI机器学习,助力发动机舱电磁场强仿真,轻松实现快速预测

当下工业仿真面临的难题? 在使用 Altair Feko 进行空间场强计算时,每次查询新坐标点的场强幅值都需要重新进行计算,这不仅耗时(约20-30分钟),而且还需要考虑高级算力的排队时间。这种效率瓶颈严重限制了快速…

springboot三层架构与MVC,以及三层架构入门

三层架构与MVC 1. 三层架构是什么 把各个功能模块划分为表示层,业务逻辑层,和数据访问层三层架构,各层之间采用接口相互访问,并通过对象模型的实体类(model)作为数据传递的载体,不同的对象模型…

Rust : windows下protobuf和压缩传输方案

此前dbpystream库是用python开发 web api。今天在rust中试用一下protobuf。 本文关键词:编译器、protobuf、proto文件、序列化、zstd压缩,build。 一、 protobuf编译器下载 具体见相关文章。没有编译器,protobuf无法运行。 windows参见&am…

鸿蒙原生开发——轻内核A核源码分析系列三 物理内存(2)

3.1.2.3 函数OsVmPhysLargeAlloc 当执行到这个函数时,说明空闲链表上的单个内存页节点的大小已经不能满足要求,超过了第9个链表上的内存页节点的大小了。⑴处计算需要申请的内存大小。⑵从最大的链表上进行遍历每一个内存页节点。⑶根据每个内存页的开始…