当前位置: 首页 > news >正文

Ubuntu下载、配置、安装和编译opencv

1 安装相关依赖

安装opencv前,需要先准备好编译器、相关依赖

sudo apt-get install gcc g++ cmake vim
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config

若没有安装sudo,则

apt-get update
apt-get install sudo

2 下载

git clone https://gitcode.net/opencv/opencv

3 配置

cd opencv
mkdir build
cd buildsudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. -D OPENCV_GENERATE_PKGCONFIG=ON

这块要注意的是要设置“-D OPENCV_GENERATE_PKGCONFIG=ON”,否则在输入以下指令时会报错,

pkg-config --cflags opencvPackage opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found

4 编译

sudo make -j[线程数],如

sudo make -j8

5 安装

sudo make install

6 环境配置

  1. 修改/etc/ld.so.conf

sudo vim /etc/ld.so.conf

打开文件后,在末端添加

include /usr/local/lib

输入以下指令来更新系统共享链接库

sudo ldconfig
  1. 修改/etc/bash.bashrc

sudo vim /etc/bash.bashrc

打开文件后,在末端添加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

激活配置文件

source /etc/bash.bashrc

7 查看版本

pkg-config opencv4 --modversion

相关文章:

Ubuntu下载、配置、安装和编译opencv

1 安装相关依赖安装opencv前,需要先准备好编译器、相关依赖sudo apt-get install gcc g cmake vim sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev sudo apt-get install libgtk2.0-…...

第七讲 贪心

文章目录股票买卖 II货仓选址(贪心:排序中位数)糖果传递(❗贪心:中位数)雷达设备(贪心排序)付账问题(平均值排序❓)乘积最大(排序/双指针)后缀表达…...

数字藏品的未来及发展趋势

随着互联网的普及以及数字文化的日益发展,数字藏品作为一种全新的收藏方式正在逐步兴起。数字藏品可以是数字版权、数字艺术品、数字音乐以及数字视频等形式,这些藏品通过数字化技术保存下来,并在互联网上进行传播和交易。数字藏品的发展趋势…...

值得记忆的STL常用算法,分分钟摆脱容器调用的困境,以vector为例,其余容器写法类似

STL常用算法 概述&#xff1a; 算法主要是由头文件<algorithm> <functional> <numeric>组成 <algorithm>是所有STL头文件中最大的一个&#xff0c;范围涉及到比较、交换、查找、遍历操作、复制、修改等等 <nuneric>体积很小&#xff0c;只包括…...

java如何手动导jar包

今天用IDEA&#xff0c;需要导入一个Jar包&#xff0c;因为以前都是用eclipse的&#xff0c;所以对这个idea还不怎么上手&#xff0c;连打个Jar包都是谷歌了一下。 但是发现网上谷歌到的做法一般都是去File –> Project Structure中去设置&#xff0c;有没有如同eclipse一样…...

怎么防止SQL注入?

首先SQL注入是一种常见的安全漏洞&#xff0c;黑客可以通过注入恶意代码来攻击数据库和应用程序。以下是一些防止SQL注入的基本措施&#xff1a; 数据库操作层面 使用参数化查询&#xff1a;参数化查询可以防止SQL注入&#xff0c;因为参数化查询会对用户输入的数据进行过滤和…...

【千题案例】TypeScript获取两点之间的距离 | 中点 | 补点 | 向量 | 角度

我们在编写一些瞄准、绘制、擦除等功能函数时&#xff0c;经常会遇到计算两点之间的一些参数&#xff0c;那本篇文章就来讲一下两点之间的一系列参数计算。 目录 1️⃣ 两点之间的距离 ①实现原理 ②代码实现及结果 2️⃣两点之间的中点 ①实现原理 ②代码实现及结果 3…...

堆叠注入--攻防世界CTF赛题学习

在一次联系CTF赛题中才了解到堆叠注入&#xff0c;在这里简单介绍一下。 堆叠注入的原理什么的一搜一大堆&#xff0c;我就不引用百度了&#xff0c;直接进入正题。 这个是攻防世界的一道CTF赛题。 采用寻常思路来寻找sql注入漏洞。 payload:1 and 11-- 利用payload: and 12…...

STM32 ADC+定时器+DMA+FFT

本次实现的功能为单片机DAC输出一个正弦波&#xff0c;然后ADC定时采样用DMA输出&#xff0c;最后对DAC输出的波形进行FFT。单片机STM32F103ZET6内部时钟一、配置ADCADC端口为PA1&#xff0c;采用DMA输出&#xff0c;定时器3触发定时器时钟64M&#xff0c;分频后为102.4KHzADC采…...

用Node.js实现一个HTTP服务器程序(文件服务器)

http Node.js开发的目的就是为了用JavaScript编写Web服务器程序。因为JavaScript实际上已经统治了浏览器端的脚本,其优势就是有世界上数量最多的前端开发人员。如果已经掌握了JavaScript前端开发,再学习一下如何将JavaScript应用在后端开发,就是名副其实的全栈了。 HTTP协…...

Python实现人脸识别检测, 对美女主播照片进行评分排名

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 素材、视频、代码、插件安装教程我都准备好了&#xff0c;直接在文末名片自取就可点击此处跳转 开发环境: Python 3.8 Pycharm 2021.2 模块使用&#xff1a; requests >>> pip install requests tqdm >…...

【数据结构与算法】什么是双向链表?并用代码手动实现一个双向链表

文章目录一、什么是双向链表二、双向链表的简单实现一、什么是双向链表 我们来看一下这个例子&#xff1a; 在一个教室里&#xff0c;所有的课桌排成一列&#xff0c;如图 相信在你们的读书生涯中&#xff0c;老师肯定有要求你们记住自己的前后桌是谁。所以该例子中&#x…...

23种设计模式

参考链接&#xff1a; 【狂神说Java】通俗易懂的23种设计模式教学&#xff08;停更&#xff09;_哔哩哔哩_bilibili 23种设计模式【狂神说】_狂神说设计模式_miss_you1213的博客-CSDN博客 1. 单例模式 参考链接&#xff1a; 【狂神说Java】单例模式-23种设计模式系列_哔哩哔哩…...

20美刀一个月的ChatGPT架构师,性价比逆天了

文章目录20美刀一个月的ChatGPT架构师&#xff0c;性价比逆天了1.角色设定2.基本描述3.解决方案4.物理网络蓝图5.系统集成接口5.1 系统集成接口设计5.1.1 前端服务器与后端服务器接口&#xff1a;5.1.2 后端服务器与去背景处理服务接口&#xff1a;5.2 系统集成接口展示6.部署环…...

海门区教育科学规划课题2020年度成果鉴定书

海门区教育科学规划课题2020年度成果鉴定书 课题编号&#xff1a;HMGZ2020007 课题名称 中学历史核心素养校本化实施的培育研究 主持人 徐彬 工作单位 南通市海门证大中学 核心组成员 &#xff08;包括主持人&#xff09; 姓名 研究任务完成情况 &#xff08;获得的主要成果、…...

大数据专业应该怎么学习

大数据学习不能停留在理论的层面上&#xff0c;大数据方向切入应是全方位的&#xff0c;基础语言的学习只是很小的一个方面&#xff0c;编程落实到最后到编程思想。学习前一定要对大数据有一个整体的认识。 大数据是数据量多吗&#xff1f;其实并不是&#xff0c;通过Hadoop其…...

学习黑客十余年,如何成为一名高级的安全工程师?

1. 前言 说实话&#xff0c;一直到现在&#xff0c;我都认为绝大多数看我这篇文章的读者最后终究会放弃&#xff0c;原因很简单&#xff0c;自学终究是一种适合于极少数人的学习方法&#xff0c;而且非常非常慢&#xff0c;在这个过程中的变数过大&#xff0c;稍有不慎&#…...

【算法】手把手学会二分查找

目录 简介 基本步骤 第一种二分 第二种二分 例题 搜索插入位置 数的范围 总结 简介 &#x1f965;二分查找&#xff0c;又叫折半查找&#xff0c;通过找到数据二段性每次都能将原来的数据筛选掉一半&#xff0c;通过这个算法我们能够将一个一个查找的 O(n) 的时间复杂…...

SVO、vinsmono、 OKVIS系统比较

几个经典视觉slam系统的比较 SVO 高翔链接&#xff1a;https://www.zhihu.com/question/39904950/answer/138644975处理的各个线程: tracking部分-frame to frame 、frame to map 金字塔的处理。这一步估计是从金字塔的顶层开始&#xff0c;把上一层的结果作为下一层估计的初…...

前端开发规范

一、开发工具 开发工具统一使用 VSCode代码格式化插件使用 Prettier代码格式校验使用 ESLintVSCode 需安装的插件有&#xff1a;ESLint、Prettier、Vetur 二、命名规范 项目命名使用小写字母&#xff0c;以连字符分隔 正确&#xff1a;fe-project 错误&#xff1a;FE PROJECT…...

神经网络概念解耦:手绘推演前向反向传播与梯度流建模

1. 这不是又一本“手把手教你写反向传播”的书——它专治神经网络学习中的“假懂症”你有没有过这种经历&#xff1a;看完了三遍吴恩达的神经网络课程&#xff0c;能默写出sigmoid导数公式&#xff0c;也能在Jupyter里跑通MNIST分类&#xff0c;但一被问到“为什么ReLU比tanh更…...

AI学习 Newsletter 的手工感设计:从断点驱动到可追溯实践

1. 项目概述&#xff1a;这不是一份 newsletter&#xff0c;而是一份 AI 社区共建的实践手记 “Learn AI Together — Towards AI Community Newsletter #14”——看到这个标题&#xff0c;你第一反应可能是&#xff1a;又一份 AI 领域的资讯汇总&#xff1f;点开看看最新论文…...

并发数据结构设计与无锁编程实践

1. 并发数据结构的设计挑战与解决方案在现代多线程编程中&#xff0c;并发数据结构的设计一直是个棘手的问题。想象一下&#xff0c;你正在管理一个繁忙的机场控制塔&#xff0c;多架飞机同时请求降落许可&#xff0c;而你必须确保每架飞机都能安全降落&#xff0c;不会发生冲突…...

原神祈愿数据分析终极方案:genshin-wish-export架构革命与效能倍增

原神祈愿数据分析终极方案&#xff1a;genshin-wish-export架构革命与效能倍增 【免费下载链接】genshin-wish-export Easily export the Genshin Impact wish record. 项目地址: https://gitcode.com/GitHub_Trending/ge/genshin-wish-export 你是否曾在多设备间苦苦同…...

C251编译器变量声明顺序与内存空间指定符详解

1. C251编译器变量声明语法错误解析最近在将8051代码移植到251平台时&#xff0c;遇到一个看似简单却令人困惑的编译错误。当我使用const code int x;这样的变量声明方式时&#xff0c;C251编译器报出了"Error 25: syntax error near int"的错误。这个错误信息看起来…...

浮动油封市场深度研判:预计2032年将攀升至4.57亿美元

浮动油封&#xff0c;也叫机械端面密封或永久密封&#xff0c;是一种特殊类型的机械密封&#xff0c;主要由一对耐磨的金属浮封环和配套的橡胶密封圈组成&#xff0c;它通过橡胶圈的弹力使两个金属环端面紧密贴合、相对滑动&#xff0c;实现对油、水、泥沙等介质的动态密封&…...

OpenAI 与 Anthropic 财务大比拼:一家亏损求上市,一家盈利逆袭在望!

57亿 vs 48亿5月中旬&#xff0c;两家AI巨头同时亮出底牌&#xff0c;OpenAI秘密提交IPO申请&#xff0c;Anthropic拿出首个盈利季度财务预测。OpenAI第一季度营收57亿美元&#xff0c;每赚1美元亏1.22美元&#xff1b;Anthropic同期营收48亿美元&#xff0c;落后近10亿&#x…...

西安家谱企业服务商

如果你还认为家谱印刷只是老年市场的“老古董”&#xff0c;那你就错得离谱了。2024年&#xff0c;中国家谱印刷市场规模已突破58亿元&#xff0c;年复合增长率达21.3%&#xff0c;远超普通印刷行业。这背后&#xff0c;是新一代家庭对姓氏文化、家族记忆的数字化与实体化需求爆…...

MongoDB 连接详解

MongoDB 连接详解 引言 MongoDB 是一款强大的 NoSQL 数据库,以其灵活的文档存储和强大的扩展性而备受青睐。在开发过程中,与 MongoDB 的连接是至关重要的第一步。本文将详细讲解 MongoDB 的连接方式、连接参数以及连接池的使用,帮助您更好地理解并使用 MongoDB。 MongoDB…...

C++学习笔记23:const 成员函数

目录 一、为什么需要 const 成员函数&#xff1f; 二、const 成员函数的写法 三、const 修饰的到底是什么&#xff1f; 四、const 成员函数不能修改成员变量 五、const 对象和普通对象的调用规则 1. const 对象只能调用 const 成员函数 2. 普通对象可以调用 const 成员函…...