Ubuntu18.04 安装opencv 4.8.0教程(亲测可用)

news2024/9/21 1:47:56

1. 安装准备

        安装前需要下载一些必须的依赖项。 不同版本opencv依赖会有不同,具体见官网opencv安装

sudo apt-get install build-essential   
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

        常出现的问题:无法定位 libjasper-dev

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

Releases - OpenCV

2. 安装opencv

sudo apt-get install git
git clone https://github.com/opencv/opencv.git
# 也可以直接从官网中下载
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_GTK=ON -D OPENCV_GENERATE_PKGCONFIG=YES OPENCV_EXTRA_MODULES_PATH=/home/fairlee/opencv-4.8.0/opencv_contrib-4.8.0/modules/ ..

OPENCV_GENERATE_PKGCONFIG=YES:表示自动生成OpenCV的pkgconfig文件,否则需要自己手动生成。
opencv_contrib的目录需要根据自己电脑更改

2.1 编译和安装

make -j8
sudo make install

3. 环境变量配置

3.1 将OpenCV的库添加到系统路径

3.1.1配置ld.so.conf文件

sudo gedit /etc/ld.so.conf

在文件中加上一行

include /etc/ld.so.conf.d/*.conf
include /usr/local/lib

3.1.2 手动生成opencv.conf文件

sudo gedit /etc/ld.so.conf.d/opencv.conf

添加内容如下

/usr/local/lib

以上两种方法配置好后,执行如下命令使得配置的路径生效

sudo ldconfig

3.1.3 生成opencv4.pc文件

sudo touch /usr/local/lib/pkgconfig/opencv4.pc

内容如下 (这个内容应该是自动生成的,或者安装后就有opencv4.pc文件)

3.1.4 配置系统bash

        因为在cmake时,选择了自动生成OpenCV的pkgconfig文件,在/usr/local/lib/pkgconfig路径可以看到文件,确保文件存在,执行如下命令

sudo gedit /etc/bash.bashrc

        在文末添加

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


        保存退出,然后执行如下命令使配置生效

source /etc/bash.bashrc

4. 查看版本

pkg-config --modversion opencv4
pkg-config --cflags opencv4
pkg-config --libs opencv4

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

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

相关文章

Elasticsearch官方测试数据导入

一、数据准备 百度网盘链接 链接:https://pan.baidu.com/s/1rPZBvH-J0367yQDg9qHiwQ?pwd7n5n 提取码:7n5n文档格式 {"index":{"_id":"1"}} {"account_number":1,"balance":39225,"firstnam…

(附代码)视觉激光雷达信息融合与联合标定

目录 一、引言 福利:文末有chat-gpt纯分享,无魔法,无限制 二、联合标定转换关系 三、相机标定 四、联合标定 五、视觉与点云信息融合 5.1 image2points 5.2 points2image 六、总结 一、引言 最近在为车辆添加障碍物检测模块&#xf…

【雕爷学编程】MicroPython动手做(31)——物联网之Easy IoT

1、物联网的诞生 美国计算机巨头微软(Microsoft)创办人、世界首富比尔盖茨,在1995年出版的《未来之路》一书中,提及“物物互联”。1998年麻省理工学院提出,当时被称作EPC系统的物联网构想。2005年11月,国际电信联盟发布《ITU互联网…

Nginx源码安装

文章目录 Nginx源码安装注安装pcre库安装openssl库创建用户及用户组安装编译环境解压文件检测环境重要目录检查配置服务启动脚本查看效果: Nginx源码安装 注 本实验基于RHEL73.10.0-327.el7.x86_64,尽量使用RHEL7或CentOS7。 安装pcre库 安装 pere 库…

(自控原理)线性系统的根轨迹法

目录 一、根轨迹法的基本概念 1、根轨迹概念 2、根轨迹方程 二、根轨迹绘制的基本法则 1、绘制根轨迹基本法则 三、系统性能的分析 1、闭环零点与时间响应 一、根轨迹法的基本概念 1、根轨迹概念 三大分析矫正方法:时域法、复域法(根轨迹法)、频域法 2、根…

【网络】数据链路层

目录 一、以太网 二、以太网帧格式 三、 MTU 1、MTU概念 2、 MTU对IP协议的影响 3、MTU对UDP协议的影响 4、 MTU对于TCP协议的影响 四、MAC地址 五、 ARP协议 1、ARP协议的作用 2、ARP协议的工作流程 3、ARP数据报的格式 4、中间人 数据链路层解决的,是…

mysql使用SUBSTRING_INDEX拆分字符串,获取省、市、县和详细现住址

mysql使用SUBSTRING_INDEX拆分字符串,获取省、市、县和详细现住址 一、如何把"江西-上饶市-广丰县-大南镇古村村张家82号"拆分为省、市、县和详细现住址二、mysql的解决办法 一、如何把"江西-上饶市-广丰县-大南镇古村村张家82号"拆分为省、市、…

基于 Redux + TypeScript 实现强类型检查和对 Json 的数据清理

基于 Redux TypeScript 实现强类型检查和对 Json 的数据清理 突然像是打通了任督二脉一样就用了 generics 搞定了之前一直用 any 实现的类型…… 关于 Redux 的部分,这里不多赘述,基本的实现都在这里:Redux Toolkit 调用 API 的四种方式 和…

路桥隧施工管理平台(BIM+实景+GIS)

引言 中科图新公路工程BIMGIS可视化项目管理平台是一种高效的项目管理工具,通过将BIM技术与3DGIS技术融合,实现了宏观地理信息与微观工程模型的集成显示。 该平台为项目管理提供了直观、准确的三维工程虚拟环境,对主要三维空间对象&#xff…

【Java】springboot框架 粮油质量溯源MES生产加工管理系统源码

粮油质量溯源MES生产加工管理系统源码,实现一物一码,全程追溯,正向追踪,逆向溯源。技术架构:spring bootmybatiseasyuimysql 。 粮油生产质量追溯系统实现种植主体、种植基地、生产计划、压榨、精炼、包装、销售、物料…

智能物流千人俱乐部---正式开启!

经过半年的筹备,【研习社智能物流千人俱乐部】今天起正式对外开放。 会员可以直接互相对接联系。 目前已经有100多家各行业代表(用户、甲方)加入了千人俱乐部。 行业精英主要来自供应链管理、食品、金融供应链、铁路、精密制造、商超电商、电…

实战:k8s里通过argoCD部署jenkins-2023.7.24(测试成功)

实战:k8s里通过argoCD部署jenkins-2023.7.24(测试成功) 目录 实验环境 操作系统: CentOS8 Linux (我本次用centos7.6) 内存资源:32GB (自己nuc机器32G内存) 实验软件版本: 工具名…

MySQL 与MongoDB区别

一、什么是MongoDB呢 ? MongoDB 是由C语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。 MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB 将数据存储为一…

【高危】Apache NiFi 远程资源检索功能存在命令注入漏洞

漏洞描述 Apache NiFi 是一个开源的数据流处理和自动化工具。 Apache NiFi 1.23.0之前版本中包含使用 HTTP URL 进行远程资源检索的 Processors 和 Controller Services,但是未限制普通身份用户配置此功能。经过身份验证的攻击者可配置恶意的外部资源引用地址&…

现场直击!飞凌嵌入式亮相第13届配电技术应用论坛

2023年8月3日,第十三届配电技术应用论坛在杭州开幕,飞凌嵌入式携多款重量级产品及热门方案亮相本届论坛,展位号A49。 飞凌嵌入式作为专注嵌入式核心控制系统研发、设计和生产的高新技术企业,与来自全国各地的行业伙伴共同分享市场…

打破思维定势,头脑风暴必备的3个模板!

在日常工作和生活中,我们常常陷入思维定势,无法找到新的解决方案或创意。而头脑风暴的好处在于它能够打破这种思维定势,激活我们的创造力和想象力,找到新的思路和解决问题的方法。 借由多人参与的头脑风暴,我们可以集思…

[IDEA]使用idea比较两个jar包的差异

除了一些小工具外,idea自带了jar包比较的功能。 把需要比对的jar包放到任意目录下,然后选中两个需要比较的jar包,右键,选择Compare Archives,然后就可以比较了。 这次疏忽了,每次打包前需要commit界面看一下…

数制与码制

用0和1可以组成二进制数表示是数量的大小,也可以表示对立的两种逻辑状态。数字系统中常用二进制数来表示数值。 在微处理器、计算机和数据通信中,采用十六进制。任意一种格式的数可以在十六、二和十进制之间相互转换。 二进制数有加、减、乘、除四种运算…

常用SQL语句总结

SQL语句 文章目录 SQL语句1 SQL语句简介2 DQL(数据查询语句)3 DML(数据操纵语句)4 DDL(数据定义语句)5 DCL(数据控制语句)6 TCL(事务控制语句) 1 SQL语句简介…

【数据结构】二叉树 链式结构的相关问题

本篇文章来详细介绍一下二叉树链式结构经常使用的相关函数,以及相关的的OJ题。 目录 1.前置说明 2.二叉树的遍历 2.1 前序、中序以及后序遍历 2.2 层次遍历 3.节点个数相关函数实现 3.1 二叉树节点个数 3.2 二叉树叶子节点个数 3.3 二叉树第k层节点个数 3…