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