1. 磐创AI首页
  2. 系列教程
  3. OpenCV_Python

OpenCV-Python 系列 一 | 系列简介与目录

本文是全系列中第1 / 63篇:OpenCV-Python

OpenCV

OpenCV由Gary Bradsky于1999年在英特尔创立,第一版于2000年问世。Vadim Pisarevsky加入Gary Bradsky,一起管理英特尔的俄罗斯软件OpenCV团队。2005年,OpenCV用于Stanley,该车赢得了2005年DARPA挑战赛的冠军。后来,在Willow Garage的支持下,它的积极发展得以继续,由Gary Bradsky和Vadim Pisarevsky领导了该项目。OpenCV现在支持与计算机视觉和机器学习有关的多种算法,并且正在日益扩展。

OpenCV支持多种编程语言,例如C++、Python、Java等,并且可在Windows、Linux、OS X、Android和iOS等不同平台上使用。基于CUDA和OpenCL的高速GPU操作的接口也正在积极开发中。

OpenCV-Python是用于OpenCV的Python API,结合了OpenCV C++ API和Python语言的最佳特性。

OpenCV-Python

OpenCV-Python是旨在解决计算机视觉问题的Python专用库。

Python是由Guido van Rossum发起的通用编程语言,很快就非常流行,主要是因为它的简单性和代码可读性。它使程序员可以用较少的代码行表达想法,而不会降低可读性。

与C/C++之类的语言相比,Python速度较慢。也就是说,可以使用C/C++轻松扩展Python,这使我们能够用C/C++编写计算密集型代码并创建可用作Python模块的Python包装器。这给我们带来了两个好处:首先,代码与原始C/C++代码一样快(因为它是在后台运行的实际C++代码),其次,在Python中比C/C++编写代码更容易。OpenCV-Python是原始OpenCV C++实现的Python包装器。

OpenCV-Python利用了Numpy,这是一个高度优化的库,用于使用MATLAB样式的语法进行数值运算。所有OpenCV数组结构都与Numpy数组相互转换。这也使与使用Numpy的其他库(例如SciPy和Matplotlib)的集成变得更加容易。

OpenCV-Python教程

OpenCV引入了一组新的教程,它们将指导您完成OpenCV-Python中可用的各种功能。本指南主要针对OpenCV 3.x版本(尽管大多数教程也适用于OpenCV 2.x)。

建议先了解Python和Numpy,因为本指南将不介绍它们。要使用OpenCV-Python编写优化的代码,必须先明白Numpy。

本教程最初由Abid Rahman K.Alexander Mordvintsev的指导下作为Google Summer of Code 2013计划的一部分启动

OpenCV需要您!

由于OpenCV是开放源代码计划,因此欢迎所有人为这个库,文档和教程做出贡献。如果您在本教程中发现任何错误(从小的拼写错误到代码或概念中的严重错误),请随时通过在GitHub中:https://github.com/opencv/opencv 克隆OpenCV 并提交请求请求来更正它。OpenCV开发人员将检查您的请求请求,给您重要的反馈,并且(一旦通过审阅者的批准)它将被合并到OpenCV中。然后,您将成为开源贡献者:-)

随着新模块添加到OpenCV-Python中,本教程将不得不进行扩展。如果您熟悉特定的算法,并且可以编写一个包括算法基本理论和显示示例用法的代码的教程,欢迎你这样做。

记住,我们可以共同使这个项目取得巨大成功!

贡献者

以下是向OpenCV-Python提交了教程的贡献者列表。

  1. Alexander Mordvintsev(GSoC-2013 导师)
  2. Abid Rahman K.(GSoC-2013 实习生)

OpenCV-Python教材

写在前面的话

OpenCV是计算机视觉中经典的专用库,其支持多语言、跨平台,功能强大。
OpenCV-Python为OpenCV提供了Python接口,使得使用者在Python中能够调用C/C++,在保证易读性和运行效率的前提下,实现所需的功能。
OpenCV-Python Tutorials是官方提供的文档,其内容全面、简单易懂,使得初学者能够快速上手使用。

2014年段力辉在当时已翻译过OpenCV3.0,但时隔五年,如今的OpenCV4.1中许多函数和内容已经有所更新,因此有必要对该官方文档再进行一次翻译。

翻译过程中难免有所疏漏,如发现错误,希望大家指出,谢谢支持。

OpenCV-Python Tutorials官方文档:https://docs.opencv.org/3.4/d6/d00/tutorial_py_root.html

目录

  • OpenCV简介:

了解如何在计算机上安装OpenCV-Python

  • OpenCV中的GUI特性

在这里,您将学习如何显示和保存图像和视频,控制鼠标事件以及创建轨迹栏。

  • 核心操作

在本节中,您将学习图像的基本操作、例如像素编辑、几何变换,代码优化、一些数学工具等。

  • OpenCV中的图像处理

在本节中,您将学习OpenCV内部的不同图像处理函数。

  • 特征检测与描述

在本节中,您将学习有关特征检测和描述符的信息

  • 视频分析

在本部分中,您将学习与对象跟踪等视频配合使用的不同技术。

  • 相机校准和3D重建

在本节中,我们将学习有关相机校准,立体成像等的信息。

  • 机器学习

在本节中,您将学习OpenCV内部的不同图像处理函数。

  • 计算摄影学

在本节中,您将学习不同的计算摄影技术如图像去噪等。

  • 目标检测(objdetect模块)

在本节中,您将学习目标检测技术,例如人脸检测等。

  • OpenCV-Python Binding

在本节中,我们将了解如何生成OpenCV-Python Binding

其他资源

  1. Python快速指南- [一小部分Python]:http://swaroopch.com/notes/python/
  2. 基本的Numpy教程:http://wiki.scipy.org/Tentative_NumPy_Tutorial
  3. numpy示例列表:http://wiki.scipy.org/Numpy_Example_List
  4. OpenCV文档:http://docs.opencv.org/
  5. OpenCV论坛:http://answers.opencv.org/questions/

原创文章,作者:磐石,如若转载,请注明出处:https://panchuang.net/2020/02/17/opencv-python-%e7%b3%bb%e5%88%97-%e4%b8%80-%e7%b3%bb%e5%88%97%e7%ae%80%e4%bb%8b%e4%b8%8e%e7%9b%ae%e5%bd%95/

发表评论

登录后才能评论

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息