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
This commit is contained in:
@@ -354,6 +354,7 @@ class ArgInfo(object):
|
||||
elif m == "/IO":
|
||||
self.inputarg = True
|
||||
self.outputarg = True
|
||||
self.returnarg = True
|
||||
elif m.startswith("/A"):
|
||||
self.isarray = True
|
||||
self.arraylen = m[2:].strip()
|
||||
@@ -427,7 +428,7 @@ class FuncVariant(object):
|
||||
continue
|
||||
if a.returnarg:
|
||||
outlist.append((a.name, argno))
|
||||
if (not a.inputarg or a.returnarg) and a.isbig():
|
||||
if (not a.inputarg) and a.isbig():
|
||||
outarr_list.append((a.name, argno))
|
||||
continue
|
||||
if not a.inputarg:
|
||||
|
Reference in New Issue
Block a user