Java API generator changes randu/randn/inRange args to Scalar; Java tests are updated.
authorAndrey Pavlenko <no@email>
Fri, 29 Jul 2011 08:12:00 +0000 (08:12 +0000)
committerAndrey Pavlenko <no@email>
Fri, 29 Jul 2011 08:12:00 +0000 (08:12 +0000)
modules/java/android_test/src/org/opencv/test/OpenCVTestCase.java
modules/java/android_test/src/org/opencv/test/core/coreTest.java
modules/java/gen_java.py

index db2c316..b9aa34b 100644 (file)
@@ -85,10 +85,8 @@ public class OpenCVTestCase extends TestCase {
         gray_16s_1024 = new Mat(matSize, matSize, CvType.CV_16S, new Scalar(
                 1024));
 
-        Mat low = new Mat(1, 1, CvType.CV_16UC1, new Scalar(0));
-        Mat high = new Mat(1, 1, CvType.CV_16UC1, new Scalar(256));
         grayRnd = new Mat(matSize, matSize, CvType.CV_8U);
-        Core.randu(grayRnd, low, high);
+        Core.randu(grayRnd, new Scalar(0), new Scalar(256));
 
         gray0_32f = new Mat(matSize, matSize, CvType.CV_32F, new Scalar(0.0));
         gray1_32f = new Mat(matSize, matSize, CvType.CV_32F, new Scalar(1.0));
@@ -99,7 +97,7 @@ public class OpenCVTestCase extends TestCase {
         grayE_32f = new Mat(matSize, matSize, CvType.CV_32F);
         grayE_32f = Mat.eye(matSize, matSize, CvType.CV_32FC1);
         grayRnd_32f = new Mat(matSize, matSize, CvType.CV_32F);
-        Core.randu(grayRnd_32f, low, high);
+        Core.randu(grayRnd_32f, new Scalar(0), new Scalar(256));
 
         gray0_32f_1d = new Mat(1, matSize, CvType.CV_32F, new Scalar(0.0));
 
@@ -116,9 +114,6 @@ public class OpenCVTestCase extends TestCase {
         v1.put(0, 0, 1.0, 3.0, 2.0);
         v2 = new Mat(1, 3, CvType.CV_32F);
         v2.put(0, 0, 2.0, 1.0, 3.0);
-        
-        low.release();
-        high.release();
     }
     
     @Override
index e5d4d43..2207f8f 100644 (file)
@@ -711,9 +711,7 @@ public class coreTest extends OpenCVTestCase {
 
     public void testInRange() {
        gray0.put(1, 1, 100, 150, 200);
-       Mat lo = new Mat(1, 1, CvType.CV_8UC1, new Scalar(120));
-       Mat hi = new Mat(1, 1, CvType.CV_8UC1, new Scalar(160));
-        Core.inRange(gray0, lo, hi, dst);
+        Core.inRange(gray0, new Scalar(120), new Scalar(160), dst);
         byte vals[] = new byte[3];
         dst.get(1, 1, vals);
         assertEquals(0,  vals[0]);
@@ -1169,9 +1167,7 @@ public class coreTest extends OpenCVTestCase {
     public void testPerspectiveTransform() {
         Mat src = new Mat(matSize, matSize, CvType.CV_32FC2);
         
-        Mat low = new Mat(1, 1, CvType.CV_32F, new Scalar(0));
-        Mat high = new Mat(1, 1, CvType.CV_32F, new Scalar(256));
-        Core.randu(src, low, high);
+        Core.randu(src, new Scalar(0), new Scalar(256));
         
         //FIXME: use Mat.diag
         Mat transformMatrix = Mat.eye(3, 3, CvType.CV_32F);
@@ -1184,9 +1180,7 @@ public class coreTest extends OpenCVTestCase {
     public void testPerspectiveTransform3D() {
         Mat src = new Mat(matSize, matSize, CvType.CV_32FC3);
         
-        Mat low = new Mat(1, 1, CvType.CV_32F, new Scalar(0));
-        Mat high = new Mat(1, 1, CvType.CV_32F, new Scalar(256));
-        Core.randu(src, low, high);
+        Core.randu(src, new Scalar(0), new Scalar(256));
         
         Mat transformMatrix = Mat.eye(4, 4, CvType.CV_32F);
         
@@ -1286,11 +1280,8 @@ public class coreTest extends OpenCVTestCase {
     }
 
     public void testRandn() {
-        Mat low = new Mat(1, 1, CvType.CV_16UC1, new Scalar(0));
-        Mat high = new Mat(1, 1, CvType.CV_16UC1, new Scalar(256));
-
         assertTrue(0 == Core.countNonZero(gray0));
-        Core.randn(gray0, low, high);
+        Core.randn(gray0, new Scalar(0), new Scalar(256));
         assertTrue(0 != Core.countNonZero(gray0));
     }
 
@@ -1303,11 +1294,8 @@ public class coreTest extends OpenCVTestCase {
     }
 
     public void testRandu() {
-        Mat low = new Mat(1, 1, CvType.CV_16UC1, new Scalar(0));
-        Mat high = new Mat(1, 1, CvType.CV_16UC1, new Scalar(256));
-
         assertTrue(0 == Core.countNonZero(gray0));
-        Core.randu(gray0, low, high);
+        Core.randu(gray0, new Scalar(0), new Scalar(256));
         assertTrue(0 != Core.countNonZero(gray0));
     }
 
index dae412e..a580ded 100644 (file)
@@ -451,6 +451,15 @@ JNIEXPORT jdoubleArray JNICALL Java_org_opencv_core_Core_n_1getTextSize
     }, # Highgui\r
 }\r
 \r
+# { class : { func : {arg_name : ctype} } }\r
+func_arg_fix = {\r
+    '' : {\r
+        'randu'    : { 'low'     : 'Scalar', 'high'   : 'Scalar', },\r
+        'randn'    : { 'mean'    : 'Scalar', 'stddev' : 'Scalar', },\r
+        'inRange'  : { 'lowerb'  : 'Scalar', 'upperb' : 'Scalar', },\r
+    }, # '', i.e. empty class\r
+} # func_arg_fix\r
+\r
 class ConstInfo(object):\r
     def __init__(self, cname, name, val, addedManually=False):\r
         self.cname = cname\r
@@ -522,8 +531,11 @@ class FuncInfo(object):
         #self.jni_suffix = "__"\r
         #if self.classname and self.ctype and not self.static: # non-static class methods except c-tors\r
         #    self.jni_suffix += "J" # artifical 'self'\r
+        arg_fix_map = func_arg_fix.get(classname, {}).get(self.jname, {})\r
         for a in decl[3]:\r
-            ai = ArgInfo(a)\r
+            arg = a[:]\r
+            arg[0] = arg_fix_map.get(arg[1], arg[0])\r
+            ai = ArgInfo(arg)\r
             self.args.append(ai)\r
         #    self.jni_suffix += ctype2j.get(ai.ctype, ["","","",""])[3]\r
 \r