diff --git a/modules/java/android_test/AndroidManifest.xml b/modules/java/android_test/AndroidManifest.xml
index 236cb475d4..800758f573 100644
--- a/modules/java/android_test/AndroidManifest.xml
+++ b/modules/java/android_test/AndroidManifest.xml
@@ -10,4 +10,9 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/modules/java/android_test/src/org/opencv/test/OpenCVTestCase.java b/modules/java/android_test/src/org/opencv/test/OpenCVTestCase.java
index 37edbf84f6..7ffabee29e 100644
--- a/modules/java/android_test/src/org/opencv/test/OpenCVTestCase.java
+++ b/modules/java/android_test/src/org/opencv/test/OpenCVTestCase.java
@@ -11,44 +11,44 @@ import org.opencv.highgui;
public class OpenCVTestCase extends TestCase {
- static int matSize = 10;
+ protected static int matSize = 10;
- static Mat dst;
+ protected static Mat dst;
//Naming notation: _[depth]_[dimensions]_value
//examples: gray0 - single channel 8U 2d Mat filled with 0
// grayRnd - single channel 8U 2d Mat filled with random numbers
// gray0_32f_1d - refactor ;)
- static Mat gray0;
- static Mat gray1;
- static Mat gray2;
- static Mat gray3;
- static Mat gray9;
- static Mat gray127;
- static Mat gray128;
- static Mat gray255;
- static Mat grayRnd;
+ protected static Mat gray0;
+ protected static Mat gray1;
+ protected static Mat gray2;
+ protected static Mat gray3;
+ protected static Mat gray9;
+ protected static Mat gray127;
+ protected static Mat gray128;
+ protected static Mat gray255;
+ protected static Mat grayRnd;
- static Mat gray256;
+ protected static Mat gray_16u_256;
- static Mat gray0_32f;
- static Mat gray1_32f;
- static Mat gray3_32f;
- static Mat gray9_32f;
- static Mat gray255_32f;
- static Mat grayE_32f;
- static Mat grayRnd_32f;
+ protected static Mat gray0_32f;
+ protected static Mat gray1_32f;
+ protected static Mat gray3_32f;
+ protected static Mat gray9_32f;
+ protected static Mat gray255_32f;
+ protected static Mat grayE_32f;
+ protected static Mat grayRnd_32f;
- static Mat gray0_32f_1d;
+ protected static Mat gray0_32f_1d;
- static Mat gray0_64f;
- static Mat gray0_64f_1d;
+ protected static Mat gray0_64f;
+ protected static Mat gray0_64f_1d;
- static Mat rgba0;
- static Mat rgba128;
+ protected static Mat rgba0;
+ protected static Mat rgba128;
- static Mat rgbLena;
+ protected static Mat rgbLena;
@Override
protected void setUp() throws Exception {
@@ -66,7 +66,7 @@ public class OpenCVTestCase extends TestCase {
gray128 = new Mat(matSize, matSize, CvType.CV_8U); gray128.setTo(new Scalar(128.0));
gray255 = new Mat(matSize, matSize, CvType.CV_8U); gray255.setTo(new Scalar(255.0));
- gray256 = new Mat(matSize, matSize, CvType.CV_16U); gray255.setTo(new Scalar(256));
+ gray_16u_256 = new Mat(matSize, matSize, CvType.CV_16U); gray255.setTo(new Scalar(256));
Mat low = new Mat(1, 1, CvType.CV_16UC1, new Scalar(0));
Mat high = new Mat(1, 1, CvType.CV_16UC1, new Scalar(256));
diff --git a/modules/java/android_test/src/org/opencv/test/OpenCVTestRunner.java b/modules/java/android_test/src/org/opencv/test/OpenCVTestRunner.java
index c03c16ed1a..a5e9bfd49d 100644
--- a/modules/java/android_test/src/org/opencv/test/OpenCVTestRunner.java
+++ b/modules/java/android_test/src/org/opencv/test/OpenCVTestRunner.java
@@ -3,8 +3,8 @@ package org.opencv.test;
import java.io.FileOutputStream;
import java.util.Collections;
import java.util.List;
-
import junit.framework.TestCase;
+
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
diff --git a/modules/java/android_test/src/org/opencv/test/core/FileStorageTest.java b/modules/java/android_test/src/org/opencv/test/core/FileStorageTest.java
new file mode 100644
index 0000000000..d6bdfd0e35
--- /dev/null
+++ b/modules/java/android_test/src/org/opencv/test/core/FileStorageTest.java
@@ -0,0 +1,59 @@
+package org.opencv.test.core;
+
+import org.opencv.core.FileStorage;
+import org.opencv.test.OpenCVTestCase;
+
+public class FileStorageTest extends OpenCVTestCase {
+
+ private FileStorage fs;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ fs = null;
+ }
+
+ public void test_1() {
+ super.test_1("CORE.FileStorage");
+ }
+
+ public void testFileStorage() {
+ fs = new FileStorage();
+ assertTrue(null != fs);
+ }
+
+ public void testFileStorageLong() {
+ fail("Not yet implemented");
+ }
+
+ public void testFileStorageStringInt() {
+ fs = new FileStorage("test.yml", FileStorage.WRITE);
+ assertTrue(null != fs);
+ }
+
+ public void testFileStorageStringIntString() {
+ fail("Not yet implemented");
+ }
+
+ public void testIsOpened() {
+ fs = new FileStorage();
+ assertFalse(fs.isOpened());
+
+ fs = new FileStorage("test.yml", FileStorage.WRITE);
+ assertTrue(fs.isOpened());
+ }
+
+ public void testOpenStringInt() {
+ fail("Not yet implemented");
+ }
+
+ public void testOpenStringIntString() {
+ fail("Not yet implemented");
+ }
+
+ public void testRelease() {
+ fail("Not yet implemented");
+ }
+
+}
diff --git a/modules/java/android_test/src/org/opencv/test/MatTest.java b/modules/java/android_test/src/org/opencv/test/core/MatTest.java
similarity index 98%
rename from modules/java/android_test/src/org/opencv/test/MatTest.java
rename to modules/java/android_test/src/org/opencv/test/core/MatTest.java
index 5f01b964b7..bb1ab544d5 100644
--- a/modules/java/android_test/src/org/opencv/test/MatTest.java
+++ b/modules/java/android_test/src/org/opencv/test/core/MatTest.java
@@ -1,8 +1,9 @@
-package org.opencv.test;
+package org.opencv.test.core;
import org.opencv.CvType;
import org.opencv.Mat;
import org.opencv.Scalar;
+import org.opencv.test.OpenCVTestCase;
public class MatTest extends OpenCVTestCase {
diff --git a/modules/java/android_test/src/org/opencv/test/coreTest.java b/modules/java/android_test/src/org/opencv/test/core/coreTest.java
similarity index 98%
rename from modules/java/android_test/src/org/opencv/test/coreTest.java
rename to modules/java/android_test/src/org/opencv/test/core/coreTest.java
index 2a420e9a5e..9b0feeb849 100644
--- a/modules/java/android_test/src/org/opencv/test/coreTest.java
+++ b/modules/java/android_test/src/org/opencv/test/core/coreTest.java
@@ -1,4 +1,4 @@
-package org.opencv.test;
+package org.opencv.test.core;
import org.opencv.CvType;
import org.opencv.Mat;
@@ -6,6 +6,9 @@ import org.opencv.Point;
import org.opencv.Scalar;
import org.opencv.core;
+import org.opencv.test.OpenCVTestCase;
+import org.opencv.test.OpenCVTestRunner;
+
public class coreTest extends OpenCVTestCase {
public void test_1() {
@@ -177,7 +180,7 @@ public class coreTest extends OpenCVTestCase {
core.convertScaleAbs(gray0, dst);
assertMatEqual(gray0, dst);
- core.convertScaleAbs(gray256, dst);
+ core.convertScaleAbs(gray_16u_256, dst);
assertMatEqual(gray255, dst);
}
@@ -185,12 +188,12 @@ public class coreTest extends OpenCVTestCase {
core.convertScaleAbs(gray0, dst, 2);
assertMatEqual(gray0, dst);
- core.convertScaleAbs(gray256, dst, 1);
+ core.convertScaleAbs(gray_16u_256, dst, 1);
assertMatEqual(gray255, dst);
}
public void testConvertScaleAbsMatMatDoubleDouble() {
- core.convertScaleAbs(gray256, dst, 2, 2);
+ core.convertScaleAbs(gray_16u_256, dst, 2, 2);
assertMatEqual(gray255, dst);
}
@@ -783,6 +786,7 @@ public class coreTest extends OpenCVTestCase {
}
public void testSolvePolyMatMat() {
+ fail("Not yet implemented");
// Mat coeffs = new Mat(4, 1, CvType.CV_32F);
// Mat standart = new Mat(3, 1, CvType.CV_32F);
// Mat roots = new Mat(3, 1, CvType.CV_32F);
@@ -803,7 +807,6 @@ public class coreTest extends OpenCVTestCase {
// core.sort(roots, roots, CV_SORT_EVERY_ROW);
// assertTrue(1 == core.countNonZero(coeffs));
//assertMatEqual(roots, standart);
- fail("Not yet implemented");
}
public void testSolvePolyMatMatInt() {
@@ -827,6 +830,7 @@ public class coreTest extends OpenCVTestCase {
}
public void testSortIdx() {
+ fail("Not yet implemented");
// Mat matrix = new Mat(matSize, matSize, Mat.CvType.CV_8UC1);
// matrix.setTo(0);
// Mat submatrix = matrix.submat(0, matrix.rows() / 2, 0, matrix.cols() / 2);
diff --git a/modules/java/android_test/src/org/opencv/test/features2d/features2dTest.java b/modules/java/android_test/src/org/opencv/test/features2d/features2dTest.java
new file mode 100644
index 0000000000..b3b59edbb4
--- /dev/null
+++ b/modules/java/android_test/src/org/opencv/test/features2d/features2dTest.java
@@ -0,0 +1,8 @@
+package org.opencv.test.features2d;
+
+import org.opencv.test.OpenCVTestCase;
+
+
+public class features2dTest extends OpenCVTestCase {
+
+}
diff --git a/modules/java/android_test/src/org/opencv/test/features2dTest.java b/modules/java/android_test/src/org/opencv/test/features2dTest.java
deleted file mode 100644
index 8b919fcce6..0000000000
--- a/modules/java/android_test/src/org/opencv/test/features2dTest.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package org.opencv.test;
-
-
-public class features2dTest extends OpenCVTestCase {
-
-}
diff --git a/modules/java/android_test/src/org/opencv/test/highgui/VideoCaptureTest.java b/modules/java/android_test/src/org/opencv/test/highgui/VideoCaptureTest.java
new file mode 100644
index 0000000000..ff8f62da7a
--- /dev/null
+++ b/modules/java/android_test/src/org/opencv/test/highgui/VideoCaptureTest.java
@@ -0,0 +1,136 @@
+package org.opencv.test.highgui;
+
+import org.opencv.highgui;
+import org.opencv.highgui.VideoCapture;
+
+import org.opencv.test.OpenCVTestCase;
+import org.opencv.test.OpenCVTestRunner;
+
+
+public class VideoCaptureTest extends OpenCVTestCase {
+
+ private VideoCapture capture;
+ private boolean isSucceed;
+ private boolean isOpened;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ capture = null;
+ isSucceed = false;
+ isOpened = false;
+ }
+
+ public void test_1() {
+ super.test_1("HIGHGUI.VideoCapture");
+ }
+
+ public void testGet() {
+ capture = new VideoCapture(highgui.CV_CAP_ANDROID);
+ double frameWidth = capture.get(highgui.CV_CAP_PROP_FRAME_WIDTH);
+ capture.release();
+ assertTrue(0 != frameWidth);
+ }
+
+ public void testGrab() {
+ capture = new VideoCapture();
+ isSucceed = capture.grab();
+ assertFalse(isSucceed);
+ }
+
+ public void testGrabFromRealCamera() {
+ capture = new VideoCapture(highgui.CV_CAP_ANDROID);
+ isSucceed = capture.grab();
+ capture.release();
+ assertTrue(isSucceed);
+ }
+
+ public void testIsOpened() {
+ capture = new VideoCapture();
+ assertFalse(capture.isOpened());
+ }
+
+ public void testIsOpenedRealCamera() {
+ capture = new VideoCapture(highgui.CV_CAP_ANDROID);
+ isOpened = capture.isOpened();
+ capture.release();
+ assertTrue(isOpened);
+ }
+
+ public void testOpenInt() {
+ capture = new VideoCapture();
+ capture.open(highgui.CV_CAP_ANDROID);
+ isOpened = capture.isOpened();
+ capture.release();
+ assertTrue(isOpened);
+ }
+
+ public void testOpenString() {
+ fail("Not yet implemented");
+ }
+
+ public void testRead() {
+ capture = new VideoCapture(highgui.CV_CAP_ANDROID);
+ isSucceed = capture.read(dst);
+ capture.release();
+ assertTrue(isSucceed);
+ assertFalse(dst.empty());
+ assertEquals(3, dst.channels());
+ }
+
+ public void testRelease() {
+ capture = new VideoCapture(highgui.CV_CAP_ANDROID);
+ capture.release();
+ assertFalse(capture.isOpened());
+ }
+
+ public void testRetrieveMat() {
+ capture = new VideoCapture(highgui.CV_CAP_ANDROID);
+ capture.grab();
+ isSucceed = capture.retrieve(dst);
+ capture.release();
+ assertTrue(isSucceed);
+ assertFalse(dst.empty());
+ assertEquals(3, dst.channels());
+ }
+
+ public void testRetrieveMatInt() {
+ capture = new VideoCapture(highgui.CV_CAP_ANDROID);
+ capture.grab();
+ isSucceed = capture.retrieve(dst, 1);
+ capture.release();
+ assertTrue(isSucceed);
+ assertFalse(dst.empty());
+ OpenCVTestRunner.Log(dst.toString());
+ assertEquals(1, dst.channels());
+ }
+
+ public void testSet() {
+ capture = new VideoCapture(highgui.CV_CAP_ANDROID);
+ capture.set(highgui.CV_CAP_PROP_FRAME_WIDTH, 640.0);
+ double frameWidth = capture.get(highgui.CV_CAP_PROP_FRAME_WIDTH);
+ capture.read(dst);
+ capture.release();
+ assertEquals(640.0, frameWidth);
+ assertEquals(640, dst.cols());
+ }
+
+ public void testVideoCapture() {
+ capture = new VideoCapture();
+ assertTrue(null != capture);
+ }
+
+ public void testVideoCaptureInt() {
+ capture = new VideoCapture(highgui.CV_CAP_ANDROID);
+ assertTrue(null != capture);
+ isOpened = capture.isOpened();
+ capture.release();
+ assertTrue(isOpened);
+ }
+
+ public void testVideoCaptureString() {
+ fail("Not yet implemented");
+ }
+
+}
diff --git a/modules/java/android_test/src/org/opencv/test/highguiTest.java b/modules/java/android_test/src/org/opencv/test/highgui/highguiTest.java
similarity index 94%
rename from modules/java/android_test/src/org/opencv/test/highguiTest.java
rename to modules/java/android_test/src/org/opencv/test/highgui/highguiTest.java
index d1f0700939..4604d69071 100644
--- a/modules/java/android_test/src/org/opencv/test/highguiTest.java
+++ b/modules/java/android_test/src/org/opencv/test/highgui/highguiTest.java
@@ -1,6 +1,8 @@
-package org.opencv.test;
+package org.opencv.test.highgui;
import org.opencv.highgui;
+import org.opencv.test.OpenCVTestCase;
+import org.opencv.test.OpenCVTestRunner;
public class highguiTest extends OpenCVTestCase {
diff --git a/modules/java/android_test/src/org/opencv/test/imgprocTest.java b/modules/java/android_test/src/org/opencv/test/imgproc/imgprocTest.java
similarity index 99%
rename from modules/java/android_test/src/org/opencv/test/imgprocTest.java
rename to modules/java/android_test/src/org/opencv/test/imgproc/imgprocTest.java
index 24b72c004a..dccedf0a01 100644
--- a/modules/java/android_test/src/org/opencv/test/imgprocTest.java
+++ b/modules/java/android_test/src/org/opencv/test/imgproc/imgprocTest.java
@@ -1,7 +1,8 @@
-package org.opencv.test;
+package org.opencv.test.imgproc;
import org.opencv.Size;
import org.opencv.imgproc;
+import org.opencv.test.OpenCVTestCase;
public class imgprocTest extends OpenCVTestCase {
diff --git a/modules/java/android_test/src/org/opencv/test/objdetect/objdetectTest.java b/modules/java/android_test/src/org/opencv/test/objdetect/objdetectTest.java
new file mode 100644
index 0000000000..a65639e971
--- /dev/null
+++ b/modules/java/android_test/src/org/opencv/test/objdetect/objdetectTest.java
@@ -0,0 +1,8 @@
+package org.opencv.test.objdetect;
+
+import org.opencv.test.OpenCVTestCase;
+
+
+public class objdetectTest extends OpenCVTestCase {
+
+}
diff --git a/modules/java/android_test/src/org/opencv/test/objdetectTest.java b/modules/java/android_test/src/org/opencv/test/objdetectTest.java
deleted file mode 100644
index 8f4afba6b1..0000000000
--- a/modules/java/android_test/src/org/opencv/test/objdetectTest.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package org.opencv.test;
-
-
-public class objdetectTest extends OpenCVTestCase {
-
-}
diff --git a/modules/java/android_test/src/org/opencv/test/videoTest.java b/modules/java/android_test/src/org/opencv/test/video/videoTest.java
similarity index 88%
rename from modules/java/android_test/src/org/opencv/test/videoTest.java
rename to modules/java/android_test/src/org/opencv/test/video/videoTest.java
index 86fc092cff..cf4e522a59 100644
--- a/modules/java/android_test/src/org/opencv/test/videoTest.java
+++ b/modules/java/android_test/src/org/opencv/test/video/videoTest.java
@@ -1,4 +1,6 @@
-package org.opencv.test;
+package org.opencv.test.video;
+
+import org.opencv.test.OpenCVTestCase;
public class videoTest extends OpenCVTestCase {