parent
64c8d8f2a0
commit
56e26b9624
13 changed files with 238 additions and 0 deletions
@ -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> |
@ -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> |
@ -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> |
@ -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 |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 2.5 KiB |
@ -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> |
@ -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> |
@ -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); |
||||||
|
} |
||||||
|
} |
@ -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