initial commit of JavaAPI unit tests
This commit is contained in:
parent
64c8d8f2a0
commit
56e26b9624
8
modules/java/android_test/.classpath
Normal file
8
modules/java/android_test/.classpath
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="src" path="gen"/>
|
||||
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
|
||||
<classpathentry kind="src" path="OpenCVJavaAPI_src"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
41
modules/java/android_test/.project
Normal file
41
modules/java/android_test/.project
Normal file
@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>OpenCV_Test</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
<project>OpenCVJavaAPI</project>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.ApkBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
<linkedResources>
|
||||
<link>
|
||||
<name>OpenCVJavaAPI_src</name>
|
||||
<type>2</type>
|
||||
<locationURI>_android_OpenCVJavaAPI_583dbd7b/src</locationURI>
|
||||
</link>
|
||||
</linkedResources>
|
||||
</projectDescription>
|
12
modules/java/android_test/AndroidManifest.xml
Normal file
12
modules/java/android_test/AndroidManifest.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.opencv_test"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0">
|
||||
<uses-sdk android:minSdkVersion="8" />
|
||||
<instrumentation android:targetPackage="org.opencv_test" android:name="android.test.InstrumentationTestRunner" />
|
||||
<application android:icon="@drawable/icon" android:label="@string/app_name">
|
||||
|
||||
<uses-library android:name="android.test.runner" />
|
||||
</application>
|
||||
</manifest>
|
12
modules/java/android_test/default.properties
Normal file
12
modules/java/android_test/default.properties
Normal file
@ -0,0 +1,12 @@
|
||||
# This file is automatically generated by Android Tools.
|
||||
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
|
||||
#
|
||||
# This file must be checked in Version Control Systems.
|
||||
#
|
||||
# To customize properties used by the Ant build system use,
|
||||
# "build.properties", and override values to adapt the script to your
|
||||
# project structure.
|
||||
|
||||
# Project target.
|
||||
target=android-8
|
||||
android.library.reference.1=../android/build
|
BIN
modules/java/android_test/res/drawable-hdpi/icon.png
Normal file
BIN
modules/java/android_test/res/drawable-hdpi/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.0 KiB |
BIN
modules/java/android_test/res/drawable-ldpi/icon.png
Normal file
BIN
modules/java/android_test/res/drawable-ldpi/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
BIN
modules/java/android_test/res/drawable-mdpi/icon.png
Normal file
BIN
modules/java/android_test/res/drawable-mdpi/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.5 KiB |
12
modules/java/android_test/res/layout/main.xml
Normal file
12
modules/java/android_test/res/layout/main.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
>
|
||||
<TextView
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/hello"
|
||||
/>
|
||||
</LinearLayout>
|
5
modules/java/android_test/res/values/strings.xml
Normal file
5
modules/java/android_test/res/values/strings.xml
Normal file
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="hello">Hello World!</string>
|
||||
<string name="app_name">OpenCV_Test</string>
|
||||
</resources>
|
25
modules/java/android_test/src/org/opencv_test/CoreTest.java
Normal file
25
modules/java/android_test/src/org/opencv_test/CoreTest.java
Normal file
@ -0,0 +1,25 @@
|
||||
package org.opencv_test;
|
||||
|
||||
import org.opencv.core;
|
||||
|
||||
|
||||
public class CoreTest extends OpenCvTestCase {
|
||||
public void test_1() {
|
||||
super.test_1("CORE");
|
||||
}
|
||||
|
||||
public void test_Can_Call_add() {
|
||||
core.add(gray128, gray128, dst);
|
||||
assertMatEqual(gray255, dst);
|
||||
}
|
||||
|
||||
public void test_Can_Call_absdiff() {
|
||||
core.absdiff(gray128, gray255, dst);
|
||||
assertMatEqual(gray127, dst);
|
||||
}
|
||||
|
||||
public void test_Can_Call_bitwise_and() {
|
||||
core.bitwise_and(gray3, gray2, dst);
|
||||
assertMatEqual(gray2, dst);
|
||||
}
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package org.opencv_test;
|
||||
|
||||
import org.opencv.Mat;
|
||||
import org.opencv.Size;
|
||||
import org.opencv.imgproc;
|
||||
|
||||
|
||||
public class ImgprocTest extends OpenCvTestCase {
|
||||
public void test_1() {
|
||||
super.test_1("IMGPROC");
|
||||
}
|
||||
|
||||
//FIXME: this test crashes
|
||||
//public void test_Can_Call_accumulate() {
|
||||
// dst = new Mat(gray1.rows(), gray1.cols(), Mat.CvType.CV_32FC1);
|
||||
// imgproc.accumulate(gray1, dst);
|
||||
// assertMatEqual(gray1, dst);
|
||||
//}
|
||||
|
||||
public void test_blur() {
|
||||
Size sz = new Size(3, 3);
|
||||
|
||||
imgproc.blur(gray0, dst, sz);
|
||||
assertMatEqual(gray0, dst);
|
||||
|
||||
imgproc.blur(gray255, dst, sz);
|
||||
assertMatEqual(gray255, dst);
|
||||
}
|
||||
|
||||
public void test_boxFilter() {
|
||||
Size sz = new Size(3, 3);
|
||||
imgproc.boxFilter(gray0, dst, 8, sz);
|
||||
assertMatEqual(gray0, dst);
|
||||
}
|
||||
}
|
30
modules/java/android_test/src/org/opencv_test/MatTest.java
Normal file
30
modules/java/android_test/src/org/opencv_test/MatTest.java
Normal file
@ -0,0 +1,30 @@
|
||||
package org.opencv_test;
|
||||
|
||||
import org.opencv.Mat;
|
||||
|
||||
|
||||
public class MatTest extends OpenCvTestCase {
|
||||
public void test_1() {
|
||||
super.test_1("Mat");
|
||||
}
|
||||
|
||||
public void test_Can_Create_Gray_Mat() {
|
||||
Mat m = new Mat(1, 1, Mat.CvType.CV_8UC1);
|
||||
assertFalse(m.empty());
|
||||
}
|
||||
|
||||
public void test_Can_Create_RBG_Mat() {
|
||||
Mat m = new Mat(1, 1, Mat.CvType.CV_8UC3);
|
||||
assertFalse(m.empty());
|
||||
}
|
||||
|
||||
public void test_Can_Get_Cols() {
|
||||
Mat m = new Mat(10, 10, Mat.CvType.CV_8UC1);
|
||||
assertEquals(10, m.rows());
|
||||
}
|
||||
|
||||
public void test_Can_Get_Rows() {
|
||||
Mat m = new Mat(10, 10, Mat.CvType.CV_8UC1);
|
||||
assertEquals(10, m.rows());
|
||||
}
|
||||
}
|
@ -0,0 +1,58 @@
|
||||
package org.opencv_test;
|
||||
|
||||
import org.opencv.Mat;
|
||||
import org.opencv.core;
|
||||
|
||||
import android.test.AndroidTestCase;
|
||||
import android.util.Log;
|
||||
|
||||
|
||||
public class OpenCvTestCase extends AndroidTestCase {
|
||||
|
||||
static String TAG = "OpenCV";
|
||||
|
||||
static Mat gray0;
|
||||
static Mat gray1;
|
||||
static Mat gray2;
|
||||
static Mat gray3;
|
||||
static Mat gray127;
|
||||
static Mat gray128;
|
||||
static Mat gray255;
|
||||
|
||||
static Mat dst;
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
//Log.e(TAG, "setUp");
|
||||
super.setUp();
|
||||
|
||||
gray0 = new Mat(10, 10, Mat.CvType.CV_8UC1); gray0.setTo(0.0);
|
||||
gray1 = new Mat(10, 10, Mat.CvType.CV_8UC1); gray1.setTo(1.0);
|
||||
gray2 = new Mat(10, 10, Mat.CvType.CV_8UC1); gray2.setTo(2.0);
|
||||
gray3 = new Mat(10, 10, Mat.CvType.CV_8UC1); gray3.setTo(3.0);
|
||||
gray127 = new Mat(10, 10, Mat.CvType.CV_8UC1); gray127.setTo(127.0);
|
||||
gray128 = new Mat(10, 10, Mat.CvType.CV_8UC1); gray128.setTo(128.0);
|
||||
gray255 = new Mat(10, 10, Mat.CvType.CV_8UC1); gray255.setTo(256.0);
|
||||
|
||||
dst = new Mat(0, 0, Mat.CvType.CV_8UC1);
|
||||
assertTrue(dst.empty());
|
||||
}
|
||||
|
||||
public static void assertMatEqual(Mat m1, Mat m2) {
|
||||
assertTrue(MatDifference(m1, m2) == 0.0);
|
||||
}
|
||||
|
||||
static public double MatDifference(Mat m1, Mat m2) {
|
||||
Mat cmp = new Mat(0, 0, Mat.CvType.CV_8UC1);
|
||||
core.compare(m1, m2, cmp, core.CMP_EQ);
|
||||
double num = 100.0 * (1.0 - Double.valueOf(core.countNonZero(cmp)) / Double.valueOf(cmp.rows() * cmp.cols()));
|
||||
|
||||
return num;
|
||||
}
|
||||
|
||||
public void test_1(String label) {
|
||||
Log.e(TAG, "================================================");
|
||||
Log.e(TAG, "=============== " + label);
|
||||
Log.e(TAG, "================================================");
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user