OpenCV
- OpenCV was started at Intel in 1999 by Gary Bradsky, and the first release came out in 2000. Vadim Pisarevsky joined Gary Bradsky to manage Intel's Russian software OpenCV team. In 2005, OpenCV was used on Stanley, the vehicle that won the 2005 DARPA Grand Challenge. Later, its active development continued under the support of Willow Garage with Gary Bradsky and Vadim Pisarevsky leading the project. OpenCV now supports a multitude of algorithms related to Computer Vision and Machine Learning and is expanding day by day.
OpenCV于1999年由Gary Bradsky在Intel创立,第一个版本于2000年发布。瓦迪姆•皮萨列夫斯基(Vadim Pisarevsky)加入加里•布拉德斯基(Gary Bradsky),管理英特尔(Intel)在俄罗斯的OpenCV软件团队。2005年,OpenCV被用于斯坦利,赢得了2005年DARPA大挑战赛。后来,在Willow Garage的支持下,该项目继续积极发展,Gary Bradsky和Vadim Pisarevsky领导了该项目。OpenCV现在支持许多与计算机视觉和机器学习相关的算法,并且正在日益扩展。
- OpenCV supports a wide variety of programming languages such as C++, Python, Java, etc., and is available on different platforms including Windows, Linux, OS X, Android, and iOS. Interfaces for high-speed GPU operations based on CUDA and OpenCL are also under active development.
OpenCV支持c++、Python、Java等多种编程语言,可以在Windows、Linux、OS X、Android、iOS等不同平台上使用。基于CUDA和OpenCL的高速GPU操作接口也在积极开发中。
- OpenCV-Python is the Python API for OpenCV, combining the best qualities of the OpenCV C++ API and the Python language.
OpenCV-Python是OpenCV的Python API,结合了OpenCV c++ API和Python语言的最佳特性。
OpenCV-Python
- OpenCV-Python is a library of Python bindings designed to solve computer vision problems.
OpenCV-Python是一个Python绑定库,用于解决计算机视觉问题。
- Python is a general purpose programming language started by Guido van Rossum that became very popular very quickly, mainly because of its simplicity and code readability. It enables the programmer to express ideas in fewer lines of code without reducing readability.
Python是Guido van Rossum创建的一种通用编程语言,由于其简单性和代码可读性,它很快就变得非常流行。它使程序员能够用更少的代码行表达思想,而不会降低可读性。
- Compared to languages like C/C++, Python is slower. That said, Python can be easily extended with C/C++, which allows us to write computationally intensive code in C/C++ and create Python wrappers that can be used as Python modules. This gives us two advantages: first, the code is as fast as the original C/C++ code (since it is the actual C++ code working in background) and second, it easier to code in Python than C/C++. OpenCV-Python is a Python wrapper for the original OpenCV C++ implementation.
与C/ c++之类的语言相比,Python要慢一些。也就是说,Python可以很容易地用C/ c++进行扩展,这允许我们用C/ c++编写计算密集型代码,并创建可以用作Python模块的Python包装器。这给了我们两个优点:第一,代码与C/ c++代码一样快(因为它是在后台工作的实际c++代码);第二,用Python编写代码比用C/ c++编写代码更容易。OpenCV-Python是原始OpenCV c++实现的Python包装器。
- OpenCV-Python makes use of Numpy, which is a highly optimized library for numerical operations with a MATLAB-style syntax. All the OpenCV array structures are converted to and from Numpy arrays. This also makes it easier to integrate with other libraries that use Numpy such as SciPy and Matplotlib.
OpenCV-Python使用了Numpy,这是一个高度优化的库,用于具有matlabstyle语法的数字操作。所有的OpenCV数组结构都被转换为和转换为Numpy数组。这也使得与其他使用Numpy(如SciPy和Matplotlib)的库集成更加容易。
OpenCV-Python Tutorials(教程)
- OpenCV introduces a new set of tutorials which will guide you through various functions available in OpenCV-Python. This guide is mainly focused on OpenCV 3.x version (although most of the tutorials will also work with OpenCV 2.x).
OpenCV介绍了一组新的教程,它将指导您了解OpenCV- python中可用的各种函数。本指南主要关注OpenCV 3。x版本(尽管大多数教程也可以使用OpenCV 2.x)。
- Prior knowledge of Python and Numpy is recommended as they won't be covered in this guide. Proficiency with Numpy is a must in order to write optimized code using OpenCV-Python.
建议您预先了解Python和Numpy,因为本指南不介绍它们。要使用OpenCV-Python编写优化的代码,必须熟练使用Numpy。
- This tutorial was originally started by Abid Rahman K. as part of the Google Summer of Code 2013 program under the guidance of Alexander Mordvintsev.
本教程最初是Abid Rahman K.在Alexander Mordvintsev的指导下,作为谷歌Summer of Code 2013程序的一部分创建的。
OpenCV Needs You !!!
- Since OpenCV is an open source initiative, all are welcome to make contributions to the library, documentation, and tutorials. If you find any mistake in this tutorial (from a small spelling mistake to an egregious error in code or concept), feel free to correct it by cloning OpenCV in GitHub and submitting a pull request. OpenCV developers will check your pull request, give you important feedback and (once it passes the approval of the reviewer) it will be merged into OpenCV. You will then become an open source contributor :-)
由于OpenCV是一个开源项目,所以欢迎所有人都为这个库、文档和教程做出贡献。如果您在本教程中发现任何错误(从一个很小的拼写错误到代码或概念中的一个严重错误),请通过在GitHub中克隆OpenCV并提交pull请求来纠正它。OpenCV开发人员会检查您的pull请求,给您重要的反馈(一旦它通过了审稿人的批准),它将被合并到OpenCV中。然后您将成为一个开源贡献者:-)
- As new modules are added to OpenCV-Python, this tutorial will have to be expanded. If you are familiar with a particular algorithm and can write up a tutorial including basic theory of the algorithm and code showing example usage, please do so.
随着OpenCV-Python中添加了新的模块,本教程将不得不进行扩展。如果您熟悉某个特定的算法,并且能够编写包含该算法的基本理论和示例用法的代码的教程,请这样做。
- Remember, we together can make this project a great success !!!
记住,我们一起可以使这个项目取得巨大的成功!!!
Contributors(贡献者)
- Below is the list of contributors who submitted tutorials to OpenCV-Python.
下面是向OpenCV-Python提交教程的贡献者列表。
- Alexander Mordvintsev (GSoC-2013 mentor)(导师)
- Abid Rahman K. (GSoC-2013 intern)(实习生)