VMware虚拟机中ubuntu使用记录(7)—— 如何在Ubuntu18.04中安装opencv4.5.2

devtools/2024/10/23 18:33:02/

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、opencv的下载
  • 二、opencv4的安装
    • (1) 安装依赖项
    • (2) 编译安装


前言

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,提供了丰富的图像处理和计算机视觉算法,可以用来在图像和视频中检测、跟踪、识别物体,进行图像分割、特征提取、图像匹配、立体视觉等多种计算机视觉任务。它支持多种编程语言如C++、Python等,并且可以在不同平台上运行。OpenCV已经被广泛应用在机器学习、图像处理、自动驾驶、人脸识别、医学影像等领域,是计算机视觉领域的重要工具之一


一、opencv的下载

下载opencv4.5.2

下载地址:https://github.com/opencv/opencv.git

二、opencv4的安装

(1) 安装依赖项

sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt install python3-dev python3-numpy
sudo apt install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
sudo apt install libpng-dev libopenexr-dev libtiff-dev libwebp-dev

(2) 编译安装

注意,非常重要:在ubuntu18.04中本身自带opencv3,如果想要新安装的opencv4和以前的opencv3共存的话,需要把opencv4安装于一个特定的位置,与之前的opencv3在同一个目录之下,也就是(目录为/usr/local/opencv4,与/usr/local/opencv3共存)
1)在源码的目录下,创建build文件:

mkdir build
cd build

2)编译

cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_INSTALL_PREFIX=/usr/local/opencv4 ..
make -j4          //如果电脑支持,可以使用更多的线程进行编译,加快编译的速度

3)安装到本机

sudo make install

完成上述的步骤,即可完成opencv4.5.2的安装


http://www.ppmy.cn/devtools/39382.html

相关文章

AOP底层实现原理

一、JDK 核心思想: 原始类和代理类实现相同的接口 使用JDK自带api创建动态代理 public class JDKTest{public static void main(String[] args){// 获取原始对象UserService userService new UserServiceImpl();ClassLoader classLoader JDKTest.class.getClas…

idea 新建spring maven项目、ioc和依赖注入

文章目录 一、新建Spring-Maven项目二、在Spring-context使用IOC和依赖注入 一、新建Spring-Maven项目 在pom.xml文件中添加插件管理依赖 <build><plugins><plugin><artifactId>maven-compiler-plugin</artifactId><version>3.1</ver…

前后端分离遇到CORS问题的解决办法

用一个简单的前后端分离项目中讲解CORS 前端代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0">&…

Unity TileMap入门

概述 相信很多同学学习制作游戏都是从2D游戏开始制作的吧&#xff0c;瓦片地图相信大家都有接触&#xff0c;那接下来让我们学习一下这部分的内容吧&#xff01; Tilemap AnimationFrameRate:设置每帧动画的播放速率。Color:瓦片地图的颜色TileAnchor:锚点&#xff0c;&#x…

设计模式——代理模式(Proxy)

代理模式&#xff08;Proxy Pattern&#xff09;是程序设计中的一种设计模式&#xff0c;其核心概念是为一个对象提供一个代理&#xff0c;以控制对这个对象的访问。在某些情况下&#xff0c;一个对象不适合或者不能直接引用另一个对象&#xff0c;此时可以通过一个代理对象来实…

Vue从入门到实战Day03

一、生命周期 1. 生命周期四个阶段 思考&#xff1a; ①什么时候可以发送初始化渲染请求&#xff1f; 答&#xff1a;越早越好&#xff0c;在创建阶段后 ②什么时候可以开始操作DOM&#xff1f; 答&#xff1a;至少DOM得渲染出来&#xff0c;在挂载阶段结束后。 Vue生命周…

[力扣题解]455. 分发饼干

题目&#xff1a;455. 分发饼干 思路 贪心法 代码 class Solution { public:int findContentChildren(vector<int>& g, vector<int>& s) {int cookie_i, belly_i, result 0;// 满足的小孩数 : result// 胃口: g// 饼干: ssort(g.begin(), g.end());so…

Java算法-力扣leetcode-14. 最长公共前缀

14. 最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀&#xff0c;返回空字符串 ""。 示例 1&#xff1a; 输入&#xff1a; strs ["flower","flow","flight"] 输出&#xff1a; "fl"示…