mirror of
https://github.com/opencv/opencv.git
synced 2024-11-28 21:20:18 +08:00
Merge pull request #958 from apavlenko:fix_java_mixchannels
This commit is contained in:
commit
e16af9bdc9
@ -512,48 +512,68 @@ JNIEXPORT jdoubleArray JNICALL Java_org_opencv_core_Core_n_1getTextSize
|
||||
|
||||
}
|
||||
|
||||
# { class : { func : {arg_name : ctype} } }
|
||||
# { class : { func : { arg_name : {"ctype" : ctype, "attrib" : [attrib]} } } }
|
||||
func_arg_fix = {
|
||||
'' : {
|
||||
'randu' : { 'low' : 'double', 'high' : 'double', },
|
||||
'randn' : { 'mean' : 'double', 'stddev' : 'double', },
|
||||
'inRange' : { 'lowerb' : 'Scalar', 'upperb' : 'Scalar', },
|
||||
'goodFeaturesToTrack' : { 'corners' : 'vector_Point', },
|
||||
'findFundamentalMat' : { 'points1' : 'vector_Point2f', 'points2' : 'vector_Point2f', },
|
||||
'cornerSubPix' : { 'corners' : 'vector_Point2f', },
|
||||
'minEnclosingCircle' : { 'points' : 'vector_Point2f', },
|
||||
'findHomography' : { 'srcPoints' : 'vector_Point2f', 'dstPoints' : 'vector_Point2f', },
|
||||
'solvePnP' : { 'objectPoints' : 'vector_Point3f', 'imagePoints' : 'vector_Point2f',
|
||||
'distCoeffs' : 'vector_double' },
|
||||
'solvePnPRansac' : { 'objectPoints' : 'vector_Point3f', 'imagePoints' : 'vector_Point2f',
|
||||
'distCoeffs' : 'vector_double' },
|
||||
'calcOpticalFlowPyrLK' : { 'prevPts' : 'vector_Point2f', 'nextPts' : 'vector_Point2f',
|
||||
'status' : 'vector_uchar', 'err' : 'vector_float', },
|
||||
'fitEllipse' : { 'points' : 'vector_Point2f', },
|
||||
'fillPoly' : { 'pts' : 'vector_vector_Point', },
|
||||
'polylines' : { 'pts' : 'vector_vector_Point', },
|
||||
'fillConvexPoly' : { 'points' : 'vector_Point', },
|
||||
'boundingRect' : { 'points' : 'vector_Point', },
|
||||
'approxPolyDP' : { 'curve' : 'vector_Point2f', 'approxCurve' : 'vector_Point2f', },
|
||||
'arcLength' : { 'curve' : 'vector_Point2f', },
|
||||
'pointPolygonTest' : { 'contour' : 'vector_Point2f', },
|
||||
'minAreaRect' : { 'points' : 'vector_Point2f', },
|
||||
'getAffineTransform' : { 'src' : 'vector_Point2f', 'dst' : 'vector_Point2f', },
|
||||
'hconcat' : { 'src' : 'vector_Mat', },
|
||||
'vconcat' : { 'src' : 'vector_Mat', },
|
||||
'undistortPoints' : { 'src' : 'vector_Point2f', 'dst' : 'vector_Point2f' },
|
||||
'checkRange' : {'pos' : '*'},
|
||||
'meanStdDev' : {'mean' : 'vector_double', 'stddev' : 'vector_double'},
|
||||
'drawContours' : {'contours' : 'vector_vector_Point'},
|
||||
'findContours' : {'contours' : 'vector_vector_Point'},
|
||||
'convexityDefects' : {'contour' : 'vector_Point', 'convexhull' : 'vector_int', 'convexityDefects' : 'vector_Vec4i'},
|
||||
'isContourConvex' : { 'contour' : 'vector_Point', },
|
||||
'convexHull' : {'points' : 'vector_Point', 'hull' : 'vector_int', 'returnPoints' : ''},
|
||||
'projectPoints' : { 'objectPoints' : 'vector_Point3f', 'imagePoints' : 'vector_Point2f',
|
||||
'distCoeffs' : 'vector_double' },
|
||||
'initCameraMatrix2D' : {'objectPoints' : 'vector_vector_Point3f', 'imagePoints' : 'vector_vector_Point2f', },
|
||||
'findChessboardCorners' : { 'corners' : 'vector_Point2f' },
|
||||
'drawChessboardCorners' : { 'corners' : 'vector_Point2f' },
|
||||
'randu' : { 'low' : {"ctype" : 'double'},
|
||||
'high' : {"ctype" : 'double'} },
|
||||
'randn' : { 'mean' : {"ctype" : 'double'},
|
||||
'stddev' : {"ctype" : 'double'} },
|
||||
'inRange' : { 'lowerb' : {"ctype" : 'Scalar'},
|
||||
'upperb' : {"ctype" : 'Scalar'} },
|
||||
'goodFeaturesToTrack' : { 'corners' : {"ctype" : 'vector_Point'} },
|
||||
'findFundamentalMat' : { 'points1' : {"ctype" : 'vector_Point2f'},
|
||||
'points2' : {"ctype" : 'vector_Point2f'} },
|
||||
'cornerSubPix' : { 'corners' : {"ctype" : 'vector_Point2f'} },
|
||||
'minEnclosingCircle' : { 'points' : {"ctype" : 'vector_Point2f'} },
|
||||
'findHomography' : { 'srcPoints' : {"ctype" : 'vector_Point2f'},
|
||||
'dstPoints' : {"ctype" : 'vector_Point2f'} },
|
||||
'solvePnP' : { 'objectPoints' : {"ctype" : 'vector_Point3f'},
|
||||
'imagePoints' : {"ctype" : 'vector_Point2f'},
|
||||
'distCoeffs' : {"ctype" : 'vector_double' } },
|
||||
'solvePnPRansac' : { 'objectPoints' : {"ctype" : 'vector_Point3f'},
|
||||
'imagePoints' : {"ctype" : 'vector_Point2f'},
|
||||
'distCoeffs' : {"ctype" : 'vector_double' } },
|
||||
'calcOpticalFlowPyrLK' : { 'prevPts' : {"ctype" : 'vector_Point2f'},
|
||||
'nextPts' : {"ctype" : 'vector_Point2f'},
|
||||
'status' : {"ctype" : 'vector_uchar'},
|
||||
'err' : {"ctype" : 'vector_float'} },
|
||||
'fitEllipse' : { 'points' : {"ctype" : 'vector_Point2f'} },
|
||||
'fillPoly' : { 'pts' : {"ctype" : 'vector_vector_Point'} },
|
||||
'polylines' : { 'pts' : {"ctype" : 'vector_vector_Point'} },
|
||||
'fillConvexPoly' : { 'points' : {"ctype" : 'vector_Point'} },
|
||||
'boundingRect' : { 'points' : {"ctype" : 'vector_Point'} },
|
||||
'approxPolyDP' : { 'curve' : {"ctype" : 'vector_Point2f'},
|
||||
'approxCurve' : {"ctype" : 'vector_Point2f'} },
|
||||
'arcLength' : { 'curve' : {"ctype" : 'vector_Point2f'} },
|
||||
'pointPolygonTest' : { 'contour' : {"ctype" : 'vector_Point2f'} },
|
||||
'minAreaRect' : { 'points' : {"ctype" : 'vector_Point2f'} },
|
||||
'getAffineTransform' : { 'src' : {"ctype" : 'vector_Point2f'},
|
||||
'dst' : {"ctype" : 'vector_Point2f'} },
|
||||
'hconcat' : { 'src' : {"ctype" : 'vector_Mat'} },
|
||||
'vconcat' : { 'src' : {"ctype" : 'vector_Mat'} },
|
||||
'undistortPoints' : { 'src' : {"ctype" : 'vector_Point2f'},
|
||||
'dst' : {"ctype" : 'vector_Point2f'} },
|
||||
'checkRange' : {'pos' : {"ctype" : '*'} },
|
||||
'meanStdDev' : { 'mean' : {"ctype" : 'vector_double'},
|
||||
'stddev' : {"ctype" : 'vector_double'} },
|
||||
'drawContours' : {'contours' : {"ctype" : 'vector_vector_Point'} },
|
||||
'findContours' : {'contours' : {"ctype" : 'vector_vector_Point'} },
|
||||
'convexityDefects' : { 'contour' : {"ctype" : 'vector_Point'},
|
||||
'convexhull' : {"ctype" : 'vector_int'},
|
||||
'convexityDefects' : {"ctype" : 'vector_Vec4i'} },
|
||||
'isContourConvex' : { 'contour' : {"ctype" : 'vector_Point'} },
|
||||
'convexHull' : { 'points' : {"ctype" : 'vector_Point'},
|
||||
'hull' : {"ctype" : 'vector_int'},
|
||||
'returnPoints' : {"ctype" : ''} },
|
||||
'projectPoints' : { 'objectPoints' : {"ctype" : 'vector_Point3f'},
|
||||
'imagePoints' : {"ctype" : 'vector_Point2f'},
|
||||
'distCoeffs' : {"ctype" : 'vector_double' } },
|
||||
'initCameraMatrix2D' : { 'objectPoints' : {"ctype" : 'vector_vector_Point3f'},
|
||||
'imagePoints' : {"ctype" : 'vector_vector_Point2f'} },
|
||||
'findChessboardCorners' : { 'corners' : {"ctype" : 'vector_Point2f'} },
|
||||
'drawChessboardCorners' : { 'corners' : {"ctype" : 'vector_Point2f'} },
|
||||
'mixChannels' : { 'dst' : {"attrib" : []} },
|
||||
}, # '', i.e. no class
|
||||
} # func_arg_fix
|
||||
|
||||
@ -641,10 +661,12 @@ class FuncInfo(object):
|
||||
self.static = ["","static"][ "/S" in decl[2] ]
|
||||
self.ctype = re.sub(r"^CvTermCriteria", "TermCriteria", decl[1] or "")
|
||||
self.args = []
|
||||
arg_fix_map = func_arg_fix.get(classname, {}).get(self.jname, {})
|
||||
func_fix_map = func_arg_fix.get(classname, {}).get(self.jname, {})
|
||||
for a in decl[3]:
|
||||
arg = a[:]
|
||||
arg[0] = arg_fix_map.get(arg[1], arg[0])
|
||||
arg_fix_map = func_fix_map.get(arg[1], {})
|
||||
arg[0] = arg_fix_map.get('ctype', arg[0]) #fixing arg type
|
||||
arg[3] = arg_fix_map.get('attrib', arg[3]) #fixing arg attrib
|
||||
ai = ArgInfo(arg)
|
||||
self.args.append(ai)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user