1.下载

使用pip安装Opencv应该是最快最简单的安装方式了

pip install opencv-contrib-python
如果pip原始源下载慢的话可以考虑使用国内源:

pip3 install opencv-contrib-python -i https://pypi.tuna.tsinghua.edu.cn/simple
首先需要说明的是通过pip安装的opencv包不是官方编译好的opencv包, 也就是说他们没有得到官方非认可, 但这并不影响你的正常使用.

一般来说, pip提供的opencv的包的类型有四种:
opencv-python: 只包含opencv库的主要模块. 一般不推荐安装.
opencv-contrib-python: 包含主要模块和contrib模块, 功能基本完整, 推荐安装.
opencv-python-headless: 和opencv-python一样, 但是没有GUI功能, 无外设系统可用.
opencv-contrib-python-headless: 和opencv-contrib-python一样但是没有GUI功能. 无外设系统可用.
因此一般来说都会选择安装opencv-contrib-python
不要同时安装opencv-python和opencv-contrib-python

测试opencv是否安装成功

import cv2
print(cv2.version)
如果成功导入opencv包并打印相应opencv的版本就说明安装成功了.

最后, 通过pip安装的opencv包不能使用非开源的算法, 如SIFT, SURF, 还有其他的opencv专利的算法, 如果不需要用到这些算法, 使用pip安装opencv是可行的, 如果你需要用到这些算法, 那就要参考另一篇文章
opencv中文api

2 结构

OpenCV 是由很多模块组成的,这些模块可以分成很多层:
最底层是基于硬件加速层(HAL)的各种硬件优化。
再上一层是 opencv_contrib 模块所包含的 OpenCV 由其他开发人员所贡献的代码,其包含大多数高层级的函数功能。这就是OpenCV的核心。
接下来是语言绑定和示例应用程序。
处于最上层的是 OpenCV 和操作系统的交互。

下图显示了 OpenCV 的这种组织关系。

图1:OpenCV 层级结构及其所支持的操作系统

下表给出了 OpenCV 包含的具体模块,虽然这些模块会随着时间推移而不断的发展,但模块始终是组成这个库的基本单位,每个函数都是一个模块的一部分。

表1:当前 OpenCV 所拥有的模块

模块 说明
Core 该模块包含 OpenCV 库的基础结构以及基本操作。
Improc 图像处理模块包含基本的图像转换,包括滤波以及类似的卷积操作。
Highgui 在 OpenCV 3.0中,分割为 imcodecs、videoio 以及 highgui 三部分。这个模块包含可以用来显示图像或者简单的输入的用户交互函数。这可以看作是一个非常轻量级的 Windows UI 工具包。
Video 该模块包含读取和写视频流的函数。
Calib3d 这个模块包括校准单个、双目以及多个相机的算法实现。
Feature2d 这个模块包含用于检测、描述以及匹配特征点的算法。
Objdectect 这个模块包含检测特定目标,比如人脸或者行人的算法。也可以训练检测器并用来检测其他物体。
Ml 机器学习模块本身是一个非常完备的模块,包含大量的机器学习算法实现并且这些算法都能和 OpenCV 的数据类型自然交互。
Flann Flann 的意思是“快速最邻近库”。这个库包含一些你也许不会直接使用的方法,但是其他模块中的函数会调用它在数据集中进行最邻近搜索。
GPU 在 OpenCV 中被分割为多个 cuda* 模块。GPU 模块主要是函数在 CUDA GPU 上的优化实现,此外,还有一些仅用于 GPU 的功 能。其中一些函数能够返回很好的结果,但是需要足够好的计算资源,如果硬件没有GPU,则不会有什么提升。
Photo 这是一个相当新的模块,包含计算摄影学的一些函数工具。
Stitching 本模块是一个精巧的图像拼接流程实现。这是库中的新功能,但是,就像 Photo 模块一样,这个领域未来预计有很大的增长。
Nonfree 在 OpenCV 3.0 中,被移到 opencv_contrib/xfeatures2d。OpenCV 包含一些受到专利保护的或者受到使用限制的(比如 SIFT 算法)算法。这些算法被隔离到它们自己的模块中,以表明你需要做一些特殊的工作,才可以在商业产品中使用它们。
Contrib 在 OpenCV 3.0 中,融合进了 opencv_contrib。这个模块包含一些新的、还没有被集成进 OpenCV 库的东西。
Legacy 在 OpenCV 3.0 中,被取消。这个模块包含一些老的尚未被完全取消的东西。
ocl 在OpenCV 3.0 中,被取消,取而代之的是 T-API。这是一个较新的模块,可以认为它和 GPU 模块相似,它实现了开放并行编程的 Khronos OpenCL 标准。虽然现在模块的特性比 GPU 模块少很多,但 ocl 模块的目标是提供可以运行在任何 GPU 或者是其他可以搭载 Khronos 的并行设备。这与 GPU 模 块形成了鲜明的对比,后者使用 Nividia CUDA 工具包进行开发,因此只能在 Nividia GPU 设备上工作。

opencv下载安装及介绍【初学,后续继续更新】相关推荐

  1. 非常贴心的Anaconda3 + Pycharm2020+ OpenCV 下载安装及环境搭建教程

    Opencv基于Python图像处理环境搭建 目标 前言 1. 下载Anaconda和Pycharm 1.1 下载Anaconda 1.1.1 安装Anaconda 1.1.2 给Anaconda3添 ...

  2. 【Java学习整理】2021最新版 Eclipse下载+安装+页面介绍+常见问题解答+查看源码+常用快捷键+Debug调试(详细)

    学习 Java 语言程序设计必须选择一个功能强大.使用简单,能够辅助程序设计的 IDE. Eclipse 是目前最流行的 Java 语言开发工具,它强大的代码辅助功能,可以帮助开发人员自动完成语法修正 ...

  3. 微信小程序之工具下载安装以及介绍

    小程序开发与实战 学习视频:https://www.bilibili.com/video/BV1Gv411g7j6?p=1 项目介绍 十方智育,商业级项目 功能实现:微信小程序端的页面实现 + jso ...

  4. 如何安装OpenCV?OpenCV下载安装流程

    安装OpenCV需要以下步骤: 下载OpenCV:首先需要从OpenCV官网(https://opencv.org/releases/)上下载适合自己操作系统版本的OpenCV. 安装依赖项:在安装O ...

  5. 取消苹果商店简短验证_苹果12怎么下载软件-IPhone12软件下载安装方法介绍

    苹果12怎么下载软件?当我们购买了最新款的IPhone12手机之后,通常需要安装自己常用的软件到新手机,那苹果12软件怎么下载安装,苹果12怎么下载软件,IPhone12软件下载怎么下,下面就和小编一 ...

  6. NodeJs下载安装使用介绍流程

    目录 Node.js的官网下载地址 Node.js可以做什么 Node.js的学习路径 Node.js环境的安装 npm与包 下载包 包管理配置文件package.json 解决下包速度慢的问题 nr ...

  7. OpenCV下载安装与源码调试。

    1.下载CMake(不编译源码可以直接跳过CMake相关说明):安装最新版本即可. 官网:https://cmake.org/download/ github:https://github.com/o ...

  8. Myeclipse2013下载,安装,破解,介绍(CSDN首发)

    MyEclipse 2013新特性 根据官方最新消息,MyEclipse 2013已经正式发布!MyEclipse 2013支持HTML5.JQuery和主流的Javascript 库. 随着MyEc ...

  9. Ubuntu 下载安装删除方式(自己常用,保持更新)

    安装 dpkg sudo dpkg -i xxx.deb 安装.deb文件 (apt会解决安装模块的依赖问题,dpkg只能安装本地包) apt-get sudo apt-get update 更新库 ...

最新文章

  1. springboot + profile(不同环境读取不同配置)
  2. 循环结构_for循环
  3. 使用Bootstrap制作导航栏
  4. P2408- 不同子串个数【SA】
  5. 鳗鱼刺多怎么处理图像_怎么在做鱼前去除鳗鱼刺?
  6. 在Linux中快速安装Docker
  7. 【树莓派】最常用的树莓派 Linux 命令及说明
  8. linux 安装 vmvare
  9. 【题解】ZJOI2017仙人掌
  10. 【python 保存生成的图片 (plt;opencv;PIL)】
  11. 卡尔曼滤波器和六轴传感器姿态融合资料整理
  12. word 在试图打开时遇到错误 以及word文档的修复
  13. C++中模板的特化与偏特化
  14. 文献分析工具Connected Papers
  15. 彻底疯狂!美团数字人民币交易用户数同比增长超5倍!心动ing...
  16. STM32 Simulink 自动代码生成电机控制:基于反电动势观测器的锁相环设计
  17. SDS之Object Storage: 对象存储 - 生于时代,长于场景
  18. Oculus Quest2 踩坑指南
  19. 抽象类和接口的区别(使用举例)
  20. 北京地区 图像处理工作

热门文章

  1. [Android工具]安卓百度云盘百度网盘资源搜索工具,安卓网盘搜索软件
  2. 相移波束形成算法的MATLAB仿真
  3. jenkins+github+docker+maven自动化构建部署
  4. 微信小程序学习:开发注意点
  5. iTerm的安装以及配置Oh My Zsh
  6. python进阶资源整理
  7. 电脑svchost进程占用内存
  8. myeclipse tomcat内存溢出解决方法
  9. NUC120 SPI 模拟I2S
  10. PAT甲级1120 Friend Numbers:[C++题解]set去重且有序