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

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

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.lryc.cn/news/108712.html

相关文章:

  • 【腾讯云Cloud Studio实战训练营】React 快速构建点餐页面
  • 自监督去噪:Noise2Self原理分析及实现 (Pytorch)
  • docker容器学习笔记1
  • 线程魔法:用Spring Boot的@Async注解开启异步世界
  • 面试热题(接雨水问题)
  • Meta AI研究团队新AI模型: Llama 2 大语言模型
  • CSS水平垂直居中
  • Yolov8-pose关键点检测:模型部署篇 | yolov8-pose.onnx python推理
  • Linux中提示No such file or directory解决方法
  • Sklearn-使用SVC对iris数据集进行分类
  • 项目经理必读:领导风格对项目成功的关键影响
  • 行业追踪,2023-08-04
  • 双链表(带哨兵位头节点)
  • MySQL - LOAD DATA LOCAL INFILE将数据导入表中和 INTO OUTFILE (速度快)
  • String ,StringBulider ,StringBuffer
  • 阶段总结(linux基础)
  • HTTP(超文本传输协议)学习
  • 23年7月工作笔记整理(前端)
  • pytorch学习——正则化技术——权重衰减
  • iTOP-RK3588开发板Ubuntu 系统交叉编译 Qt 工程-命令行交叉编译
  • Java进阶——数据结构与算法之哈希表与树的入门小结(四)
  • DataFrame中按某字段分类并且取该分类随机数量的数据
  • 【c++】rand()随机函数的应用(一)——rand()函数详解和实例
  • iOS——Block回调
  • html学习6(xhtml)
  • UML-活动图
  • 跨境电商怎么做?Live Market教你创业及做大生意
  • Linux 4.19 和Linux 5.10 的区别
  • 学习单片机的秘诀:实践与坚持
  • Hum Brain Mapp:用于功能连接体指纹识别和认知状态解码的高精度机器学习技术