1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-30 15:53:03 +04:00

calib3d module in opencv is split into 3 modules: 3d, calib and stereo.

stereo module in opencv_contrib is renamed to xstereo
This commit is contained in:
Vadim Pisarevsky
2020-12-01 23:42:15 +03:00
parent 9d2eabaaa2
commit d6c699c014
232 changed files with 7663 additions and 7606 deletions
+20 -6
View File
@@ -116,6 +116,15 @@ def mkdir_p(path):
else:
raise
def make_jname(m):
return "Cv"+m if (m[0] in "0123456789") else m
def make_jmodule(m):
return "cv"+m if (m[0] in "0123456789") else m
def make_namespace(ci):
return ('using namespace ' + ci.namespace.replace('.', '::') + ';') if ci.namespace and ci.namespace != 'cv' else ''
T_JAVA_START_INHERITED = read_contents(os.path.join(SCRIPT_DIR, 'templates/java_class_inherited.prolog'))
T_JAVA_START_ORPHAN = read_contents(os.path.join(SCRIPT_DIR, 'templates/java_class.prolog'))
T_JAVA_START_MODULE = read_contents(os.path.join(SCRIPT_DIR, 'templates/java_module.prolog'))
@@ -270,6 +279,7 @@ class ClassInfo(GeneralInfo):
self.name = '%s_%s' % (prefix, self.name)
self.jname = '%s_%s' % (prefix, self.jname)
self.jname = make_jname(self.jname)
self.base = ''
if decl[1]:
# FIXIT Use generator to find type properly instead of hacks below
@@ -354,6 +364,7 @@ class ClassInfo(GeneralInfo):
return Template(self.j_code.getvalue() + "\n\n" +
self.jn_code.getvalue() + "\n}\n").substitute(
module = m,
jmodule = make_jmodule(m),
name = self.name,
jname = self.jname,
imports = "\n".join(self.getAllImports(M)),
@@ -414,6 +425,7 @@ class FuncInfo(GeneralInfo):
else:
self.jname = '%s_%s' % (prefix, self.jname)
self.jname = make_jname(self.jname)
self.static = ["","static"][ "/S" in decl[2] ]
self.ctype = re.sub(r"^CvTermCriteria", "TermCriteria", decl[1] or "")
self.args = []
@@ -611,7 +623,8 @@ class JavaWrapperGenerator(object):
logging.info("\n\n===== Generating... =====")
moduleCppCode = StringIO()
package_path = os.path.join(output_java_path, module)
package_path = os.path.join(output_java_path, make_jmodule(module))
#print("package path: %s\n" % package_path)
mkdir_p(package_path)
for ci in sorted(self.classes.values(), key=lambda x: x.symbol_id):
if ci.name == "Mat":
@@ -619,7 +632,7 @@ class JavaWrapperGenerator(object):
ci.initCodeStreams(self.Module)
self.gen_class(ci)
classJavaCode = ci.generateJavaCode(self.module, self.Module)
self.save("%s/%s/%s.java" % (output_java_path, module, ci.jname), classJavaCode)
self.save("%s/%s.java" % (package_path, ci.jname), classJavaCode)
moduleCppCode.write(ci.generateCppCode())
ci.cleanupCodeStreams()
cpp_file = os.path.abspath(os.path.join(output_jni_path, module + ".inl.hpp"))
@@ -1040,13 +1053,13 @@ class JavaWrapperGenerator(object):
clazz = ci.jname
cpp_code.write ( Template(
"""
JNIEXPORT $rtype JNICALL Java_org_opencv_${module}_${clazz}_$fname ($argst);
JNIEXPORT $rtype JNICALL Java_org_opencv_${jmodule}_${clazz}_$fname ($argst);
JNIEXPORT $rtype JNICALL Java_org_opencv_${module}_${clazz}_$fname
JNIEXPORT $rtype JNICALL Java_org_opencv_${jmodule}_${clazz}_$fname
($args)
{
${namespace}
static const char method_name[] = "$module::$fname()";
static const char method_name[] = "$jmodule::$fname()";
try {
LOGD("%s", method_name);$prologue
$retval$cvname($cvargs);$epilogue$ret
@@ -1061,6 +1074,7 @@ JNIEXPORT $rtype JNICALL Java_org_opencv_${module}_${clazz}_$fname
""" ).substitute(
rtype = rtype,
module = self.module.replace('_', '_1'),
jmodule = make_jmodule(self.module.replace('_', '_1')),
clazz = clazz.replace('_', '_1'),
fname = (fi.jname + '_' + str(suffix_counter)).replace('_', '_1'),
args = ", ".join(["%s %s" % (type_dict[a.ctype].get("jni_type"), a.name) for a in jni_args]),
@@ -1072,7 +1086,7 @@ JNIEXPORT $rtype JNICALL Java_org_opencv_${module}_${clazz}_$fname
cvargs = " " + ", ".join(cvargs) + " " if cvargs else "",
default = "\n " + default if default else "",
retval = retval,
namespace = ('using namespace ' + ci.namespace.replace('.', '::') + ';') if ci.namespace and ci.namespace != 'cv' else ''
namespace = make_namespace(ci)
) )
# adding method signature to dictionary