Java API: converter for vector<KeyPoint> is fixed; test for inRange() improved
authorAndrey Pavlenko <no@email>
Thu, 28 Jul 2011 14:08:55 +0000 (14:08 +0000)
committerAndrey Pavlenko <no@email>
Thu, 28 Jul 2011 14:08:55 +0000 (14:08 +0000)
modules/java/android_test/src/org/opencv/test/core/coreTest.java
modules/java/src/java/Converters.java

index 5dd3ed7..e8a9c16 100644 (file)
@@ -666,8 +666,16 @@ public class coreTest extends OpenCVTestCase {
     }
 
     public void testInRange() {
-        Core.inRange(gray0, gray0, gray1, dst);
-        assertMatEqual(gray255, dst);
+       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);
+        byte vals[] = new byte[3];
+        dst.get(1, 1, vals);
+        assertEquals(0,  vals[0]);
+        assertEquals(-1, vals[1]);
+        assertEquals(0,  vals[2]);
+        assertEquals(1, Core.countNonZero(dst));
     }
 
     public void testInsertChannel() {
index 1706c46..7957099 100644 (file)
@@ -72,7 +72,7 @@ public class Converters {
         int count = m.rows();\r
         if( CvType.CV_32SC2 != m.type() ||  m.cols()!=1 )\r
             throw new java.lang.IllegalArgumentException(\r
-                       "CvType.CV_32SC2 != m.type() ||  m.cols()!=1\n" + m );\r
+                    "CvType.CV_32SC2 != m.type() ||  m.cols()!=1\n" + m );\r
 \r
         pts.clear();\r
         int[] buff = new int[2*count];\r
@@ -106,7 +106,7 @@ public class Converters {
         int count = m.rows();\r
         if( CvType.CV_32SC2 != m.type() ||  m.cols()!=1 )\r
             throw new java.lang.IllegalArgumentException(\r
-                       "CvType.CV_32SC2 != m.type() ||  m.cols()!=1\n" + m);\r
+                    "CvType.CV_32SC2 != m.type() ||  m.cols()!=1\n" + m);\r
 \r
         mats.clear();\r
         int[] buff = new int[count*2];\r
@@ -140,7 +140,7 @@ public class Converters {
         int count = m.rows();\r
         if( CvType.CV_32FC1 != m.type() ||  m.rows()!=1 )\r
             throw new java.lang.IllegalArgumentException(\r
-                       "CvType.CV_32FC1 != m.type() ||  m.rows()!=1\n" + m);\r
+                    "CvType.CV_32FC1 != m.type() ||  m.rows()!=1\n" + m);\r
 \r
         fs.clear();\r
         float[] buff = new float[count];\r
@@ -190,7 +190,7 @@ public class Converters {
         int count = m.rows();\r
         if( CvType.CV_32SC1 != m.type() ||  m.cols()!=1 )\r
             throw new java.lang.IllegalArgumentException(\r
-                       "CvType.CV_32SC1 != m.type() ||  m.cols()!=1\n" + m);\r
+                    "CvType.CV_32SC1 != m.type() ||  m.cols()!=1\n" + m);\r
 \r
         is.clear();\r
         int[] buff = new int[count];\r
@@ -226,7 +226,7 @@ public class Converters {
         int count = m.rows();\r
         if(CvType.CV_32SC4 != m.type() ||  m.cols()!=1 )\r
             throw new java.lang.IllegalArgumentException(\r
-                       "CvType.CV_32SC4 != m.type() ||  m.rows()!=1\n" + m);\r
+                    "CvType.CV_32SC4 != m.type() ||  m.rows()!=1\n" + m);\r
 \r
         rs.clear();\r
         int[] buff = new int[4*count];\r
@@ -266,14 +266,14 @@ public class Converters {
         int count = m.rows();\r
         if( CvType.CV_64FC(7) != m.type() ||  m.cols()!=1 )\r
             throw new java.lang.IllegalArgumentException(\r
-                       "CvType.CV_64FC(7) != m.type() ||  m.cols()!=1\n" + m);\r
+                    "CvType.CV_64FC(7) != m.type() ||  m.cols()!=1\n" + m);\r
 \r
         kps.clear();\r
         double[] buff = new double[7*count];\r
         m.get(0, 0, buff);\r
         for(int i=0; i<count; i++) {\r
-            kps.add( new KeyPoint( (float)buff[4*i], (float)buff[4*i+1], (float)buff[4*i+2], (float)buff[4*i+3],\r
-                                   (float)buff[4*i+4], (int)buff[4*i+5], (int)buff[4*i+6] ) );\r
+            kps.add( new KeyPoint( (float)buff[7*i], (float)buff[7*i+1], (float)buff[7*i+2], (float)buff[7*i+3],\r
+                                   (float)buff[7*i+4], (int)buff[7*i+5], (int)buff[7*i+6] ) );\r
         }\r
     }\r
 \r