OpenCV
OpenCV由加里·布拉德斯基(Gary Bradsky)于1999年在英特尔创立,第一版于2000年发布。瓦迪姆 ·皮萨列夫斯基(Vadim Pisarevsky)与加里·布拉德斯基(Gary Bradsky)一起管理英特尔的俄罗斯软件OpenCV团队。2005年,OpenCV用于获得了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
Python是由Guido van Rossum发起的一种通用编程语言,由于其简单性和代码可读性,它在短时间内变得非常流行。它使程序员可以用更少的代码行表达他的想法,而不会降低任何可读性。
与其他语言(例如C / C ++)相比,Python速度较慢。但是Python的另一个重要功能是可以使用C / C ++轻松扩展它。此功能有助于我们用C / C ++编写计算密集型代码并为其创建Python包装程序,以便我们可以将这些包装程序用作Python模块。这给我们带来了两个好处:首先,我们的代码与原始C / C ++代码一样快(因为它是在后台运行的实际C ++代码),其次,使用Python编写代码非常容易。这就是OpenCV-Python的工作方式,它是原始C ++实现的Python包装器。
Numpy的支持使任务更加轻松。Numpy是一个高度优化的用于数字运算的库。它提供了一种MATLAB风格的语法。所有OpenCV数组结构都与Numpy数组相互转换。因此,无论您在Numpy中进行任何操作,都可以将其与OpenCV结合使用,这会增加武器库中的武器数量。除此之外,其他支持Numpy的库(例如SciPy,Matplotlib)也可以与此一起使用。
因此,OpenCV-Python是用于计算机视觉问题快速原型制作的合适工具。
OpenCV-Python教程
OpenCV引入了一组新的教程,它们将指导您完成OpenCV-Python中可用的各种功能。本指南主要针对OpenCV 3.x版本(尽管大多数教程也适用于OpenCV 2.x)。
在开始之前,需要先有Python和Numpy的先验知识,因为本指南不会介绍它们。尤其是,必须具备有关Numpy的丰富知识,才能在OpenCV-Python中编写优化的代码。
本教程由Abid Rahman K.在Alexander Mordvintsev的指导下作为Google Summer of Code 2013计划的一部分开始。
OpenCV需要您!
由于OpenCV是一个开源计划,因此欢迎所有人为该库做出贡献。本教程也是如此。
因此,如果您在本教程中发现任何错误(无论是拼写错误还是代码或概念错误,无论如何),请随时进行纠正。
对于那些开始为开源项目做出贡献的新生来说,这将是一个好任务。只需在github中分叉OpenCV,进行必要的更正,然后向OpenCV发送拉取请求。OpenCV开发人员将检查您的请求请求,向您提供重要反馈,并且一旦通过审阅者的批准,它将被合并到OpenCV中。然后,您将成为开源贡献者。其他教程,文档等也是如此。
随着新模块添加到OpenCV-Python中,本教程将不得不扩展。因此,那些了解特定算法的人可以编写一个教程,其中包括算法的基本理论和显示算法基本用法的代码,并将其提交给OpenCV。
记住,我们可以共同使这个项目取得巨大成功!
贡献者
以下是向OpenCV-Python提交了教程的贡献者列表。
- 亚历山大·莫德温采夫(GSoC-2013导师)
- Abid Rahman K.(GSoC-2013实习生)
其他资源
- Python快速指南- 一小部分Python
- 基本的Numpy教程
- numpy示例列表
- OpenCV文档
- OpenCV论坛
来源: Introduction to OpenCV-Python Tutorials — OpenCV-Python Tutorials 1 documentation
文章末尾固定信息
评论