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 Distributions
pyopencv-2.0.wr1.0.1.tar.gz
(229.9 kB
view hashes)
Built Distribution
Close
Hashes for pyopencv-2.0.wr1.0.1-demo.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f97a143d23f7812e8c3c5e5424e98c040445deb7c25f93de96365867ad69c05 |
|
MD5 | cb51f5a855c82471644d25c6eb90c23c |
|
BLAKE2b-256 | 4a95f3d9b8194c983a2953276ce34f8b3d4e8512ccb492beb7e2d10225196b9b |
Close
Hashes for pyopencv-2.0.wr1.0.1.win32-py2.6.exe
Algorithm | Hash digest | |
---|---|---|
SHA256 | c705fb71da58e912c3de9ea6994b7ebc72f29fbcc81c92c3d02fd43317927671 |
|
MD5 | 472c7d830019de12ce1f71a978b02a03 |
|
BLAKE2b-256 | b327ba45f5aa3b790dcebcbba0510860c94c46e7716ecfb4662b5af5edfe8838 |