PyOpenCV - A Python wrapper for OpenCV 2.0 using Boost.Python and NumPy
Project description
PyOpenCV brings Willow Garage's Open Source Computer Vision Library (OpenCV)
verion 2.0 to Python. The package takes a completely new and different
approach in wrapping [http://opencv.willowgarage.com OpenCV] from traditional
swig-based and ctypes-based approaches. It is intended to be a successor of
[http://code.google.com/p/ctypes-opencv/ ctypes-opencv] and to provide Python
bindings for OpenCV 2.0. 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:
* Provide a Python interface similar to the new C++ interface of
OpenCV 2.0, including features that are available in the existing C
interface but not in the C++ interface,
* Preserve C++ data structures and avoid memory management issues,
* Run at a speed nearer to OpenCV's native speed than existing wrappers.
In addition, we use [http://numpy.scipy.org NumPy] to provide fast indexing
and slicing functionality to OpenCV's dense data types like Vec-like,
Point-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.0 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.0'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).
verion 2.0 to Python. The package takes a completely new and different
approach in wrapping [http://opencv.willowgarage.com OpenCV] from traditional
swig-based and ctypes-based approaches. It is intended to be a successor of
[http://code.google.com/p/ctypes-opencv/ ctypes-opencv] and to provide Python
bindings for OpenCV 2.0. 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:
* Provide a Python interface similar to the new C++ interface of
OpenCV 2.0, including features that are available in the existing C
interface but not in the C++ interface,
* Preserve C++ data structures and avoid memory management issues,
* Run at a speed nearer to OpenCV's native speed than existing wrappers.
In addition, we use [http://numpy.scipy.org NumPy] to provide fast indexing
and slicing functionality to OpenCV's dense data types like Vec-like,
Point-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.0 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.0'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).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyopencv-2.0.wr1.1.0.tar.gz
(252.0 kB
view hashes)
Built Distribution
Close
Hashes for pyopencv-2.0.wr1.1.0.win32-py2.6.exe
Algorithm | Hash digest | |
---|---|---|
SHA256 | 905304d108ee32dd96880a3ea18d50290c03da5b1de1c6843233ce08817551d7 |
|
MD5 | ff94cd683f6c88bd34c2264590ba7e97 |
|
BLAKE2b-256 | 49f60e19de4f256c5f644911b98f427c43bcf60f819d49247a6904ca3179e2b4 |