Commit 4a634696 authored by Andrey Pavlenko's avatar Andrey Pavlenko

Java API: updating OpenCV version, minor Core API improvements, enabling EM.

parent 2efa446e
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<projectDescription> <projectDescription>
<name>OpenCV-2.4.beta</name> <name>OpenCV-2.4.0</name>
<comment></comment> <comment></comment>
<projects> <projects>
</projects> </projects>
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.opencv" package="org.opencv"
android:versionCode="1" android:versionCode="240"
android:versionName="1.0"> android:versionName="2.4.0">
</manifest> </manifest>
...@@ -871,6 +871,15 @@ public class MatTest extends OpenCVTestCase { ...@@ -871,6 +871,15 @@ public class MatTest extends OpenCVTestCase {
assertMatEqual(gray127, gray0); assertMatEqual(gray127, gray0);
} }
public void testSetToScalarMask() {
Mat mask = gray0.clone();
mask.put(1, 1, 1, 2, 3);
gray0.setTo(new Scalar(1), mask);
assertEquals(3, Core.countNonZero(gray0));
Core.subtract(gray0, mask, gray0);
assertEquals(0, Core.countNonZero(gray0));
}
public void testSize() { public void testSize() {
assertEquals(new Size(matSize, matSize), gray0.size()); assertEquals(new Size(matSize, matSize), gray0.size());
......
include/opencv2/core/core.hpp include/opencv2/core/core.hpp
../java/src/cpp/core_manual.hpp
...@@ -14,7 +14,7 @@ class_ignore_list = ( ...@@ -14,7 +14,7 @@ class_ignore_list = (
#features2d #features2d
#"KeyPoint", "MSER", "StarDetector", "SURF", "DMatch", #"KeyPoint", "MSER", "StarDetector", "SURF", "DMatch",
#ml #ml
"EM", #"EM",
) )
const_ignore_list = ( const_ignore_list = (
...@@ -289,8 +289,15 @@ type_dict = { ...@@ -289,8 +289,15 @@ type_dict = {
"jni_var" : 'const char* utf_%(n)s = env->GetStringUTFChars(%(n)s, 0); std::string n_%(n)s( utf_%(n)s ? utf_%(n)s : "" ); env->ReleaseStringUTFChars(%(n)s, utf_%(n)s)', "jni_var" : 'const char* utf_%(n)s = env->GetStringUTFChars(%(n)s, 0); std::string n_%(n)s( utf_%(n)s ? utf_%(n)s : "" ); env->ReleaseStringUTFChars(%(n)s, utf_%(n)s)',
"suffix" : "Ljava_lang_String_2"}, "suffix" : "Ljava_lang_String_2"},
"TermCriteria": { "j_type" : "TermCriteria", "jn_args" : (("int", ".type"), ("int", ".maxCount"), ("double", ".epsilon")), "TermCriteria": { "j_type" : "TermCriteria", "jn_args" : (("int", ".type"), ("int", ".maxCount"), ("double", ".epsilon")),
"jni_var" : "TermCriteria %(n)s(%(n)s_type, %(n)s_maxCount, %(n)s_epsilon)", "jni_var" : "TermCriteria %(n)s(%(n)s_type, %(n)s_maxCount, %(n)s_epsilon)", "jni_type" : "jdoubleArray",
"suffix" : "IID"}, "suffix" : "IID"},
"CvTermCriteria": { "j_type" : "TermCriteria", "jn_args" : (("int", ".type"), ("int", ".maxCount"), ("double", ".epsilon")),
"jni_var" : "TermCriteria %(n)s(%(n)s_type, %(n)s_maxCount, %(n)s_epsilon)", "jni_type" : "jdoubleArray",
"suffix" : "IID"},
"Vec2d" : { "j_type" : "double[]", "jn_args" : (("double", ".val[0]"), ("double", ".val[1]")),
"jn_type" : "double[]",
"jni_var" : "Vec2d %(n)s(%(n)s_val0, %(n)s_val1)", "jni_type" : "jdoubleArray",
"suffix" : "DD"},
"Vec3d" : { "j_type" : "double[]", "jn_args" : (("double", ".val[0]"), ("double", ".val[1]"), ("double", ".val[2]")), "Vec3d" : { "j_type" : "double[]", "jn_args" : (("double", ".val[0]"), ("double", ".val[1]"), ("double", ".val[2]")),
"jn_type" : "double[]", "jn_type" : "double[]",
"jni_var" : "Vec3d %(n)s(%(n)s_val0, %(n)s_val1, %(n)s_val2)", "jni_type" : "jdoubleArray", "jni_var" : "Vec3d %(n)s(%(n)s_val0, %(n)s_val1, %(n)s_val2)", "jni_type" : "jdoubleArray",
...@@ -615,7 +622,7 @@ class FuncInfo(object): ...@@ -615,7 +622,7 @@ class FuncInfo(object):
if m.startswith("="): if m.startswith("="):
self.jname = m[1:] self.jname = m[1:]
self.static = ["","static"][ "/S" in decl[2] ] self.static = ["","static"][ "/S" in decl[2] ]
self.ctype = decl[1] or "" self.ctype = re.sub(r"^CvTermCriteria", "TermCriteria", decl[1] or "")
self.args = [] self.args = []
arg_fix_map = func_arg_fix.get(classname, {}).get(self.jname, {}) arg_fix_map = func_arg_fix.get(classname, {}).get(self.jname, {})
for a in decl[3]: for a in decl[3]:
......
This diff is collapsed.
#pragma once
#include "opencv2/core/core.hpp"
#if 0
namespace cv
{
CV_EXPORTS_W void add(InputArray src1, Scalar src2, OutputArray dst, InputArray mask=noArray(), int dtype=-1);
CV_EXPORTS_W void subtract(InputArray src1, Scalar src2, OutputArray dst, InputArray mask=noArray(), int dtype=-1);
CV_EXPORTS_W void multiply(InputArray src1, Scalar src2, OutputArray dst, double scale=1, int dtype=-1);
CV_EXPORTS_W void divide(InputArray src1, Scalar src2, OutputArray dst, double scale=1, int dtype=-1);
CV_EXPORTS_W void absdiff(InputArray src1, Scalar src2, OutputArray dst);
CV_EXPORTS_W void compare(InputArray src1, Scalar src2, OutputArray dst, int cmpop);
CV_EXPORTS_W void min(InputArray src1, Scalar src2, OutputArray dst);
CV_EXPORTS_W void max(InputArray src1, Scalar src2, OutputArray dst);
}
#endif //0
...@@ -718,6 +718,19 @@ public class Mat { ...@@ -718,6 +718,19 @@ public class Mat {
return retVal; return retVal;
} }
//
// C++: Mat Mat::setTo(Scalar value, Mat mask = Mat())
//
// javadoc: Mat::setTo(value, mask)
public Mat setTo(Scalar value, Mat mask)
{
Mat retVal = new Mat(n_setTo(nativeObj, value.val[0], value.val[1], value.val[2], value.val[3], mask.nativeObj));
return retVal;
}
// //
// C++: Mat Mat::setTo(Mat value, Mat mask = Mat()) // C++: Mat Mat::setTo(Mat value, Mat mask = Mat())
// //
...@@ -1228,6 +1241,9 @@ public class Mat { ...@@ -1228,6 +1241,9 @@ public class Mat {
// C++: Mat Mat::operator =(Scalar s) // C++: Mat Mat::operator =(Scalar s)
private static native long n_setTo(long nativeObj, double s_val0, double s_val1, double s_val2, double s_val3); private static native long n_setTo(long nativeObj, double s_val0, double s_val1, double s_val2, double s_val3);
// C++: Mat Mat::setTo(Scalar value, Mat mask = Mat())
private static native long n_setTo(long nativeObj, double s_val0, double s_val1, double s_val2, double s_val3, long mask_nativeObj);
// C++: Mat Mat::setTo(Mat value, Mat mask = Mat()) // C++: Mat Mat::setTo(Mat value, Mat mask = Mat())
private static native long n_setTo(long nativeObj, long value_nativeObj, long mask_nativeObj); private static native long n_setTo(long nativeObj, long value_nativeObj, long mask_nativeObj);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment