Skip to main content

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.

To the best of our knowledge, PyOpenCV is the largest wrapper among existing Python wrappers for OpenCV. It exposes to Python 200+ classes and 500+ free functions of OpenCV 2.x, including those instantiated from templates.

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).

Release files for pyopencv 2.1.0.wr1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyopencv 2.1.0.wr1.2.0
File Size Uploaded
pyopencv-2.1.0.wr1.2.0.tar.gz 363.4 kB Details

Release files / pyopencv-2.1.0.wr1.2.0.tar.gz

Download URL pyopencv-2.1.0.wr1.2.0.tar.gz
Size 363.4 kB
Tags Source
SHA-256 checksum
How to use checksums
35411a350fff960c361d0e99eb65455c4ba740b0bf1fa11ea13f0f7bdaf9683e
BLAKE2b-256 checksum
How to use checksums
9c3e03d7ce3c3bea1654bf45db1eb70d5739ad87f70acc821bcf6f217dd2fa92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page