day1 - OpenCV安装与环境配置

本期我们介绍 OpenCV 的背景知识以及如何安装 OpenCV 。

完成本期内容,你可以:

  • 了解 OpenCV 的背景知识
  • 掌握安装 OpenCV 及其拓展库

若要运行案例代码,你需要有:

  • 操作系统:Ubuntu 16 以上 或者 Windows10

  • 工具软件:VScode 或者其他源码编辑器

  • 硬件环境:无特殊要求

  • 核心库:python 3.6.13, opencv-contrib-python 3.4.11.39


OpenCV的概述

OpenCV是一个开放源代码的计算机视觉应用平台,由英特尔公司下属研发中心俄罗斯团队发起该项目,开源BSD证书,OpenCV的目标是实现实时计算机视觉,是一个跨平台的计算机视觉库。从开发之日起就得到了迅猛发展,获得了众多公司和业界大牛的鼎力支持与贡献,因为是BSD开源许可,因此可以免费应用在科研和商业应用领域。

OpenCV的体系结构如图所示:

请添加图片描述

  • CORE–核心功能模块

    opencv 基本数据结构、动态数据结构、绘图函数、数组操作相关函数、辅助功能与系统函数和宏、与OpenGL的互操作。

  • imgproc–图像处理模块

    线性和非线性的图像滤波、图像的几何变换、其他(Miscellaneous)图像转换、直方图相关、结构分析和形状描述、运动分析和对象跟踪、特征检测、目标检测等。

  • Object Detection—目标检测

    级联分类器及SVM。

  • features2D–2维特征框架

    特征检测与描述、特征检测提取匹配接口、关键点与匹配点绘图及对象分类。

  • Calib3d Stereo—摄像机标定及三维重建模块

    多视角几何算法、单个立体摄像头标定、物体姿态估计、立体相似性算法、3D信息的重建等。

  • HighGUI–高层GUI图形用户界面

    媒体的输入输出、视频捕捉、图像和视频的编码解码、图像交互界面的接口等内容。

  • Machine Learning—机器学习

    统计模型、贝叶斯分类器、最近邻分类器、支持向量机、决策树、提升、梯度提升树、随机数、超随机数、最大期望、神经网络及机器学习数据。

  • VO—视频分析组件

    运动估计、背景分离、对象跟踪等视频处理相关内容。

  • Stitching—图片拼接模块

    拼接流水线、特点寻找和匹配图像、估计旋转、自动校准、图像歪斜、接缝估测、曝光补偿、图片混合。

OpenCV的优点

OpenCV的优势:

  • 编程语言:OpenCV基于C++实现,同时提供python, Ruby, Matlab等语言的接口。OpenCV-Python是OpenCV的Python API,结合了OpenCV C++ API和Python语言的最佳特性。

  • 跨平台:可以在不同的系统平台上使用,包括Windows,Linux,OS X,Android和iOS。基于CUDA和OpenCL的高速GPU操作接口也在积极开发中。

  • 丰富的API:完善的传统计算机视觉算法,涵盖主流的机器学习算法,同时添加了对深度学习的支持。


具体步骤

OpenCV的安装以及配置

  • 安装OpenCV

    安装OpenCV可以直接在终端运行

    pip install opencv
    

    为了更快地进行安装配置,通常会从清华镜像中下载和安装 OpenCV-Contrib-Python。

    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-contrib-python
    

请添加图片描述

  • OpenCV安装验证

    打开终端进入python交互式编程页面,执行以下命令,没有报错,说明安装成功。

请添加图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

红米8a,刷机到安卓调用之路

什么是BL锁? https://baijiahao.baidu.com/s?id1614459630284912892&wfrspider&forpc bl锁简单来说,就是厂商为了自己的目的,为了避免刷机,而人为设置的一道障碍,我的第一步就需要等待168小时,经…

车载ECU休眠唤醒-TJA1145

前言 首先,请教大家几个小小问题,你清楚: 什么是TJA1145吗?你知道休眠唤醒控制基本逻辑是怎么样的吗?TJA1145又是如何控制ECU进行休眠唤醒的呢?使用TJA1145时有哪些注意事项呢? 今天&#xff…

Java学习笔记20——内部类

内部类 内部类的访问特点内部类的形式成员内部类局部内部类匿名内部类匿名内部类在开发中使用 内部类是类中的类 内部类的访问特点 1.内部类可以直接访问外部类的成员,包括私有成员 2.外部要访问内部类的成员,必须创建对象 内部类的形式 成员内部类 …

IMX6ULL平台的I2C

IMX6ULL平台的I2C 文章目录 IMX6ULL平台的I2C概述模式和操作 外部信号时钟功能描述I2C系统配置仲裁程序时钟同步信号交换外围总线访问复位中断字节顺序 初始化初始化序列启动的生成传输后软件响应停止的生成重复启动的生成从模式仲裁失败软件限制 I2C内存映射/寄存器定义I2C地址…

Windows操作系统的文件组织结构和计算方法

我是荔园微风,作为一名在IT界整整25年的老兵,今天总结一下Windows操作系统的文件组织结构和计算方法。 这是一块非常实用的知识,感谢大家来看这个帖子。 Windows组织结构就是文件的组织形式,其中: 1.Windows逻辑结构…

FL Studio水果软件好用吗?对电脑硬件环境有哪些需求

如果你打算将来朝着艺术和音乐方向发展,那么学习音乐理论和音乐制作就是一门基础课了。 实践才是检验学习效果途径,在我们日常的练习中,一款功能强大且易学的音乐制作工具是少不了的。在没有实际体验过各个音乐制作工具的功能前,…

OpenHarmony3.1安全子系统-签名系统分析

介绍 应用签名系统主要负责鸿蒙hap应用包的签名完整性校验,以及应用来源识别等功能。 子系统间接口: 应用完整性校验模块给其他模块提供的接口;完整性校验: 通过验签,保障应用包完整性,防篡改;…

互联网中的web3.0和gpt有何联系?

文章目录 ⭐前言⭐web 3.0💖 web1.0-web3.0的概念 ⭐chatgpt💖 gpt的概念 ⭐总结⭐结尾 ⭐前言 大家好,我是yma16,本文分享互联网中的web3.0和gpt的关系。 互联网的发展 第一台计算机的出现 世界上第一台通用计算机“ENIAC”于…

JavaScript键盘事件

目录 一、keydown:按下键盘上的任意键时触发。 二、keyup:释放键盘上的任意键时触发。 三、keypress:在按下并释放能够产生字符的键时触发(不包括功能键等)。 四、input:在文本输入框或可编辑元素的内容…

SCSI介绍和SCSI命令承载于各类总线的方式

1. SCSI协议简介 小型计算机系统接口(SCSI,Small Computer System Interface)是一种用于计算机及其周边设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。虽然名字里面带个接口,但实际上是一…

基于深度学习的高精度野生目标检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要:基于深度学习的高精度野生目标检测识别系统可用于日常生活中检测与定位野生目标目标,利用深度学习算法可实现图片、视频、摄像头等方式的野生目标目标检测识别,另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目标检测…

Apache DolphinScheduler——开源大数据调度器神器(国人之光)

本文已参与「新人创作礼」活动,一起开启掘金创作之路。 1. 简 介 Apache DolphinScheduler(海豚调度),国人之光,是许多国人雷锋开源在Apache的顶级项目,主要功能就是负责任务的调度处理。 1.1 概 念 Apache DolphinScheduler是一个分布式去…

玩转用户旅程地图

图:史江鸿 从事需求分析和产品设计工作已经有几个年头了,我很享受这个职业。因为在这段职业历程中,我学到了很多有意思的方法和工具,用户旅程地图就是其中一个。 如今在国内外许多IT公司,用户旅程地图已经成为需求分析…

Python连接达梦数据库

python如果想连接达梦数据库,必须要安装dmPython。 简介:dmPython 是 DM 提供的依据 Python DB API version 2.0 中 API 使用规定而开发的数据库访问接口。dmPython 实现这些 API,使 Python 应用程序能够对 DM 数据库进行访问。 dmPython 通…

微服务之服务容错

Informal Essay By English Share a sentence that I think is very reasonable, as long as you can know the underlying logic of anything, you can hold it without fear 参考书籍: “凤凰架构” 引言 在 Martin Fowler 与 James Lewis合写的文章《Micros…

Linux内核源码分析 2:Linux内核版本号和源码目录结构

一、Linux的版本 1. 稳定版和开发版 Linux内核主要分为两种版本: 稳定版(长期支持版):稳定版的内核具有工业级的强度,可以广泛地应用和部署。而每一代新推出的稳定版内核大部分都只是修正了一些Bug或是加入了一些新的…

MySQL数据类型

文章目录 一、数据类型分类二、数值类型1.tinyint类型2.bit类型3.float类型4.decimal类型 三、字符串类型1.char类型2.varchar类型 四、日期和时间类型五、enum类型和set类型1.enum类型2.set类型 一、数据类型分类 MySQL的数据类型一共有如下几类,表格中简单介绍了…

企业级API网关之典型应用场景

目 录 01 企业面对API与网关的现状‍‍‍‍‍ 02 APIGW介绍及企业应用场景 03 总结 01 企业面对API与网关的现状‍ 在企业中,进行新的系统/应用/产品开发时,具有周密的流程:从需求分析、设计、开发、测试、发布与验收。所以,一…

bmp转jpg怎么转?bmp转换jpg的几个方法

bmp转换jpg的几个方法~什么是BMP呢?BMP是位图文件格式的一种,全称为Bitmap(位图),是一种基于像素的图像文件格式。BMP是Windows操作系统中最常用的图像格式之一,通常以.bmp或.dib作为文件扩展名。BMP文件格…

华芯微特SWM34-IO速度优化

对比测试了一下IO翻转速度在各种函数调用的情况下的差异 CPU运行速度150Mhz,SDRAM开 直接调用翻转函数 while(1) {GPIO_InvBit(GPIOA, PIN0); }速度大约5Mhz,主要是因为函数调用开销和函数内部的移位和异或操作,增加了指令的运行数量。 vo…