Commit Graph

125 Commits

Author SHA1 Message Date
Hamdi Sahloul
d4ac4fcde1 Python binding: METH_STATIC instead of METH_CLASS for static functions 2018-08-30 22:50:33 +09:00
Hamdi Sahloul
b5eb65e53e Improve Python binding generator with mappable types and phantom headers 2018-08-25 01:58:42 +09:00
Hamdi Sahloul
900df21b7d Support enum-type detection for binding generator 2018-08-25 01:58:42 +09:00
Hamdi Sahloul
293facbae7 Support Python binding for CUDA functionalities 2018-08-07 15:48:12 +09:00
Alexander Alekhin
1207300e01 python: avoid direct cast PyCFunctionWithKeywords->PyCFunction 2018-05-30 17:24:43 +03:00
Alexander Alekhin
768f4cb7bc python: 'sub-module' for binding sources and documentation meta information 2017-12-09 21:01:46 +00:00
Alexander Alekhin
cbf2b51e40 bindings(py): fix handling of 'isalgorithm' 2017-11-24 09:54:44 +03:00
Cartucho
7267e94be7 Merge pull request #9736 from Cartucho/const_and_class_to_json
* Adding constants to json file

* adding sub-module to constants name

* adding namespace to functions

* adding namespace to classes

* remove namespace from methods

* static methods

* python signatures generation

* python: more fixes for signatures generation

Python names existence can be checked via command:

    python -c "import cv2 as cv; print(repr(<py_name>))"
2017-11-04 06:38:18 +03:00
Alexander Alekhin
200c8a0d3a python: generate pyopencv_signatures.json file 2017-09-06 08:23:04 +03:00
Lewis B
1caca2112b Merge pull request #8934 from lewisjb:python-classes
* Refactor Python Classes
2017-09-05 05:38:17 +00:00
Alexander Alekhin
b32d914aab static analyze: python dynamic_cast checks 2017-07-06 17:11:51 +03:00
Alexander Alekhin
6ea6e4bceb binding: fix headers processing 2017-06-30 14:53:21 +03:00
lewisjb
078b4cc971 Added Python Docstrings 2017-06-14 16:46:08 +10:00
Vadim Pisarevsky
a799cc13d9 Merge pull request #6078 from PolarNick239:master 2016-10-05 17:27:23 +00:00
Vitaliy Lyudvichenko
ab8de8f506 Adding of user-defined type conversions for python bindings inside module directories
Adding of destructor and placement new constructors for classes wrapped with CV_EXPORTS_W_SIMPLE macro
2016-08-16 13:10:17 +03:00
Alexander Alekhin
c0fe374490 cmake: python, allow dynamic symbols lookup from libpython.so 2016-07-07 14:23:35 +03:00
berak
11e563fd5d python: support for size_t args (default value) 2016-05-03 09:50:08 +02:00
Nikolay Polyarniy
46e08d34dd T-API python support implemented:
- cv2.UMat implemented - python thin wrapper for UMat
 - no implicit copy from GPU to Host done, resulting UMat can be passed to next function without overhead
 - cv2.UMat.get() - to fetch data to Host
 - new tests covers: ORB, BFMatcher, goodFeaturesToTrack, calcOpticalFlowPyrLK
2016-02-09 12:33:07 +03:00
Maksim Shabunin
78ddc567f9 Python generator: moved base class handling to the generate step 2015-06-05 12:41:23 +03:00
Maksim Shabunin
c137ba53a0 Wrap ANN_MLP class into Python 2015-05-06 15:21:23 +03:00
Maksim Shabunin
82adf7955f Fix python submodules inheritance detection 2015-03-26 11:22:56 +03:00
Mike Izbicki
ac47c0c624 fix to work with python 2.6
I had to make this modification locally to get opencv to build with python 2.6.  Python 2.6 requires indices in the format string (the `0` I added).  This requirement was relaxed in 2.7, so what used to be there would be working for people who could upgrade. I don't think the change has any negative consequences for future python versions, but I'm no expert.
2015-01-02 14:41:44 -08:00
Alexander Mordvintsev
2a9e252f77 fix namespace conflicts (like cv::inpaint and cv::xphoto::inpaint)
whitespace fix
2014-08-21 17:33:21 +04:00
Alexander Mordvintsev
74c77d826f base class name resolution
fixed find_obj.py
2014-08-21 14:51:03 +04:00
Alexander Mordvintsev
c4c731c0aa fixing warnings
keep old const names for compatibility
2014-08-19 16:57:37 +04:00
Alexander Mordvintsev
c22dcb04af fixing warnings 2014-08-19 16:40:09 +04:00
Alexander Mordvintsev
e74cddfbd1 put consts into python submodules
maintain set of visited namespaces in CppHeaderParser
WARNING: REMOVED const name conversion (SomeConstName -> SOME_CONST_NAME), discussion needed
2014-08-19 16:40:09 +04:00
Alexander Mordvintsev
6d1c02ffed unified namespace population with 'init_submodule' 2014-08-19 16:40:08 +04:00
Alexander Mordvintsev
4a519a25f3 nested classes support 2014-08-19 16:40:08 +04:00
Alexander Mordvintsev
5ad7f9910f function namespaces partially work 2014-08-19 16:40:07 +04:00
Alexander Mordvintsev
e85e83f491 handling namespaces on parsing functions
submodule method tables generation
2014-08-19 16:40:06 +04:00
Vadim Pisarevsky
e368f17caf fixed python bindings generation 2014-07-30 16:11:08 +04:00
Alexander Mordvintsev
9ab3b89c53 pass header list to gen2.py by a text file (avoid command line length limit on windows) 2014-07-27 17:17:36 +04:00
Alexander Mordvintsev
42ecfc5538 fixed parsing enums with tailing comma
gen2.py reports headers it processes
cmake file restructured
2014-07-27 17:17:35 +04:00
Alexander Mordvintsev
1d1bfd3d7d automatic search for headers for python wrapper generation 2014-07-27 17:17:35 +04:00
Alexander Mordvintsev
2756ae2051 exposed OpenCL-control functions to python 2014-05-14 17:42:21 +04:00
Alexander Mordvintsev
dd67ea0210 find -> rindex 2014-05-13 17:55:57 +04:00
Alexander Mordvintsev
120b3a1e77 Work on python wrapped generation automation:
- all parsed headers are included into "cv2.cpp" with "pyopencv_generated_include.h"
 - types starting with "Ptr_" converted to "Ptr<...>" form (avoids many typedefs in "cv2.cpp")
2014-05-12 15:49:54 +04:00
Roman Donchenko
dadee3752c Adapt Python bindings to the new Ptr. 2013-09-05 19:03:00 +04:00
Gabe Schwartz
bb209193c9 Updated usage of METH_X definitions for python 3.
Python 3 requires METH_VARARGS | METH_KEYWORDS, not just METH_KEYWORDS.
2013-06-13 20:10:01 -04:00
Gabe Schwartz
931ebab822 Updated generator and parser to support Python 3. 2013-06-13 18:39:47 -04:00
Andrey Kamaev
298ccf6487 Turn pyopencv_to and pyopencv_from into templates
This protects from unwanted implicit conversions between types at compile time.
2013-04-13 01:02:57 +04:00
Andrey Kamaev
f886651cf0 Drop old python samples and tests 2013-04-12 19:37:40 +04:00
Andrey Kamaev
3b364330ad Merge branch '2.4' 2013-04-12 15:35:38 +04:00
Roman Donchenko
57d4c86b2b Fixed the shebang lines on the Python scripts.
Also, removed the one from modules/python/src2/cv.py and cleared its
executable bit, since it's not a script.
2013-04-11 18:37:23 +04:00
Andrey Kamaev
b0e6606b98 Cleanup core module API
* Drop some low level API
* Remove outdated overloads
* Utilize Input/OutputArray
2013-04-09 13:36:32 +04:00
Andrey Kamaev
0738ea7d0f Make highgui.hpp independent from C API 2013-04-08 15:47:29 +04:00
Vadim Pisarevsky
4e1619d8ee repaired std::string handling 2013-03-21 11:30:38 +04:00
Andrey Kamaev
e75df56317 Unified handling of InputOutputArrays in Python wrapper generator
This makes arguments of type InputOutputArray required in python unless they
have a default value in C++.

As result following python functions changes signatures in non-trivial way:

* calcOpticalFlowFarneback
* calcOpticalFlowPyrLK
* calibrateCamera
* findContours
* findTransformECC
* floodFill
* kmeans
* PCACompute
* stereoCalibrate

And the following functions become return their modified inputs as a return
value:

* accumulate
* accumulateProduct
* accumulateSquare
* accumulateWeighted
* circle
* completeSymm
* cornerSubPix
* drawChessboardCorners
* drawContours
* drawDataMatrixCodes
* ellipse
* fillConvexPoly
* fillPoly
* filterSpeckles
* grabCut
* insertChannel
* line
* patchNaNs
* polylines
* randn
* randShuffle
* randu
* rectangle
* setIdentity
* updateMotionHistory
* validateDisparity
* watershed
2013-03-15 17:44:49 +04:00
Andrey Kamaev
2a6fb2867e Remove all using directives for STL namespace and members
Made all STL usages explicit to be able automatically find all usages of
particular class or function.
2013-02-25 15:04:17 +04:00
Vadim Pisarevsky
f14b7af5ac changed diagnostic from "warning" to "note" in the python wrapper generator, to suppress some noise in opencv utilities 2013-01-21 15:00:32 +04:00
marina.kolpakova
285d6320be add #/usr/bin/env python to all python files 2012-11-23 22:57:22 +04:00
OpenCV Buildbot
04384a71e4 Normalize line endings and whitespace 2012-10-17 15:32:23 +04:00
Vadim Pisarevsky
52ede9c84d fixed just introduced bug in Python wrapper generator 2012-09-11 20:04:18 +04:00
Vadim Pisarevsky
84087a8566 fixed crash in Python's SURF wrapper (bug #2325) 2012-09-11 16:47:25 +04:00
Alexander Mordvintesv
0adf68ae62 work on #2100: pyopencv_to functions now can receive argument information through ArgInfo structure. Non-contiguous input numpy arrays are copied. In case of non-contiguous output array the TypeError is thrown. 2012-08-07 21:03:17 +03:00
Andrey Kamaev
dde8455db2 removed debug print 2012-05-31 11:06:06 +00:00
Andrey Kamaev
0809ae562e Fixed regression in python wrappers generator 2012-05-31 11:04:11 +00:00
Alexander Mordvintsev
f6fec7ad2f fixed python GIL reacquire in case of exception 2012-03-10 05:56:40 +00:00
Alexander Mordvintsev
0e27c772aa using RAII to manage GIL -- still fails to handle exceptions correctly 2012-03-07 12:46:21 +00:00
Alexander Mordvintsev
58174f6ada Added GIL-release code into python wrappers
Added gabor_threads.py sample
2012-03-07 11:09:27 +00:00
Vadim Pisarevsky
d1b5f43700 adjust the header parser to support "public virtual" construction and make a tweak for multiple inheritance, fix potential memory problem with Python's IplImage.tostring() method (ticket #1486) 2012-01-25 13:25:35 +00:00
Alexander Mordvintsev
d50cc51070 handling Ptr<> arguments and return values in Python wrappers
partially wrapped features2d framework
added feature_homography.py sample
2011-09-07 09:38:22 +00:00
Vadim Pisarevsky
a5df21bf24 removed problem with duplicated CV_OUT InputOutputArray parameters (ticket #1348) 2011-08-31 12:36:19 +00:00
Vadim Pisarevsky
a51a8ad577 fixed tickets #1301, #1303, #1305 2011-08-14 19:46:39 +00:00
Vadim Pisarevsky
c9ed7fee34 fixed C++ implementation of Delaunay triangulation and moved it from sample to imgproc. 2011-08-10 10:28:01 +00:00
Vadim Pisarevsky
f2e1a64c1b fixed "import cv" in the new python samples. corrected Python bindings to match the documentation and vice versa (NOTE: in cv2.stereoCalibrate the parameter ordering has been changed) 2011-07-16 09:35:56 +00:00
Vadim Pisarevsky
2dea07f9f8 repaired Python bindings for functions using InputOutputArray 2011-07-14 14:13:10 +00:00
Vadim Pisarevsky
562914e33b upgraded to FLANN 1.6. Added miniflann interface, which is now used in the rest of OpenCV. Added Python bindings for FLANN. 2011-07-13 23:04:39 +00:00
Vadim Pisarevsky
b204e73d9a propagated some more fixes from 2.3 branch to the trunk 2011-06-29 22:06:42 +00:00
Vadim Pisarevsky
22970b8270 fixed multiple GCC warnings on Ubuntu 11.04 2011-06-14 12:03:34 +00:00
Vadim Pisarevsky
2741dd0ea6 make type registration ordering in cv2.so consistent with the declaration order (fixes the class hierarchy; see ticket #1113) 2011-06-10 13:22:40 +00:00
Andrey Pavlenko
0f5f60f7f5 - extra spaces are removed
- static class member modifier processing is fixed (moved from 'rettype' to 'func_modlist')
2011-05-17 12:52:07 +00:00
Alexander Mordvintsev
30f9710d55 fixed #808 and #848 2011-05-16 10:52:20 +00:00
Vadim Pisarevsky
7f7965bc93 separated opencv 1.x and opencv 2.x wrappers. moved tests/python/* to modules/python/test 2011-05-03 16:00:31 +00:00