OpenCV python extended interop (Feature #2001)


Added by Nikolaos Kyriazis almost 13 years ago. Updated almost 13 years ago.


Status:Cancelled Start date:2012-05-30
Priority:Normal Due date:
Assignee:Vadim Pisarevsky % Done:

0%

Category:python bindings
Target version:2.4.1
Difficulty: Pull request:

Description

OpenCV has python bindings that, at the moment, can only be used through python alone. However, it is very common that Computer Vision applications are authored in a rapid-prototyping environment (e.g. python) while delegating heavy stuff to native C/C++. The way that OpenCV is exposed to python now does not allow its interoperation with other CV related C/C++ native code that is also exposed in python.

To put it more clearly, a python module that is contained in a native shared library and is aware of the C/C++ native OpenCV API cannot communicate data with the cv python module because it cannot be aware of the exposition API. A proposal would be to expose the python bindings API (opencv\modules\python\src2\cv2.cv.hpp) so that other C/C++ code that is exposed to python can take advantage of it.

A concrete example is the following. Boost python is a very powerful mechanism for extending/embedding python to C++. CV C/C++ code can be thus exposed to python. If OpenCV is to be a common place then this C++ code should be aware of the API in opencv\modules\python\src2\cv2.cv.hpp and take advangage of it by using converters (http://www.boost.org/doc/libs/1_39_0/libs/python/doc/v2/faq.html#custom_string). I'm sure there's an analogy with SWIG too.


Related issues

duplicates Feature #1471: header files for python module Open

History

Updated by Andrey Kamaev almost 13 years ago

Thanks for sharing your thoughts.
But this ticket is closed as exact duplicate. Please comment on #1471 if you have something to add.

  • Status changed from Open to Cancelled
  • Target version set to 2.4.1
  • Category set to python bindings
  • Assignee set to Vadim Pisarevsky

Also available in: Atom PDF