From 1649c8f6d0f12e2088947fe7a5a4afdfa2e735fc Mon Sep 17 00:00:00 2001 From: Kirill Kornyakov Date: Mon, 4 Jul 2011 09:30:55 +0000 Subject: [PATCH] some tests for highgui java added --- .../src/org/opencv/test/OpenCVTestCase.java | 30 +++++++++- .../android_test/src/org/opencv/test/coreTest.java | 15 +++-- .../src/org/opencv/test/highguiTest.java | 69 +++++++++++++++++++++- 3 files changed, 104 insertions(+), 10 deletions(-) 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 dc8ef97..bd76429 100644 --- a/modules/java/android_test/src/org/opencv/test/OpenCVTestCase.java +++ b/modules/java/android_test/src/org/opencv/test/OpenCVTestCase.java @@ -1,14 +1,22 @@ package org.opencv.test; +import java.io.FileOutputStream; + import org.opencv.Mat; import org.opencv.core; +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Bitmap.CompressFormat; import android.test.AndroidTestCase; import android.util.Log; public class OpenCVTestCase extends AndroidTestCase { static String TAG = "OpenCV_JavaAPI_Tests"; + static String LENA = "/data/data/org.opencv.test/files/lena.jpg"; + static int matSize = 10; static Mat gray0; @@ -42,6 +50,11 @@ public class OpenCVTestCase extends AndroidTestCase { protected void setUp() throws Exception { // Log.e(TAG, "setUp"); super.setUp(); + + //Naming notation: channels_[type]_[dimension]_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 ;) gray0 = new Mat(matSize, matSize, Mat.CvType.CV_8UC1); gray0.setTo(0.0); gray1 = new Mat(matSize, matSize, Mat.CvType.CV_8UC1); gray1.setTo(1.0); @@ -67,11 +80,22 @@ public class OpenCVTestCase extends AndroidTestCase { gray0_64f_1d = new Mat(1, matSize, Mat.CvType.CV_64FC1); gray0_64f_1d.setTo(0.0); rgba0 = new Mat(matSize, matSize, Mat.CvType.CV_8UC4); rgba0.setTo(0, 0, 0, 0); - rgba128 = new Mat(matSize, matSize, Mat.CvType.CV_8UC4); rgba128.setTo(128, 128, 128, 128); + rgba128 = new Mat(matSize, matSize, Mat.CvType.CV_8UC4); rgba128.setTo(128, 128, 128, 128); + + try { + Bitmap mBitmap = BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable.lena); + FileOutputStream fos = this.getContext().openFileOutput("lena.jpg", Context.MODE_WORLD_READABLE); + mBitmap.compress(CompressFormat.JPEG, 100, fos); + fos.flush(); + fos.close(); + } + catch (Exception e) { + Log.e(TAG, "Tried to write lena.jpg, but: " + e.toString()); + } - dst_gray = new Mat(0, 0, Mat.CvType.CV_8UC1); + dst_gray = new Mat(); assertTrue(dst_gray.empty()); - dst_gray_32f = new Mat(0, 0, Mat.CvType.CV_32FC1); + dst_gray_32f = new Mat(); assertTrue(dst_gray_32f.empty()); } diff --git a/modules/java/android_test/src/org/opencv/test/coreTest.java b/modules/java/android_test/src/org/opencv/test/coreTest.java index 230ccfa..cede490 100644 --- a/modules/java/android_test/src/org/opencv/test/coreTest.java +++ b/modules/java/android_test/src/org/opencv/test/coreTest.java @@ -30,7 +30,7 @@ public class coreTest extends OpenCVTestCase { public void testMahalanobis() { Mat covar = new Mat(matSize, matSize, Mat.CvType.CV_32FC1); Mat mean = new Mat(1, matSize, Mat.CvType.CV_32FC1); - core.calcCovarMatrix(grayRnd_32f, covar, mean, 8|1, Mat.CvType.CV_32F); //FIXME: CV_COVAR_NORMAL + core.calcCovarMatrix(grayRnd_32f, covar, mean, 8|1, Mat.CvType.CV_32F); //FIXME: CV_COVAR_NORMAL instead of magic numbers covar.inv(); Mat line1 = grayRnd_32f.submat(0, 1, 0, grayRnd_32f.cols()); @@ -110,7 +110,7 @@ public class coreTest extends OpenCVTestCase { Mat covar = new Mat(matSize, matSize, Mat.CvType.CV_32FC1); Mat mean = new Mat(1, matSize, Mat.CvType.CV_32FC1); - core.calcCovarMatrix(gray0_32f, covar, mean, 8|1, Mat.CvType.CV_32F); //FIXME: CV_COVAR_NORMAL + core.calcCovarMatrix(gray0_32f, covar, mean, 8|1, Mat.CvType.CV_32F); //FIXME: CV_COVAR_NORMAL instead of magic numbers assertMatEqual(gray0_32f, covar); assertMatEqual(gray0_32f_1d, mean); } @@ -119,7 +119,7 @@ public class coreTest extends OpenCVTestCase { Mat covar = new Mat(matSize, matSize, Mat.CvType.CV_64FC1); Mat mean = new Mat(1, matSize, Mat.CvType.CV_64FC1); - core.calcCovarMatrix(gray0_32f, covar, mean, 8|1); //FIXME: CV_COVAR_NORMAL + core.calcCovarMatrix(gray0_32f, covar, mean, 8|1); //FIXME: CV_COVAR_NORMAL instead of magic numbers assertMatEqual(gray0_64f, covar); assertMatEqual(gray0_64f_1d, mean); } @@ -133,7 +133,8 @@ public class coreTest extends OpenCVTestCase { } public void testCheckHardwareSupport() { - boolean hasFeauture = core.checkHardwareSupport(0); //FIXME: do we need this function? + //FIXME: do we need this function? + boolean hasFeauture = core.checkHardwareSupport(0); assertEquals(false, hasFeauture); } @@ -414,7 +415,7 @@ public class coreTest extends OpenCVTestCase { } public void testMulSpectrumsMatMatMatInt() { - //TODO: complex math. See the dct function test. + //TODO: nice example fail("Not yet implemented"); } @@ -498,7 +499,7 @@ public class coreTest extends OpenCVTestCase { } public void testPerspectiveTransform() { - //XXX: kirill stopped here + //TODO: nice example fail("Not yet implemented"); } @@ -571,6 +572,7 @@ public class coreTest extends OpenCVTestCase { } public void testSetUseOptimized() { + //FIXME: do we need this function? fail("Not yet implemented"); } @@ -627,6 +629,7 @@ public class coreTest extends OpenCVTestCase { } public void testUseOptimized() { + //XXX: do we need this function? 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/highguiTest.java index 3934c4c..a3ae391 100644 --- a/modules/java/android_test/src/org/opencv/test/highguiTest.java +++ b/modules/java/android_test/src/org/opencv/test/highguiTest.java @@ -1,25 +1,92 @@ package org.opencv.test; +import java.io.FileOutputStream; + +import org.opencv.Mat; +import org.opencv.highgui; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.Bitmap.CompressFormat; +import android.graphics.BitmapFactory; +import android.util.Log; + public class highguiTest extends OpenCVTestCase { public void testDestroyAllWindows() { + //XXX: do not export this function + fail("Do not export this function"); + } + + public void testDestroyWindow() { + //XXX: do not export this function + fail("Do not export this function"); + } + + public void testGetTrackbarPos() { + //XXX: do we need this function? + fail("Not yet implemented"); + } + + public void testGetWindowProperty() { + //XXX: do we need this function? fail("Not yet implemented"); } public void testImdecode() { + //XXX: do we need this function? fail("Not yet implemented"); } + + public void testImreadStringInt() { + dst_gray = highgui.imread(LENA, 0); + assertTrue(!dst_gray.empty()); + assertEquals(1, dst_gray.channels()); + } - public void testStartWindowThread() { + public void testImreadString() { + dst_gray = highgui.imread(LENA); + assertTrue(!dst_gray.empty()); + assertEquals(3, dst_gray.channels()); + } + + public void testImshow() { fail("Not yet implemented"); } + public void testNamedWindowStringInt() { + //XXX: do not export this function + fail("Do not export this function"); + } + + public void testNamedWindowString() { + //XXX: do not export this function + fail("Do not export this function"); + } + + public void testSetTrackbarPos() { + //XXX: do we need this function? + fail("Not yet implemented"); + } + + public void testSetWindowProperty() { + //XXX: do we need this function? + fail("Not yet implemented"); + } + + public void testStartWindowThread() { + //XXX: do not export this function + fail("Do not export this function"); + } + public void testWaitKeyInt() { + //XXX: we need this function if only imshow will be implemented fail("Not yet implemented"); } public void testWaitKey() { + //XXX: we need this function if only imshow will be implemented fail("Not yet implemented"); } -- 2.7.4