src
Directory actions
More options
Directory actions
More options
src
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
parent directory.. | ||||
=======================================================================
PyOpenCV - A Python wrapper for OpenCV 2.x using Boost.Python and NumPy
=======================================================================
PyOpenCV brings Willow Garage's Open Source Computer Vision Library
(OpenCV) verion 2.x to Python. The package takes a completely new and
different approach in wrapping OpenCV from traditional swig-based and
ctypes-based approaches. It is intended to be a successor of
ctypes-opencv and to provide Python bindings for OpenCV 2.x.
Ctypes-based approaches like ctypes-opencv, while being very flexible at
wrapping functions and structures, are weak at wrapping OpenCV's C++
interface. On the other hand, swig-based approaches flatten C++ classes
and create countless memory management issues. In PyOpenCV, we use
Boost.Python, a C++ library which enables seamless interoperability
between C++ and Python. PyOpenCV will offer a better solution than both
ctypes-based and swig-based wrappers. Its main features include:
* A Python interface similar to the new C++ interface of OpenCV 2.x,
including features that are available in the existing C interface
but not yet in the C++ interface.
* Access to C++ data structures in Python.
* Elimination of memory management issues. The user never has to
worry about memory management.
* Ability to convert between OpenCV's Mat and arrays used in
wxWidgets, PyGTK, and PIL.
* OpenCV extensions: classes DifferentialImage, IntegralImage, and
IntegralHistogram.
In addition, we use NumPy to provide fast indexing and slicing
functionality to OpenCV's dense data types like Vec-like, Point-like,
Rect-like, Size-like, Scalar, Mat, and MatND, and to offer the user an
option to work with their multi-dimensional arrays in NumPy. It is
well-known that NumPy is one of the best packages (if not the best) for
dealing with multi-dimensional arrays in Python. OpenCV 2.x provides a
new C++ generic programming approach for matrix manipulation (i.e.
MatExpr). It is a good attempt in C++. However, in Python, a package
like NumPy is without a doubt a better solution. By incorporating NumPy
into PyOpenCV to replace OpenCV 2.x's MatExpr approach, we seek to bring
OpenCV and NumPy closer together, and offer a package that inherits the
best of both world: fast computer vision functionality (OpenCV) and fast
multi-dimensional array computation (NumPy).
:Author: Minh-Tri Pham <[email protected]>
:Version: 2.1.0.wr1.2.0 (beta)
:Released: Sep 2010
:License: New BSD License
Availability
============
To get the latest version, see:
http://code.google.com/p/pyopencv/
Requirements
============
The following packages must be installed on your platforms:
- OpenCV 2.x
- Python 2.5 or above
- NumPy 1.2.0 or above
- Boost.Python from Boost 1.41.0 or above
Installation
============
Follow the instructions at the Wiki section of the project website at Google Code.
Support
-------
- Platforms: Win32, Linux, and Mac OS
- OpenCV version 2.x
How to use
==========
Download the demo package that is available from the project website. The package contains many Python demos slightly modified from the Python and C++ demos of OpenCV. Also, check out reference pages at the Wiki section.