Merge pull request #958 from apavlenko:fix_java_mixchannels

This commit is contained in:
Roman Donchenko 2013-06-10 15:51:29 +04:00 committed by OpenCV Buildbot
commit e16af9bdc9

View File

@ -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)