ubuntu22.04编译OpenCV4.9(带contrib-4.9.0)

news2024/11/28 20:57:14

操作系统:ubuntu22.04
OpenCV版本:4.9.0
opencv_contrib版本:4.9.0

源码下载

OPenCV4.9.0下载地址:https://github.com/opencv/opencv/releases/tag/4.9.0
如下图所示:
在这里插入图片描述
按箭头所指点击下载source code(tar.gz)文件到指定的文件夹下。

opencv_contrib4.9.0下载地址:https://github.com/opencv/opencv_contrib/tags
如下图所示:

在这里插入图片描述
按箭头所指点击下载文件opencv_contrib-4.9.0.tar.gz到指定的文件夹下
把下载的opencv-4.9.0.tar.gz和opencv_contrib-4.9.0.tar.gz压缩包解压到同一个目录下。

源码编译

执行如下shell脚本,开始编译源码,祈祷不要出现问题,虽然希望很渺茫。

#!/bin/bash

export LEAN=/media/dingxin/data/lean118
export PKG_CONFIG_PATH=$LEAN/ffmpeg4.2/lib/pkgconfig:$PKG_CONFIG_PATH

cd opencv-4.9.0
rm -rf build
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=$LEAN/opencv-4.9.0 -D WITH_CUDA=OFF -D WITH_FFMPEG=ON -D WITH_OPENCL=OFF -D WITH_IPP=OFF \
	-D BUILD_opencv_python2=no -D BUILD_opencv_python3=no \
	-D OPENCV_EXTRA_MODULES_PATH=/media/dingxin/data/study/OpenCV/opencv_contrib-4.9.0/modules \
	-D BUILD_TIFF=OFF -D WITH_TIFF=OFF -D CMAKE_CXX_FLAGS=-fPIC ..
make all -j8
make install

开始如下图所示进行编译的工作:
在这里插入图片描述
当看到shell脚本执行完毕后,如下图所示,就表示编译成功了,并且已经安装完毕。我把它安装在我指定的目录下了

在这里插入图片描述

遇到的问题的处理方法

1.Anaconda冲突问题的处理

如果你不幸遇到了如下的问题,不要害怕,害怕了它也不会走。

在这里插入图片描述
从上面文字来看,应该是跟Anaconda冲突了。该怎么解决呢?既然跟他冲突了,就把他去掉。找到~/.bashrc文件,用VScode打开它,把Anaconda相关的注释掉,如下图所示:
在这里插入图片描述
然后命令行执行:

source ~/.bashrc

再重新开始执行编译脚本

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

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

相关文章

电机专用32位MCU PY32MD310,Arm® Cortex-M0+内核

PY32MD310是一颗专为电机控制设计的MCU,非常适合用做三相/单相 BLDC/PMSM 的主控芯片。芯片采用了高性能的 32 位 ARM Cortex-M0 内核,QFN32封装。内置最大 64 Kbytes flash 和 8 Kbytes SRAM 存储器,最高48 MHz工作频率,多达 16 …

Day51 动态规划part10+Day52 动态规划part11

LC121买卖股票的最佳时机(未掌握) 暴力:双层循环寻找最优间距,每一次都确定一个起点,遍历剩余节点当作终点 贪心:取最左最小值,不断遍历那么得到的差值最最大值就是最大利润。 动态规划 dp数组…

【C++】C++ 基于QT实现散列表学生管理系统(源码+数据+课程论文)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

0基础学习Elasticsearch-使用Java操作ES

文章目录 1 背景2 前言3 Java如何操作ES3.1 引入依赖3.2 依赖介绍3.3 隐藏依赖3.4 初始化客户端(获取ES连接)3.5 发送请求给ES 1 背景 上篇学习了0基础学习Elasticsearch-Quick start,随后本篇研究如何使用Java操作ES 2 前言 建议通篇阅读再回…

SpringBoot: 可执行jar的特殊逻辑

这一篇我们来看看Java代码怎么操作zip文件(jar文件),然后SpringBoot的特殊处理,文章分为2部分 Zip API解释,看看我们工具箱里有哪些工具能用SpringBoot的特殊处理,看看SpringBoot Jar和普通Jar的不同 1. Zip API解释 1. ZipFil…

NRF24L01(2.4G)模块的使用——SPI时序(软件)篇

一、SPI的简介: SPI 是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。 SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚…

R语言 | 使用最简单方法添加显著性ggpubr包

本期教程原文:使用最简单方法添加显著性ggsignif包 本期教程 获得本期教程代码和数据,在后台回复关键词:20240605 小杜的生信笔记,自2021年11月开始做的知识分享,主要内容是R语言绘图教程、转录组上游分析、转录组下游…

毫米波SDK使用2

5.5 毫米波SDK-TI组件 毫米波SDK功能分解成组件将在接下来的几小节中解释。有关这些模块的详细文档&#xff0c;请参阅位于mmwave_mcuplus_sdk_<ver>/docs/mmwave_sdk_module_document .html的顶层文档。 5.5.1 演示 5.5.1.1 毫米波演示 这个演示位于mmwave_mcuplus_sd…

批量高效调整图片像素:自定义缩小bmp图片,画质优先,一键实现高效优化

图片已经成为我们生活中不可或缺的一部分。无论是社交媒体分享&#xff0c;还是工作文件传输&#xff0c;图片总是扮演着重要的角色。然而&#xff0c;有时候&#xff0c;我们可能会面临一个问题&#xff1a;图片像素过大&#xff0c;不仅占用过多的存储空间&#xff0c;还可能…

【网络教程】Iptables官方教程-学习笔记7-简单理解IPTABLES规则的作用流程

前面学习了IPTABLES的所有功能介绍后&#xff0c;一个Linux设备里的IPTABLES规则集是如何运行的&#xff0c;这里简单做个介绍。 在Linux设备里输入"iptables -nvl",得到该设备的所有防火墙规则&#xff0c;得到的结果中可以看到这个设备防火墙里所有的链以及链里的…

STM32F103C8移植uCOSIII并以不同周期点亮两个LED灯(HAL库方式)【uCOS】【STM32开发板】【STM32CubeMX】

STM32F103C8移植uC/OSIII并以不同周期点亮两个LED灯&#xff08;HAL库方式&#xff09;【uC/OS】【STM32开发板】【STM32CubeMX】 实验说明 将嵌入式操作系统uC/OSIII移植到STM32F103C8上&#xff0c;构建两个任务&#xff0c;两个任务分别以1s和3s周期对LED进行点亮—熄灭的…

力扣hot100:394. 字符串解码(递归)

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

高中数学:数列-基础概念

一、什么是数列&#xff1f; 一般地&#xff0c;我们把按照确定的顺序排列的一列数称为数列&#xff0c;数列中的每一个数叫做这个数列的项&#xff0c;数列的第一项称为首项。 项数有限个的数列叫做有穷数列&#xff0c;项数无限个的数列叫做无穷数列。 二、一般形式 数列和…

2024高考作文引发的人工智能争议

又是一年高考季&#xff0c;多少学子的修行成果也在这这一刻迎来了终极检验&#xff0c;多少学子的梦也在这一刻拉开了揭晓序幕&#xff0c;多少学习的命运也在这一刻迎来了人生中的第一次转变。每年的高考不仅是学子们的人生大事&#xff0c;也是多少父母的热切期望&#xff0…

Java Web学习笔记25——Vue组件库Element

什么是Element&#xff1f; Element: 是饿了么团队研发的&#xff0c;一套为开发者、设计师和产品经理准备的基于Vue2.0的桌面端组件库。 组件&#xff1a;组成网页的部件&#xff0c;例如&#xff1a;超链接、按钮、图片、表格、表单、分页条等等。 官网&#xff1a;https:…

详解C++中的ANSI、Unicode和UTF8三种字符编码及相互转换

目录 1、概述 2、Visual Studio中的字符编码 3、ANSI窄字节编码 4、Unicode宽字节编码 5、UTF8编码 6、如何使用字符编码 7、三种字符编码之间的相互转换&#xff08;附源码&#xff09; 8、Windows系统对使用ANSI窄字节字符编码的程序的兼容 9、字符编码导致程序启动…

1-8 C语言分支循环语句

C语言的语句分为 5 类 1&#xff1a;表达式语句2&#xff1a;函数调用语句3&#xff1a;控制语句4&#xff1a;复合语句5&#xff1a;空语句 控制语句&#xff1a;用于控制程序的执行流程&#xff0c;以实现程序的各种结构方式&#xff0c;它们由特定的语句定义符组成&#x…

【日记】遇到了一个 “不愿睁眼看世界也没受过社会毒打” 的逆天群友(464 字)

正文 今天坐在柜台玩了一天手机…… 手机都玩没电了快。下午在劝一个群友睁眼看世界&#xff0c;实在劝不动。他真的太逆天了&#xff0c;我不清楚这么高学历的人&#xff0c;怎么能说出这么天真的话。逆天又离谱。 晚上的时间几乎全在做家务。平时晚上都是跳舞来着&#xff0c…

云原生架构案例分析_1.某旅行公司云原生改造

随着云计算的普及与云原生的广泛应用&#xff0c;越来越多的从业者、决策者清晰地认识到“云原生化将成为企业技术创新的关键要素&#xff0c;也是完成企业数字化转型的最短路径”。因此&#xff0c;具有前瞻思维的互联网企业从应用诞生之初就扎根于云端&#xff0c;谨慎稳重的…

git推送代码到github拒绝推送的解决方案

这里描述一下本地推送的场景&#xff0c;首先我在码云上建立了一个前端项目&#xff0c;进行了自己的个性化开发&#xff0c;后期在github上创建了一个一样的项目仓库存放代码。使用webstorm进行代码开发。在下面这个位置可以选择推送的代码位置。 选择推送github仓库之后&…