~paparazzi-uav/paparazzi/v5.0-manual

« back to all changes in this revision

Viewing changes to sw/ext/opencv_bebop/opencv/doc/py_tutorials/py_setup/py_intro/py_intro.markdown

  • Committer: Paparazzi buildbot
  • Date: 2016-05-18 15:00:29 UTC
  • Revision ID: felix.ruess+docbot@gmail.com-20160518150029-e8lgzi5kvb4p7un9
Manual import commit 4b8bbb730080dac23cf816b98908dacfabe2a8ec from v5.0 branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Introduction to OpenCV-Python Tutorials {#tutorial_py_intro}
 
2
=======================================
 
3
 
 
4
OpenCV
 
5
------
 
6
 
 
7
OpenCV was started at Intel in 1999 by **Gary Bradsky**, and the first release came out in 2000.
 
8
**Vadim Pisarevsky** joined Gary Bradsky to manage Intel's Russian software OpenCV team. In 2005,
 
9
OpenCV was used on Stanley, the vehicle that won the 2005 DARPA Grand Challenge. Later, its active
 
10
development continued under the support of Willow Garage with Gary Bradsky and Vadim Pisarevsky
 
11
leading the project. OpenCV now supports a multitude of algorithms related to Computer Vision and
 
12
Machine Learning and is expanding day by day.
 
13
 
 
14
OpenCV supports a wide variety of programming languages such as C++, Python, Java, etc., and is
 
15
available on different platforms including Windows, Linux, OS X, Android, and iOS. Interfaces for
 
16
high-speed GPU operations based on CUDA and OpenCL are also under active development.
 
17
 
 
18
OpenCV-Python is the Python API for OpenCV, combining the best qualities of the OpenCV C++ API and
 
19
the Python language.
 
20
 
 
21
OpenCV-Python
 
22
-------------
 
23
 
 
24
OpenCV-Python is a library of Python bindings designed to solve computer vision problems.
 
25
 
 
26
Python is a general purpose programming language started by **Guido van Rossum** that became very
 
27
popular very quickly, mainly because of its simplicity and code readability. It enables the
 
28
programmer to express ideas in fewer lines of code without reducing readability.
 
29
 
 
30
Compared to languages like C/C++, Python is slower. That said, Python can be easily extended with
 
31
C/C++, which allows us to write computationally intensive code in C/C++ and create Python wrappers
 
32
that can be used as Python modules. This gives us two advantages: first, the code is as fast as the
 
33
original C/C++ code (since it is the actual C++ code working in background) and second, it easier to
 
34
code in Python than C/C++. OpenCV-Python is a Python wrapper for the original OpenCV C++
 
35
implementation.
 
36
 
 
37
OpenCV-Python makes use of **Numpy**, which is a highly optimized library for numerical operations
 
38
with a MATLAB-style syntax. All the OpenCV array structures are converted to and from Numpy arrays.
 
39
This also makes it easier to integrate with other libraries that use Numpy such as SciPy and
 
40
Matplotlib.
 
41
 
 
42
OpenCV-Python Tutorials
 
43
-----------------------
 
44
 
 
45
OpenCV introduces a new set of tutorials which will guide you through various functions available in
 
46
OpenCV-Python. **This guide is mainly focused on OpenCV 3.x version** (although most of the
 
47
tutorials will also work with OpenCV 2.x).
 
48
 
 
49
Prior knowledge of Python and Numpy is recommended as they won't be covered in this guide.
 
50
**Proficiency with Numpy is a must in order to write optimized code using OpenCV-Python.**
 
51
 
 
52
This tutorial was originally started by *Abid Rahman K.* as part of the Google Summer of Code 2013
 
53
program under the guidance of *Alexander Mordvintsev*.
 
54
 
 
55
OpenCV Needs You !!!
 
56
--------------------
 
57
 
 
58
Since OpenCV is an open source initiative, all are welcome to make contributions to the library,
 
59
documentation, and tutorials. If you find any mistake in this tutorial (from a small spelling
 
60
mistake to an egregious error in code or concept), feel free to correct it by cloning OpenCV in
 
61
[GitHub](https://github.com/Itseez/opencv) and submitting a pull request. OpenCV developers will
 
62
check your pull request, give you important feedback and (once it passes the approval of the
 
63
reviewer) it will be merged into OpenCV. You will then become an open source contributor :-)
 
64
 
 
65
As new modules are added to OpenCV-Python, this tutorial will have to be expanded. If you are
 
66
familiar with a particular algorithm and can write up a tutorial including basic theory of the
 
67
algorithm and code showing example usage, please do so.
 
68
 
 
69
Remember, we **together** can make this project a great success !!!
 
70
 
 
71
Contributors
 
72
------------
 
73
 
 
74
Below is the list of contributors who submitted tutorials to OpenCV-Python.
 
75
 
 
76
-#  Alexander Mordvintsev (GSoC-2013 mentor)
 
77
2.  Abid Rahman K. (GSoC-2013 intern)
 
78
 
 
79
Additional Resources
 
80
--------------------
 
81
 
 
82
-#  A Quick guide to Python - [A Byte of Python](http://swaroopch.com/notes/python/)
 
83
2.  [Basic Numpy Tutorials](http://wiki.scipy.org/Tentative_NumPy_Tutorial)
 
84
3.  [Numpy Examples List](http://wiki.scipy.org/Numpy_Example_List)
 
85
4.  [OpenCV Documentation](http://docs.opencv.org/)
 
86
5.  [OpenCV Forum](http://answers.opencv.org/questions/)