Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
78874c56
Commit
78874c56
authored
Oct 17, 2016
by
abratchik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix java wrapper autotests
parent
4c667727
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
324 additions
and
124 deletions
+324
-124
BRIEFDescriptorExtractorTest.java
...atures2d/misc/java/test/BRIEFDescriptorExtractorTest.java
+7
-7
BruteForceDescriptorMatcherTest.java
...res2d/misc/java/test/BruteForceDescriptorMatcherTest.java
+10
-11
BruteForceHammingDescriptorMatcherTest.java
...isc/java/test/BruteForceHammingDescriptorMatcherTest.java
+5
-6
BruteForceHammingLUTDescriptorMatcherTest.java
.../java/test/BruteForceHammingLUTDescriptorMatcherTest.java
+4
-5
BruteForceL1DescriptorMatcherTest.java
...s2d/misc/java/test/BruteForceL1DescriptorMatcherTest.java
+11
-12
BruteForceSL2DescriptorMatcherTest.java
...2d/misc/java/test/BruteForceSL2DescriptorMatcherTest.java
+10
-11
FASTFeatureDetectorTest.java
...es/features2d/misc/java/test/FASTFeatureDetectorTest.java
+8
-5
Features2dTest.java
modules/features2d/misc/java/test/Features2dTest.java
+5
-6
FlannBasedDescriptorMatcherTest.java
...res2d/misc/java/test/FlannBasedDescriptorMatcherTest.java
+12
-8
ORBDescriptorExtractorTest.java
...features2d/misc/java/test/ORBDescriptorExtractorTest.java
+13
-8
SIFTDescriptorExtractorTest.java
...eatures2d/misc/java/test/SIFTDescriptorExtractorTest.java
+9
-7
STARFeatureDetectorTest.java
...es/features2d/misc/java/test/STARFeatureDetectorTest.java
+10
-8
SURFDescriptorExtractorTest.java
...eatures2d/misc/java/test/SURFDescriptorExtractorTest.java
+12
-11
SURFFeatureDetectorTest.java
...es/features2d/misc/java/test/SURFFeatureDetectorTest.java
+25
-17
OpenCVTestCase.java
...java/android_test/src/org/opencv/test/OpenCVTestCase.java
+93
-0
OpenCVTestCase.java
...es/java/pure_test/src/org/opencv/test/OpenCVTestCase.java
+90
-2
No files found.
modules/features2d/misc/java/test/BRIEFDescriptorExtractorTest.java
View file @
78874c56
package
org
.
opencv
.
test
.
features2d
;
import
org.opencv.core.Core
;
import
org.opencv.core.CvType
;
import
org.opencv.core.Mat
;
import
org.opencv.core.MatOfKeyPoint
;
import
org.opencv.core.Point
;
import
org.opencv.core.Scalar
;
import
org.opencv.features2d.DescriptorExtractor
;
import
org.opencv.core.KeyPoint
;
import
org.opencv.test.OpenCVTestCase
;
import
org.opencv.test.OpenCVTestRunner
;
import
org.opencv.imgproc.Imgproc
;
import
org.opencv.features2d.Feature2D
;
public
class
BRIEFDescriptorExtractorTest
extends
OpenCVTestCase
{
DescriptorExtractor
extractor
;
Feature2D
extractor
;
int
matSize
;
private
Mat
getTestImg
()
{
...
...
@@ -28,7 +27,7 @@ public class BRIEFDescriptorExtractorTest extends OpenCVTestCase {
@Override
protected
void
setUp
()
throws
Exception
{
super
.
setUp
();
extractor
=
DescriptorExtractor
.
create
(
DescriptorExtractor
.
BRIEF
);
extractor
=
createAlgorythmInstance
(
XFEATURES2D_PACKAGE_NAME
+
"BriefDescriptorExtractor"
,
ALGORITHM_FACTORY_NAME
,
null
,
null
);
matSize
=
100
;
}
...
...
@@ -69,12 +68,13 @@ public class BRIEFDescriptorExtractorTest extends OpenCVTestCase {
}
public
void
testEmpty
()
{
assertFalse
(
extractor
.
empty
());
// assertFalse(extractor.empty());
fail
(
"Not yet implemented"
);
// BRIEF does not override empty() method
}
public
void
testRead
()
{
String
filename
=
OpenCVTestRunner
.
getTempFileName
(
"yml"
);
writeFile
(
filename
,
"%YAML
:1.0
\ndescriptorSize: 64\n"
);
writeFile
(
filename
,
"%YAML
1.0\n---
\ndescriptorSize: 64\n"
);
extractor
.
read
(
filename
);
...
...
@@ -95,7 +95,7 @@ public class BRIEFDescriptorExtractorTest extends OpenCVTestCase {
extractor
.
write
(
filename
);
String
truth
=
"%YAML
:1.0
\ndescriptorSize: 32\n"
;
String
truth
=
"%YAML
1.0\n---
\ndescriptorSize: 32\n"
;
assertEquals
(
truth
,
readFile
(
filename
));
}
...
...
modules/features2d/misc/java/test/BruteForceDescriptorMatcherTest.java
View file @
78874c56
...
...
@@ -4,7 +4,6 @@ import java.util.ArrayList;
import
java.util.Arrays
;
import
java.util.List
;
import
org.opencv.core.Core
;
import
org.opencv.core.CvType
;
import
org.opencv.core.Mat
;
import
org.opencv.core.MatOfDMatch
;
...
...
@@ -12,13 +11,12 @@ import org.opencv.core.MatOfKeyPoint;
import
org.opencv.core.Point
;
import
org.opencv.core.Scalar
;
import
org.opencv.core.DMatch
;
import
org.opencv.features2d.DescriptorExtractor
;
import
org.opencv.features2d.DescriptorMatcher
;
import
org.opencv.features2d.FeatureDetector
;
import
org.opencv.core.KeyPoint
;
import
org.opencv.test.OpenCVTestCase
;
import
org.opencv.test.OpenCVTestRunner
;
import
org.opencv.imgproc.Imgproc
;
import
org.opencv.features2d.Feature2D
;
public
class
BruteForceDescriptorMatcherTest
extends
OpenCVTestCase
{
...
...
@@ -39,12 +37,13 @@ public class BruteForceDescriptorMatcherTest extends OpenCVTestCase {
MatOfKeyPoint
keypoints
=
new
MatOfKeyPoint
();
Mat
descriptors
=
new
Mat
();
Feature
Detector
detector
=
FeatureDetector
.
create
(
FeatureDetector
.
SURF
);
DescriptorExtractor
extractor
=
DescriptorExtractor
.
create
(
DescriptorExtractor
.
SURF
);
Feature
2D
detector
=
createAlgorythmInstance
(
XFEATURES2D_PACKAGE_NAME
+
"SURF"
,
ALGORITHM_FACTORY_NAME
,
null
,
null
);
Feature2D
extractor
=
createAlgorythmInstance
(
XFEATURES2D_PACKAGE_NAME
+
"SURF"
,
ALGORITHM_FACTORY_NAME
,
null
,
null
);
String
filename
=
OpenCVTestRunner
.
getTempFileName
(
"yml"
);
writeFile
(
filename
,
"%YAML:1.0\nhessianThreshold: 8000.\noctaves: 3\noctaveLayers: 4\nupright: 0\n"
);
detector
.
read
(
filename
);
setProperty
(
detector
,
"hessianThreshold"
,
"double"
,
8000
);
setProperty
(
detector
,
"nOctaves"
,
"int"
,
3
);
setProperty
(
detector
,
"nOctaveLayers"
,
"int"
,
4
);
setProperty
(
detector
,
"upright"
,
"boolean"
,
false
);
detector
.
detect
(
img
,
keypoints
);
extractor
.
compute
(
img
,
keypoints
,
descriptors
);
...
...
@@ -65,7 +64,7 @@ public class BruteForceDescriptorMatcherTest extends OpenCVTestCase {
MatOfKeyPoint
keypoints
=
new
MatOfKeyPoint
(
new
KeyPoint
(
50
,
50
,
16
,
0
,
20000
,
1
,
-
1
),
new
KeyPoint
(
42
,
42
,
16
,
160
,
10000
,
1
,
-
1
));
Mat
descriptors
=
new
Mat
();
DescriptorExtractor
extractor
=
DescriptorExtractor
.
create
(
DescriptorExtractor
.
SURF
);
Feature2D
extractor
=
createAlgorythmInstance
(
XFEATURES2D_PACKAGE_NAME
+
"SURF"
,
ALGORITHM_FACTORY_NAME
,
null
,
null
);
extractor
.
compute
(
img
,
keypoints
,
descriptors
);
...
...
@@ -273,7 +272,7 @@ public class BruteForceDescriptorMatcherTest extends OpenCVTestCase {
public
void
testRead
()
{
String
filename
=
OpenCVTestRunner
.
getTempFileName
(
"yml"
);
writeFile
(
filename
,
"%YAML
:1.0
\n"
);
writeFile
(
filename
,
"%YAML
1.0\n---
\n"
);
matcher
.
read
(
filename
);
assertTrue
(
true
);
// BruteforceMatcher has no settings
...
...
@@ -288,7 +287,7 @@ public class BruteForceDescriptorMatcherTest extends OpenCVTestCase {
matcher
.
write
(
filename
);
String
truth
=
"%YAML
:1.0
\n"
;
String
truth
=
"%YAML
1.0\n---
\n"
;
assertEquals
(
truth
,
readFile
(
filename
));
}
...
...
modules/features2d/misc/java/test/BruteForceHammingDescriptorMatcherTest.java
View file @
78874c56
...
...
@@ -4,7 +4,6 @@ import java.util.ArrayList;
import
java.util.Arrays
;
import
java.util.List
;
import
org.opencv.core.Core
;
import
org.opencv.core.CvType
;
import
org.opencv.core.Mat
;
import
org.opencv.core.MatOfDMatch
;
...
...
@@ -12,12 +11,12 @@ import org.opencv.core.MatOfKeyPoint;
import
org.opencv.core.Point
;
import
org.opencv.core.Scalar
;
import
org.opencv.core.DMatch
;
import
org.opencv.features2d.DescriptorExtractor
;
import
org.opencv.features2d.DescriptorMatcher
;
import
org.opencv.features2d.FeatureDetector
;
import
org.opencv.test.OpenCVTestCase
;
import
org.opencv.test.OpenCVTestRunner
;
import
org.opencv.imgproc.Imgproc
;
import
org.opencv.features2d.Feature2D
;
public
class
BruteForceHammingDescriptorMatcherTest
extends
OpenCVTestCase
{
...
...
@@ -48,7 +47,7 @@ public class BruteForceHammingDescriptorMatcherTest extends OpenCVTestCase {
Mat
descriptors
=
new
Mat
();
FeatureDetector
detector
=
FeatureDetector
.
create
(
FeatureDetector
.
FAST
);
DescriptorExtractor
extractor
=
DescriptorExtractor
.
create
(
DescriptorExtractor
.
BRIEF
);
Feature2D
extractor
=
createAlgorythmInstance
(
XFEATURES2D_PACKAGE_NAME
+
"BriefDescriptorExtractor"
,
ALGORITHM_FACTORY_NAME
,
null
,
null
);
detector
.
detect
(
img
,
keypoints
);
extractor
.
compute
(
img
,
keypoints
,
descriptors
);
...
...
@@ -212,7 +211,7 @@ public class BruteForceHammingDescriptorMatcherTest extends OpenCVTestCase {
matcher
.
radiusMatch
(
query
,
train
,
matches
,
50
.
f
);
assertEquals
(
matches
.
size
(),
4
);
assertEquals
(
4
,
matches
.
size
()
);
assertTrue
(
matches
.
get
(
0
).
empty
());
assertMatEqual
(
matches
.
get
(
1
),
new
MatOfDMatch
(
truth
[
1
]),
EPS
);
assertMatEqual
(
matches
.
get
(
2
),
new
MatOfDMatch
(
truth
[
2
]),
EPS
);
...
...
@@ -241,7 +240,7 @@ public class BruteForceHammingDescriptorMatcherTest extends OpenCVTestCase {
public
void
testRead
()
{
String
filename
=
OpenCVTestRunner
.
getTempFileName
(
"yml"
);
writeFile
(
filename
,
"%YAML
:1.0
\n"
);
writeFile
(
filename
,
"%YAML
1.0\n---
\n"
);
matcher
.
read
(
filename
);
assertTrue
(
true
);
// BruteforceMatcher has no settings
...
...
@@ -256,7 +255,7 @@ public class BruteForceHammingDescriptorMatcherTest extends OpenCVTestCase {
matcher
.
write
(
filename
);
String
truth
=
"%YAML
:1.0
\n"
;
String
truth
=
"%YAML
1.0\n---
\n"
;
assertEquals
(
truth
,
readFile
(
filename
));
}
...
...
modules/features2d/misc/java/test/BruteForceHammingLUTDescriptorMatcherTest.java
View file @
78874c56
...
...
@@ -3,7 +3,6 @@ package org.opencv.test.features2d;
import
java.util.Arrays
;
import
java.util.List
;
import
org.opencv.core.Core
;
import
org.opencv.core.CvType
;
import
org.opencv.core.Mat
;
import
org.opencv.core.MatOfDMatch
;
...
...
@@ -11,12 +10,12 @@ import org.opencv.core.MatOfKeyPoint;
import
org.opencv.core.Point
;
import
org.opencv.core.Scalar
;
import
org.opencv.core.DMatch
;
import
org.opencv.features2d.DescriptorExtractor
;
import
org.opencv.features2d.DescriptorMatcher
;
import
org.opencv.features2d.FeatureDetector
;
import
org.opencv.test.OpenCVTestCase
;
import
org.opencv.test.OpenCVTestRunner
;
import
org.opencv.imgproc.Imgproc
;
import
org.opencv.features2d.Feature2D
;
public
class
BruteForceHammingLUTDescriptorMatcherTest
extends
OpenCVTestCase
{
...
...
@@ -47,7 +46,7 @@ public class BruteForceHammingLUTDescriptorMatcherTest extends OpenCVTestCase {
Mat
descriptors
=
new
Mat
();
FeatureDetector
detector
=
FeatureDetector
.
create
(
FeatureDetector
.
FAST
);
DescriptorExtractor
extractor
=
DescriptorExtractor
.
create
(
DescriptorExtractor
.
BRIEF
);
Feature2D
extractor
=
createAlgorythmInstance
(
XFEATURES2D_PACKAGE_NAME
+
"BriefDescriptorExtractor"
,
ALGORITHM_FACTORY_NAME
,
null
,
null
);
detector
.
detect
(
img
,
keypoints
);
extractor
.
compute
(
img
,
keypoints
,
descriptors
);
...
...
@@ -236,7 +235,7 @@ public class BruteForceHammingLUTDescriptorMatcherTest extends OpenCVTestCase {
public
void
testRead
()
{
String
filename
=
OpenCVTestRunner
.
getTempFileName
(
"yml"
);
writeFile
(
filename
,
"%YAML
:1.0
\n"
);
writeFile
(
filename
,
"%YAML
1.0\n---
\n"
);
matcher
.
read
(
filename
);
assertTrue
(
true
);
// BruteforceMatcher has no settings
...
...
@@ -251,7 +250,7 @@ public class BruteForceHammingLUTDescriptorMatcherTest extends OpenCVTestCase {
matcher
.
write
(
filename
);
String
truth
=
"%YAML
:1.0
\n"
;
String
truth
=
"%YAML
1.0\n---
\n"
;
assertEquals
(
truth
,
readFile
(
filename
));
}
...
...
modules/features2d/misc/java/test/BruteForceL1DescriptorMatcherTest.java
View file @
78874c56
...
...
@@ -3,7 +3,6 @@ package org.opencv.test.features2d;
import
java.util.Arrays
;
import
java.util.List
;
import
org.opencv.core.Core
;
import
org.opencv.core.CvType
;
import
org.opencv.core.Mat
;
import
org.opencv.core.MatOfDMatch
;
...
...
@@ -11,13 +10,12 @@ import org.opencv.core.MatOfKeyPoint;
import
org.opencv.core.Point
;
import
org.opencv.core.Scalar
;
import
org.opencv.core.DMatch
;
import
org.opencv.features2d.DescriptorExtractor
;
import
org.opencv.features2d.DescriptorMatcher
;
import
org.opencv.features2d.FeatureDetector
;
import
org.opencv.core.KeyPoint
;
import
org.opencv.test.OpenCVTestCase
;
import
org.opencv.test.OpenCVTestRunner
;
import
org.opencv.imgproc.Imgproc
;
import
org.opencv.features2d.Feature2D
;
public
class
BruteForceL1DescriptorMatcherTest
extends
OpenCVTestCase
{
...
...
@@ -38,13 +36,14 @@ public class BruteForceL1DescriptorMatcherTest extends OpenCVTestCase {
MatOfKeyPoint
keypoints
=
new
MatOfKeyPoint
();
Mat
descriptors
=
new
Mat
();
Feature
Detector
detector
=
FeatureDetector
.
create
(
FeatureDetector
.
SURF
);
DescriptorExtractor
extractor
=
DescriptorExtractor
.
create
(
DescriptorExtractor
.
SURF
);
Feature
2D
detector
=
createAlgorythmInstance
(
XFEATURES2D_PACKAGE_NAME
+
"SURF"
,
ALGORITHM_FACTORY_NAME
,
null
,
null
);
Feature2D
extractor
=
createAlgorythmInstance
(
XFEATURES2D_PACKAGE_NAME
+
"SURF"
,
ALGORITHM_FACTORY_NAME
,
null
,
null
);
String
filename
=
OpenCVTestRunner
.
getTempFileName
(
"yml"
);
//writeFile(filename, "%YAML:1.0\nhessianThreshold: 8000.\noctaves: 3\noctaveLayers: 4\nupright: 0\n");
writeFile
(
filename
,
"%YAML:1.0\nname: \"Feature2D.SURF\"\nextended: 1\nhessianThreshold: 8000.\nnOctaveLayers: 2\nnOctaves: 3\nupright: 0\n"
);
detector
.
read
(
filename
);
setProperty
(
detector
,
"extended"
,
"boolean"
,
true
);
setProperty
(
detector
,
"hessianThreshold"
,
"double"
,
8000
);
setProperty
(
detector
,
"nOctaveLayers"
,
"int"
,
2
);
setProperty
(
detector
,
"nOctaves"
,
"int"
,
3
);
setProperty
(
detector
,
"upright"
,
"boolean"
,
false
);
detector
.
detect
(
img
,
keypoints
);
extractor
.
compute
(
img
,
keypoints
,
descriptors
);
...
...
@@ -65,7 +64,7 @@ public class BruteForceL1DescriptorMatcherTest extends OpenCVTestCase {
MatOfKeyPoint
keypoints
=
new
MatOfKeyPoint
(
new
KeyPoint
(
50
,
50
,
16
,
0
,
20000
,
1
,
-
1
),
new
KeyPoint
(
42
,
42
,
16
,
160
,
10000
,
1
,
-
1
));
Mat
descriptors
=
new
Mat
();
DescriptorExtractor
extractor
=
DescriptorExtractor
.
create
(
DescriptorExtractor
.
SURF
);
Feature2D
extractor
=
createAlgorythmInstance
(
XFEATURES2D_PACKAGE_NAME
+
"SURF"
,
ALGORITHM_FACTORY_NAME
,
null
,
null
);
extractor
.
compute
(
img
,
keypoints
,
descriptors
);
...
...
@@ -247,7 +246,7 @@ public class BruteForceL1DescriptorMatcherTest extends OpenCVTestCase {
public
void
testRead
()
{
String
filename
=
OpenCVTestRunner
.
getTempFileName
(
"yml"
);
writeFile
(
filename
,
"%YAML
:1.0
\n"
);
writeFile
(
filename
,
"%YAML
1.0\n---
\n"
);
matcher
.
read
(
filename
);
assertTrue
(
true
);
// BruteforceMatcher has no settings
...
...
@@ -262,7 +261,7 @@ public class BruteForceL1DescriptorMatcherTest extends OpenCVTestCase {
matcher
.
write
(
filename
);
String
truth
=
"%YAML
:1.0
\n"
;
String
truth
=
"%YAML
1.0\n---
\n"
;
assertEquals
(
truth
,
readFile
(
filename
));
}
...
...
modules/features2d/misc/java/test/BruteForceSL2DescriptorMatcherTest.java
View file @
78874c56
...
...
@@ -3,7 +3,6 @@ package org.opencv.test.features2d;
import
java.util.Arrays
;
import
java.util.List
;
import
org.opencv.core.Core
;
import
org.opencv.core.CvType
;
import
org.opencv.core.Mat
;
import
org.opencv.core.MatOfDMatch
;
...
...
@@ -11,13 +10,12 @@ import org.opencv.core.MatOfKeyPoint;
import
org.opencv.core.Point
;
import
org.opencv.core.Scalar
;
import
org.opencv.core.DMatch
;
import
org.opencv.features2d.DescriptorExtractor
;
import
org.opencv.features2d.DescriptorMatcher
;
import
org.opencv.features2d.FeatureDetector
;
import
org.opencv.core.KeyPoint
;
import
org.opencv.test.OpenCVTestCase
;
import
org.opencv.test.OpenCVTestRunner
;
import
org.opencv.imgproc.Imgproc
;
import
org.opencv.features2d.Feature2D
;
public
class
BruteForceSL2DescriptorMatcherTest
extends
OpenCVTestCase
{
...
...
@@ -44,12 +42,13 @@ public class BruteForceSL2DescriptorMatcherTest extends OpenCVTestCase {
MatOfKeyPoint
keypoints
=
new
MatOfKeyPoint
();
Mat
descriptors
=
new
Mat
();
Feature
Detector
detector
=
FeatureDetector
.
create
(
FeatureDetector
.
SURF
);
DescriptorExtractor
extractor
=
DescriptorExtractor
.
create
(
DescriptorExtractor
.
SURF
);
Feature
2D
detector
=
createAlgorythmInstance
(
XFEATURES2D_PACKAGE_NAME
+
"SURF"
,
ALGORITHM_FACTORY_NAME
,
null
,
null
);
Feature2D
extractor
=
createAlgorythmInstance
(
XFEATURES2D_PACKAGE_NAME
+
"SURF"
,
ALGORITHM_FACTORY_NAME
,
null
,
null
);
String
filename
=
OpenCVTestRunner
.
getTempFileName
(
"yml"
);
writeFile
(
filename
,
"%YAML:1.0\nhessianThreshold: 8000.\noctaves: 3\noctaveLayers: 4\nupright: 0\n"
);
detector
.
read
(
filename
);
setProperty
(
detector
,
"hessianThreshold"
,
"double"
,
8000
);
setProperty
(
detector
,
"nOctaves"
,
"int"
,
3
);
setProperty
(
detector
,
"nOctaveLayers"
,
"int"
,
4
);
setProperty
(
detector
,
"upright"
,
"boolean"
,
false
);
detector
.
detect
(
img
,
keypoints
);
extractor
.
compute
(
img
,
keypoints
,
descriptors
);
...
...
@@ -70,7 +69,7 @@ public class BruteForceSL2DescriptorMatcherTest extends OpenCVTestCase {
MatOfKeyPoint
keypoints
=
new
MatOfKeyPoint
(
new
KeyPoint
(
50
,
50
,
16
,
0
,
20000
,
1
,
-
1
),
new
KeyPoint
(
42
,
42
,
16
,
160
,
10000
,
1
,
-
1
));
Mat
descriptors
=
new
Mat
();
DescriptorExtractor
extractor
=
DescriptorExtractor
.
create
(
DescriptorExtractor
.
SURF
);
Feature2D
extractor
=
createAlgorythmInstance
(
XFEATURES2D_PACKAGE_NAME
+
"SURF"
,
ALGORITHM_FACTORY_NAME
,
null
,
null
);
extractor
.
compute
(
img
,
keypoints
,
descriptors
);
...
...
@@ -259,7 +258,7 @@ public class BruteForceSL2DescriptorMatcherTest extends OpenCVTestCase {
public
void
testRead
()
{
String
filename
=
OpenCVTestRunner
.
getTempFileName
(
"yml"
);
writeFile
(
filename
,
"%YAML
:1.0
\n"
);
writeFile
(
filename
,
"%YAML
1.0\n---
\n"
);
matcher
.
read
(
filename
);
assertTrue
(
true
);
// BruteforceMatcher has no settings
...
...
@@ -274,7 +273,7 @@ public class BruteForceSL2DescriptorMatcherTest extends OpenCVTestCase {
matcher
.
write
(
filename
);
String
truth
=
"%YAML
:1.0
\n"
;
String
truth
=
"%YAML
1.0\n---
\n"
;
assertEquals
(
truth
,
readFile
(
filename
));
}
...
...
modules/features2d/misc/java/test/FASTFeatureDetectorTest.java
View file @
78874c56
...
...
@@ -76,20 +76,21 @@ public class FASTFeatureDetectorTest extends OpenCVTestCase {
}
public
void
testEmpty
()
{
assertFalse
(
detector
.
empty
());
// assertFalse(detector.empty());
fail
(
"Not yet implemented"
);
//FAST does not override empty() method
}
public
void
testRead
()
{
String
filename
=
OpenCVTestRunner
.
getTempFileName
(
"yml"
);
writeFile
(
filename
,
"%YAML
:1.0
\nthreshold: 130\nnonmaxSuppression: 1\n"
);
writeFile
(
filename
,
"%YAML
1.0\n---
\nthreshold: 130\nnonmaxSuppression: 1\n"
);
detector
.
read
(
filename
);
MatOfKeyPoint
keypoints1
=
new
MatOfKeyPoint
();
detector
.
detect
(
grayChess
,
keypoints1
);
writeFile
(
filename
,
"%YAML
:1.0
\nthreshold: 150\nnonmaxSuppression: 1\n"
);
writeFile
(
filename
,
"%YAML
1.0\n---
\nthreshold: 150\nnonmaxSuppression: 1\n"
);
detector
.
read
(
filename
);
MatOfKeyPoint
keypoints2
=
new
MatOfKeyPoint
();
...
...
@@ -126,7 +127,8 @@ public class FASTFeatureDetectorTest extends OpenCVTestCase {
detector
.
write
(
filename
);
String
truth
=
"<?xml version=\"1.0\"?>\n<opencv_storage>\n<name>Feature2D.FAST</name>\n<nonmaxSuppression>1</nonmaxSuppression>\n<threshold>10</threshold>\n<type>2</type>\n</opencv_storage>\n"
;
// String truth = "<?xml version=\"1.0\"?>\n<opencv_storage>\n<name>Feature2D.FAST</name>\n<nonmaxSuppression>1</nonmaxSuppression>\n<threshold>10</threshold>\n<type>2</type>\n</opencv_storage>\n";
String
truth
=
"<?xml version=\"1.0\"?>\n<opencv_storage>\n</opencv_storage>\n"
;
String
data
=
readFile
(
filename
);
//Log.d("qqq", "\"" + data + "\"");
assertEquals
(
truth
,
data
);
...
...
@@ -137,7 +139,8 @@ public class FASTFeatureDetectorTest extends OpenCVTestCase {
detector
.
write
(
filename
);
String
truth
=
"%YAML:1.0\nname: \"Feature2D.FAST\"\nnonmaxSuppression: 1\nthreshold: 10\ntype: 2\n"
;
// String truth = "%YAML 1.0\n---\nname: \"Feature2D.FAST\"\nnonmaxSuppression: 1\nthreshold: 10\ntype: 2\n";
String
truth
=
"%YAML 1.0\n---\n"
;
String
data
=
readFile
(
filename
);
//Log.d("qqq", "\"" + data + "\"");
...
...
modules/features2d/misc/java/test/Features2dTest.java
View file @
78874c56
...
...
@@ -13,14 +13,13 @@ import org.opencv.core.MatOfPoint2f;
import
org.opencv.core.Point
;
import
org.opencv.core.Range
;
import
org.opencv.core.DMatch
;
import
org.opencv.features2d.DescriptorExtractor
;
import
org.opencv.features2d.DescriptorMatcher
;
import
org.opencv.features2d.FeatureDetector
;
import
org.opencv.features2d.Features2d
;
import
org.opencv.core.KeyPoint
;
import
org.opencv.imgcodecs.Imgcodecs
;
import
org.opencv.test.OpenCVTestCase
;
import
org.opencv.test.OpenCVTestRunner
;
import
org.opencv.features2d.Feature2D
;
public
class
Features2dTest
extends
OpenCVTestCase
{
...
...
@@ -78,11 +77,11 @@ public class Features2dTest extends OpenCVTestCase {
public
void
testPTOD
()
{
String
detectorCfg
=
"%YAML
:1.0
\nhessianThreshold: 4000.\noctaves: 3\noctaveLayers: 4\nupright: 0\n"
;
String
extractorCfg
=
"%YAML
:1.0
\nnOctaves: 4\nnOctaveLayers: 2\nextended: 0\nupright: 0\n"
;
String
detectorCfg
=
"%YAML
1.0\n---
\nhessianThreshold: 4000.\noctaves: 3\noctaveLayers: 4\nupright: 0\n"
;
String
extractorCfg
=
"%YAML
1.0\n---
\nnOctaves: 4\nnOctaveLayers: 2\nextended: 0\nupright: 0\n"
;
Feature
Detector
detector
=
FeatureDetector
.
create
(
FeatureDetector
.
SURF
);
DescriptorExtractor
extractor
=
DescriptorExtractor
.
create
(
DescriptorExtractor
.
SURF
);
Feature
2D
detector
=
createAlgorythmInstance
(
XFEATURES2D_PACKAGE_NAME
+
"SURF"
,
ALGORITHM_FACTORY_NAME
,
null
,
null
);
Feature2D
extractor
=
createAlgorythmInstance
(
XFEATURES2D_PACKAGE_NAME
+
"SURF"
,
ALGORITHM_FACTORY_NAME
,
null
,
null
);
DescriptorMatcher
matcher
=
DescriptorMatcher
.
create
(
DescriptorMatcher
.
BRUTEFORCE
);
String
detectorCfgFile
=
OpenCVTestRunner
.
getTempFileName
(
"yml"
);
...
...
modules/features2d/misc/java/test/FlannBasedDescriptorMatcherTest.java
View file @
78874c56
...
...
@@ -19,11 +19,13 @@ import org.opencv.core.KeyPoint;
import
org.opencv.test.OpenCVTestCase
;
import
org.opencv.test.OpenCVTestRunner
;
import
org.opencv.imgproc.Imgproc
;
import
org.opencv.features2d.Feature2D
;
public
class
FlannBasedDescriptorMatcherTest
extends
OpenCVTestCase
{
static
final
String
xmlParamsDefault
=
"<?xml version=\"1.0\"?>\n"
+
"<opencv_storage>\n"
+
"<format>3</format>\n"
+
"<indexParams>\n"
+
" <_>\n"
+
" <name>algorithm</name>\n"
...
...
@@ -47,7 +49,8 @@ public class FlannBasedDescriptorMatcherTest extends OpenCVTestCase {
+
" <type>15</type>\n"
+
" <value>1</value></_></searchParams>\n"
+
"</opencv_storage>\n"
;
static
final
String
ymlParamsDefault
=
"%YAML:1.0\n"
static
final
String
ymlParamsDefault
=
"%YAML 1.0\n---\n"
+
"format: 3\n"
+
"indexParams:\n"
+
" -\n"
+
" name: algorithm\n"
...
...
@@ -70,7 +73,8 @@ public class FlannBasedDescriptorMatcherTest extends OpenCVTestCase {
+
" name: sorted\n"
+
" type: 15\n"
+
" value: 1\n"
;
static
final
String
ymlParamsModified
=
"%YAML:1.0\n"
static
final
String
ymlParamsModified
=
"%YAML 1.0\n---\n"
+
"format: 3\n"
+
"indexParams:\n"
+
" -\n"
+
" name: algorithm\n"
...
...
@@ -113,12 +117,12 @@ public class FlannBasedDescriptorMatcherTest extends OpenCVTestCase {
MatOfKeyPoint
keypoints
=
new
MatOfKeyPoint
();
Mat
descriptors
=
new
Mat
();
Feature
Detector
detector
=
FeatureDetector
.
create
(
FeatureDetector
.
SURF
);
DescriptorExtractor
extractor
=
DescriptorExtractor
.
create
(
DescriptorExtractor
.
SURF
);
Feature
2D
detector
=
createAlgorythmInstance
(
XFEATURES2D_PACKAGE_NAME
+
"SURF"
,
ALGORITHM_FACTORY_NAME
,
null
,
null
);
Feature2D
extractor
=
createAlgorythmInstance
(
XFEATURES2D_PACKAGE_NAME
+
"SURF"
,
ALGORITHM_FACTORY_NAME
,
null
,
null
);
String
filename
=
OpenCVTestRunner
.
getTempFileName
(
"yml"
);
writeFile
(
filename
,
"%YAML:1.0\nhessianThreshold: 8000.\noctaves: 3\noctaveLayers: 4\nupright: 0\n"
);
detector
.
read
(
filenam
e
);
setProperty
(
detector
,
"hessianThreshold"
,
"double"
,
8000
);
setProperty
(
detector
,
"nOctaves"
,
"int"
,
3
);
setProperty
(
detector
,
"upright"
,
"boolean"
,
fals
e
);
detector
.
detect
(
img
,
keypoints
);
extractor
.
compute
(
img
,
keypoints
,
descriptors
);
...
...
@@ -139,7 +143,7 @@ public class FlannBasedDescriptorMatcherTest extends OpenCVTestCase {
MatOfKeyPoint
keypoints
=
new
MatOfKeyPoint
(
new
KeyPoint
(
50
,
50
,
16
,
0
,
20000
,
1
,
-
1
),
new
KeyPoint
(
42
,
42
,
16
,
160
,
10000
,
1
,
-
1
));
Mat
descriptors
=
new
Mat
();
DescriptorExtractor
extractor
=
DescriptorExtractor
.
create
(
DescriptorExtractor
.
SURF
);
Feature2D
extractor
=
createAlgorythmInstance
(
XFEATURES2D_PACKAGE_NAME
+
"SURF"
,
ALGORITHM_FACTORY_NAME
,
null
,
null
);
extractor
.
compute
(
img
,
keypoints
,
descriptors
);
...
...
modules/features2d/misc/java/test/ORBDescriptorExtractorTest.java
View file @
78874c56
...
...
@@ -8,13 +8,14 @@ import org.opencv.core.Point;
import
org.opencv.core.Scalar
;
import
org.opencv.features2d.DescriptorExtractor
;
import
org.opencv.core.KeyPoint
;
import
org.opencv.features2d.ORB
;
import
org.opencv.test.OpenCVTestCase
;
import
org.opencv.test.OpenCVTestRunner
;
import
org.opencv.imgproc.Imgproc
;
public
class
ORBDescriptorExtractorTest
extends
OpenCVTestCase
{
DescriptorExtractor
extractor
;
ORB
extractor
;
int
matSize
;
public
static
void
assertDescriptorsClose
(
Mat
expected
,
Mat
actual
,
int
allowedDistance
)
{
...
...
@@ -33,7 +34,7 @@ public class ORBDescriptorExtractorTest extends OpenCVTestCase {
@Override
protected
void
setUp
()
throws
Exception
{
super
.
setUp
();
extractor
=
DescriptorExtractor
.
create
(
DescriptorExtractor
.
ORB
);
extractor
=
ORB
.
create
(
);
matSize
=
100
;
}
...
...
@@ -71,7 +72,8 @@ public class ORBDescriptorExtractorTest extends OpenCVTestCase {
}
public
void
testEmpty
()
{
assertFalse
(
extractor
.
empty
());
// assertFalse(extractor.empty());
fail
(
"Not yet implemented"
);
// ORB does not override empty() method
}
public
void
testRead
()
{
...
...
@@ -80,9 +82,10 @@ public class ORBDescriptorExtractorTest extends OpenCVTestCase {
Mat
img
=
getTestImg
();
Mat
descriptors
=
new
Mat
();
String
filename
=
OpenCVTestRunner
.
getTempFileName
(
"yml"
);
writeFile
(
filename
,
"%YAML:1.0\nscaleFactor: 1.1\nnLevels: 3\nfirstLevel: 0\nedgeThreshold: 31\npatchSize: 31\n"
);
extractor
.
read
(
filename
);
// String filename = OpenCVTestRunner.getTempFileName("yml");
// writeFile(filename, "%YAML 1.0\n---\nscaleFactor: 1.1\nnLevels: 3\nfirstLevel: 0\nedgeThreshold: 31\npatchSize: 31\n");
// extractor.read(filename);
extractor
=
ORB
.
create
(
500
,
1.1f
,
3
,
31
,
0
,
2
,
ORB
.
HARRIS_SCORE
,
31
,
20
);
extractor
.
compute
(
img
,
keypoints
,
descriptors
);
...
...
@@ -100,7 +103,8 @@ public class ORBDescriptorExtractorTest extends OpenCVTestCase {
extractor
.
write
(
filename
);
String
truth
=
"<?xml version=\"1.0\"?>\n<opencv_storage>\n<name>Feature2D.ORB</name>\n<WTA_K>2</WTA_K>\n<edgeThreshold>31</edgeThreshold>\n<firstLevel>0</firstLevel>\n<nFeatures>500</nFeatures>\n<nLevels>8</nLevels>\n<patchSize>31</patchSize>\n<scaleFactor>1.2000000476837158e+00</scaleFactor>\n<scoreType>0</scoreType>\n</opencv_storage>\n"
;
// String truth = "<?xml version=\"1.0\"?>\n<opencv_storage>\n<name>Feature2D.ORB</name>\n<WTA_K>2</WTA_K>\n<edgeThreshold>31</edgeThreshold>\n<firstLevel>0</firstLevel>\n<nFeatures>500</nFeatures>\n<nLevels>8</nLevels>\n<patchSize>31</patchSize>\n<scaleFactor>1.2000000476837158e+00</scaleFactor>\n<scoreType>0</scoreType>\n</opencv_storage>\n";
String
truth
=
"<?xml version=\"1.0\"?>\n<opencv_storage>\n</opencv_storage>\n"
;
String
actual
=
readFile
(
filename
);
actual
=
actual
.
replaceAll
(
"e\\+000"
,
"e+00"
);
// NOTE: workaround for different platforms double representation
assertEquals
(
truth
,
actual
);
...
...
@@ -111,7 +115,8 @@ public class ORBDescriptorExtractorTest extends OpenCVTestCase {
extractor
.
write
(
filename
);
String
truth
=
"%YAML:1.0\nname: \"Feature2D.ORB\"\nWTA_K: 2\nedgeThreshold: 31\nfirstLevel: 0\nnFeatures: 500\nnLevels: 8\npatchSize: 31\nscaleFactor: 1.2000000476837158e+00\nscoreType: 0\n"
;
// String truth = "%YAML 1.0\n---\nname: \"Feature2D.ORB\"\nWTA_K: 2\nedgeThreshold: 31\nfirstLevel: 0\nnFeatures: 500\nnLevels: 8\npatchSize: 31\nscaleFactor: 1.2000000476837158e+00\nscoreType: 0\n";
String
truth
=
"%YAML 1.0\n---\n"
;
String
actual
=
readFile
(
filename
);
actual
=
actual
.
replaceAll
(
"e\\+000"
,
"e+00"
);
// NOTE: workaround for different platforms double representation
assertEquals
(
truth
,
actual
);
...
...
modules/features2d/misc/java/test/SIFTDescriptorExtractorTest.java
View file @
78874c56
package
org
.
opencv
.
test
.
features2d
;
import
org.opencv.core.Core
;
import
org.opencv.core.CvType
;
import
org.opencv.core.Mat
;
import
org.opencv.core.MatOfKeyPoint
;
import
org.opencv.core.Point
;
import
org.opencv.core.Scalar
;
import
org.opencv.features2d.DescriptorExtractor
;
import
org.opencv.core.KeyPoint
;
import
org.opencv.test.OpenCVTestCase
;
import
org.opencv.test.OpenCVTestRunner
;
import
org.opencv.imgproc.Imgproc
;
import
org.opencv.features2d.Feature2D
;
public
class
SIFTDescriptorExtractorTest
extends
OpenCVTestCase
{
DescriptorExtractor
extractor
;
Feature2D
extractor
;
KeyPoint
keypoint
;
int
matSize
;
Mat
truth
;
...
...
@@ -30,7 +29,7 @@ public class SIFTDescriptorExtractorTest extends OpenCVTestCase {
@Override
protected
void
setUp
()
throws
Exception
{
super
.
setUp
();
extractor
=
DescriptorExtractor
.
create
(
DescriptorExtractor
.
SIFT
);
extractor
=
createAlgorythmInstance
(
XFEATURES2D_PACKAGE_NAME
+
"SIFT"
,
ALGORITHM_FACTORY_NAME
,
null
,
null
);
keypoint
=
new
KeyPoint
(
55.775577545166016f
,
44.224422454833984f
,
16
,
9.754629f
,
8617.863f
,
1
,
-
1
);
matSize
=
100
;
truth
=
new
Mat
(
1
,
128
,
CvType
.
CV_32FC1
)
{
...
...
@@ -75,7 +74,8 @@ public class SIFTDescriptorExtractorTest extends OpenCVTestCase {
}
public
void
testEmpty
()
{
assertFalse
(
extractor
.
empty
());
// assertFalse(extractor.empty());
fail
(
"Not yet implemented"
);
//SIFT does not override empty() method
}
public
void
testRead
()
{
...
...
@@ -87,7 +87,8 @@ public class SIFTDescriptorExtractorTest extends OpenCVTestCase {
extractor
.
write
(
filename
);
String
truth
=
"<?xml version=\"1.0\"?>\n<opencv_storage>\n<name>Feature2D.SIFT</name>\n<contrastThreshold>4.0000000000000001e-02</contrastThreshold>\n<edgeThreshold>10.</edgeThreshold>\n<nFeatures>0</nFeatures>\n<nOctaveLayers>3</nOctaveLayers>\n<sigma>1.6000000000000001e+00</sigma>\n</opencv_storage>\n"
;
// String truth = "<?xml version=\"1.0\"?>\n<opencv_storage>\n<name>Feature2D.SIFT</name>\n<contrastThreshold>4.0000000000000001e-02</contrastThreshold>\n<edgeThreshold>10.</edgeThreshold>\n<nFeatures>0</nFeatures>\n<nOctaveLayers>3</nOctaveLayers>\n<sigma>1.6000000000000001e+00</sigma>\n</opencv_storage>\n";
String
truth
=
"<?xml version=\"1.0\"?>\n<opencv_storage>\n</opencv_storage>\n"
;
String
actual
=
readFile
(
filename
);
actual
=
actual
.
replaceAll
(
"e([+-])0(\\d\\d)"
,
"e$1$2"
);
// NOTE: workaround for different platforms double representation
assertEquals
(
truth
,
actual
);
...
...
@@ -98,7 +99,8 @@ public class SIFTDescriptorExtractorTest extends OpenCVTestCase {
extractor
.
write
(
filename
);
String
truth
=
"%YAML:1.0\nname: \"Feature2D.SIFT\"\ncontrastThreshold: 4.0000000000000001e-02\nedgeThreshold: 10.\nnFeatures: 0\nnOctaveLayers: 3\nsigma: 1.6000000000000001e+00\n"
;
// String truth = "%YAML 1.0\n---\nname: \"Feature2D.SIFT\"\ncontrastThreshold: 4.0000000000000001e-02\nedgeThreshold: 10.\nnFeatures: 0\nnOctaveLayers: 3\nsigma: 1.6000000000000001e+00\n";
String
truth
=
"%YAML 1.0\n---\n"
;
String
actual
=
readFile
(
filename
);
actual
=
actual
.
replaceAll
(
"e([+-])0(\\d\\d)"
,
"e$1$2"
);
// NOTE: workaround for different platforms double representation
assertEquals
(
truth
,
actual
);
...
...
modules/features2d/misc/java/test/STARFeatureDetectorTest.java
View file @
78874c56
...
...
@@ -2,21 +2,20 @@ package org.opencv.test.features2d;
import
java.util.Arrays
;
import
org.opencv.core.Core
;
import
org.opencv.core.CvType
;
import
org.opencv.core.Mat
;
import
org.opencv.core.MatOfKeyPoint
;
import
org.opencv.core.Point
;
import
org.opencv.core.Scalar
;
import
org.opencv.features2d.FeatureDetector
;
import
org.opencv.core.KeyPoint
;
import
org.opencv.test.OpenCVTestCase
;
import
org.opencv.test.OpenCVTestRunner
;
import
org.opencv.imgproc.Imgproc
;
import
org.opencv.features2d.Feature2D
;
public
class
STARFeatureDetectorTest
extends
OpenCVTestCase
{
Feature
Detector
detector
;
Feature
2D
detector
;
int
matSize
;
KeyPoint
[]
truth
;
...
...
@@ -44,7 +43,7 @@ public class STARFeatureDetectorTest extends OpenCVTestCase {
protected
void
setUp
()
throws
Exception
{
super
.
setUp
();
detector
=
FeatureDetector
.
create
(
FeatureDetector
.
STAR
);
detector
=
createAlgorythmInstance
(
XFEATURES2D_PACKAGE_NAME
+
"StarDetector"
,
ALGORITHM_FACTORY_NAME
,
null
,
null
);
matSize
=
200
;
truth
=
new
KeyPoint
[]
{
new
KeyPoint
(
95
,
80
,
22
,
-
1
,
31.5957f
,
0
,
-
1
),
...
...
@@ -91,7 +90,8 @@ public class STARFeatureDetectorTest extends OpenCVTestCase {
}
public
void
testEmpty
()
{
assertFalse
(
detector
.
empty
());
// assertFalse(detector.empty());
fail
(
"Not yet implemented"
);
}
public
void
testRead
()
{
...
...
@@ -101,7 +101,7 @@ public class STARFeatureDetectorTest extends OpenCVTestCase {
detector
.
detect
(
img
,
keypoints1
);
String
filename
=
OpenCVTestRunner
.
getTempFileName
(
"yml"
);
writeFile
(
filename
,
"%YAML
:1.0
\nmaxSize: 45\nresponseThreshold: 150\nlineThresholdProjected: 10\nlineThresholdBinarized: 8\nsuppressNonmaxSize: 5\n"
);
writeFile
(
filename
,
"%YAML
1.0\n---
\nmaxSize: 45\nresponseThreshold: 150\nlineThresholdProjected: 10\nlineThresholdBinarized: 8\nsuppressNonmaxSize: 5\n"
);
detector
.
read
(
filename
);
MatOfKeyPoint
keypoints2
=
new
MatOfKeyPoint
();
...
...
@@ -115,7 +115,8 @@ public class STARFeatureDetectorTest extends OpenCVTestCase {
detector
.
write
(
filename
);
String
truth
=
"<?xml version=\"1.0\"?>\n<opencv_storage>\n<name>Feature2D.STAR</name>\n<lineThresholdBinarized>8</lineThresholdBinarized>\n<lineThresholdProjected>10</lineThresholdProjected>\n<maxSize>45</maxSize>\n<responseThreshold>30</responseThreshold>\n<suppressNonmaxSize>5</suppressNonmaxSize>\n</opencv_storage>\n"
;
// String truth = "<?xml version=\"1.0\"?>\n<opencv_storage>\n<name>Feature2D.STAR</name>\n<lineThresholdBinarized>8</lineThresholdBinarized>\n<lineThresholdProjected>10</lineThresholdProjected>\n<maxSize>45</maxSize>\n<responseThreshold>30</responseThreshold>\n<suppressNonmaxSize>5</suppressNonmaxSize>\n</opencv_storage>\n";
String
truth
=
"<?xml version=\"1.0\"?>\n<opencv_storage>\n</opencv_storage>\n"
;
assertEquals
(
truth
,
readFile
(
filename
));
}
...
...
@@ -124,7 +125,8 @@ public class STARFeatureDetectorTest extends OpenCVTestCase {
detector
.
write
(
filename
);
String
truth
=
"%YAML:1.0\nname: \"Feature2D.STAR\"\nlineThresholdBinarized: 8\nlineThresholdProjected: 10\nmaxSize: 45\nresponseThreshold: 30\nsuppressNonmaxSize: 5\n"
;
// String truth = "%YAML 1.0\n---\nname: \"Feature2D.STAR\"\nlineThresholdBinarized: 8\nlineThresholdProjected: 10\nmaxSize: 45\nresponseThreshold: 30\nsuppressNonmaxSize: 5\n";
String
truth
=
"%YAML 1.0\n---\n"
;
assertEquals
(
truth
,
readFile
(
filename
));
}
...
...
modules/features2d/misc/java/test/SURFDescriptorExtractorTest.java
View file @
78874c56
package
org
.
opencv
.
test
.
features2d
;
import
org.opencv.core.Core
;
import
org.opencv.core.CvType
;
import
org.opencv.core.Mat
;
import
org.opencv.core.MatOfKeyPoint
;
import
org.opencv.core.Point
;
import
org.opencv.core.Scalar
;
import
org.opencv.features2d.DescriptorExtractor
;
import
org.opencv.core.KeyPoint
;
import
org.opencv.test.OpenCVTestCase
;
import
org.opencv.test.OpenCVTestRunner
;
import
org.opencv.imgproc.Imgproc
;
import
org.opencv.features2d.Feature2D
;
public
class
SURFDescriptorExtractorTest
extends
OpenCVTestCase
{
DescriptorExtractor
extractor
;
Feature2D
extractor
;
int
matSize
;
private
Mat
getTestImg
()
{
...
...
@@ -29,10 +28,9 @@ public class SURFDescriptorExtractorTest extends OpenCVTestCase {
protected
void
setUp
()
throws
Exception
{
super
.
setUp
();
extractor
=
DescriptorExtractor
.
create
(
DescriptorExtractor
.
SURF
);
String
filename
=
OpenCVTestRunner
.
getTempFileName
(
"yml"
);
writeFile
(
filename
,
"%YAML:1.0\nextended: 1\nhessianThreshold: 100.\nnOctaveLayers: 2\nnOctaves: 4\nupright: 0"
);
extractor
.
read
(
filename
);
Class
[]
cParams
=
{
double
.
class
,
int
.
class
,
int
.
class
,
boolean
.
class
,
boolean
.
class
};
Object
[]
oValues
=
{
100
,
2
,
4
,
true
,
false
};
extractor
=
createAlgorythmInstance
(
XFEATURES2D_PACKAGE_NAME
+
"SURF"
,
ALGORITHM_FACTORY_NAME
,
cParams
,
oValues
);
matSize
=
100
;
}
...
...
@@ -85,12 +83,13 @@ public class SURFDescriptorExtractorTest extends OpenCVTestCase {
}
public
void
testEmpty
()
{
assertFalse
(
extractor
.
empty
());
// assertFalse(extractor.empty());
fail
(
"Not yet implemented"
);
}
public
void
testRead
()
{
String
filename
=
OpenCVTestRunner
.
getTempFileName
(
"yml"
);
writeFile
(
filename
,
"%YAML
:1.0
\nnOctaves: 4\nnOctaveLayers: 2\nextended: 1\nupright: 0\n"
);
writeFile
(
filename
,
"%YAML
1.0\n---
\nnOctaves: 4\nnOctaveLayers: 2\nextended: 1\nupright: 0\n"
);
extractor
.
read
(
filename
);
...
...
@@ -102,7 +101,8 @@ public class SURFDescriptorExtractorTest extends OpenCVTestCase {
extractor
.
write
(
filename
);
String
truth
=
"<?xml version=\"1.0\"?>\n<opencv_storage>\n<name>Feature2D.SURF</name>\n<extended>1</extended>\n<hessianThreshold>100.</hessianThreshold>\n<nOctaveLayers>2</nOctaveLayers>\n<nOctaves>4</nOctaves>\n<upright>0</upright>\n</opencv_storage>\n"
;
// String truth = "<?xml version=\"1.0\"?>\n<opencv_storage>\n<name>Feature2D.SURF</name>\n<extended>1</extended>\n<hessianThreshold>100.</hessianThreshold>\n<nOctaveLayers>2</nOctaveLayers>\n<nOctaves>4</nOctaves>\n<upright>0</upright>\n</opencv_storage>\n";
String
truth
=
"<?xml version=\"1.0\"?>\n<opencv_storage>\n</opencv_storage>\n"
;
assertEquals
(
truth
,
readFile
(
filename
));
}
...
...
@@ -111,7 +111,8 @@ public class SURFDescriptorExtractorTest extends OpenCVTestCase {
extractor
.
write
(
filename
);
String
truth
=
"%YAML:1.0\nname: \"Feature2D.SURF\"\nextended: 1\nhessianThreshold: 100.\nnOctaveLayers: 2\nnOctaves: 4\nupright: 0\n"
;
// String truth = "%YAML 1.0\n---\nname: \"Feature2D.SURF\"\nextended: 1\nhessianThreshold: 100.\nnOctaveLayers: 2\nnOctaves: 4\nupright: 0\n";
String
truth
=
"%YAML 1.0\n---\n"
;
assertEquals
(
truth
,
readFile
(
filename
));
}
...
...
modules/features2d/misc/java/test/SURFFeatureDetectorTest.java
View file @
78874c56
...
...
@@ -6,21 +6,20 @@ import java.util.Collections;
import
java.util.Comparator
;
import
java.util.List
;
import
org.opencv.core.Core
;
import
org.opencv.core.CvType
;
import
org.opencv.core.Mat
;
import
org.opencv.core.MatOfKeyPoint
;
import
org.opencv.core.Point
;
import
org.opencv.core.Scalar
;
import
org.opencv.features2d.FeatureDetector
;
import
org.opencv.core.KeyPoint
;
import
org.opencv.test.OpenCVTestCase
;
import
org.opencv.test.OpenCVTestRunner
;
import
org.opencv.imgproc.Imgproc
;
import
org.opencv.features2d.Feature2D
;
public
class
SURFFeatureDetectorTest
extends
OpenCVTestCase
{
Feature
Detector
detector
;
Feature
2D
detector
;
int
matSize
;
KeyPoint
[]
truth
;
...
...
@@ -54,7 +53,7 @@ public class SURFFeatureDetectorTest extends OpenCVTestCase {
@Override
protected
void
setUp
()
throws
Exception
{
super
.
setUp
();
detector
=
FeatureDetector
.
create
(
FeatureDetector
.
SURF
);
detector
=
createAlgorythmInstance
(
XFEATURES2D_PACKAGE_NAME
+
"SURF"
,
ALGORITHM_FACTORY_NAME
,
null
,
null
);
matSize
=
100
;
truth
=
new
KeyPoint
[]
{
new
KeyPoint
(
55.775578f
,
55.775578f
,
16
,
80.245735f
,
8617.8633f
,
0
,
-
1
),
...
...
@@ -69,9 +68,11 @@ public class SURFFeatureDetectorTest extends OpenCVTestCase {
}
public
void
testDetectListOfMatListOfListOfKeyPoint
()
{
String
filename
=
OpenCVTestRunner
.
getTempFileName
(
"yml"
);
writeFile
(
filename
,
"%YAML:1.0\nhessianThreshold: 8000.\noctaves: 3\noctaveLayers: 4\nupright: 0\n"
);
detector
.
read
(
filename
);
setProperty
(
detector
,
"hessianThreshold"
,
"double"
,
8000
);
setProperty
(
detector
,
"nOctaves"
,
"int"
,
3
);
setProperty
(
detector
,
"nOctaveLayers"
,
"int"
,
4
);
setProperty
(
detector
,
"upright"
,
"boolean"
,
false
);
List
<
MatOfKeyPoint
>
keypoints
=
new
ArrayList
<
MatOfKeyPoint
>();
Mat
cross
=
getTestImg
();
...
...
@@ -96,9 +97,11 @@ public class SURFFeatureDetectorTest extends OpenCVTestCase {
}
public
void
testDetectMatListOfKeyPoint
()
{
String
filename
=
OpenCVTestRunner
.
getTempFileName
(
"yml"
);
writeFile
(
filename
,
"%YAML:1.0\nhessianThreshold: 8000.\noctaves: 3\noctaveLayers: 4\nupright: 0\n"
);
detector
.
read
(
filename
);
setProperty
(
detector
,
"hessianThreshold"
,
"double"
,
8000
);
setProperty
(
detector
,
"nOctaves"
,
"int"
,
3
);
setProperty
(
detector
,
"nOctaveLayers"
,
"int"
,
4
);
setProperty
(
detector
,
"upright"
,
"boolean"
,
false
);
MatOfKeyPoint
keypoints
=
new
MatOfKeyPoint
();
Mat
cross
=
getTestImg
();
...
...
@@ -111,9 +114,11 @@ public class SURFFeatureDetectorTest extends OpenCVTestCase {
}
public
void
testDetectMatListOfKeyPointMat
()
{
String
filename
=
OpenCVTestRunner
.
getTempFileName
(
"yml"
);
writeFile
(
filename
,
"%YAML:1.0\nhessianThreshold: 8000.\noctaves: 3\noctaveLayers: 4\nupright: 0\n"
);
detector
.
read
(
filename
);
setProperty
(
detector
,
"hessianThreshold"
,
"double"
,
8000
);
setProperty
(
detector
,
"nOctaves"
,
"int"
,
3
);
setProperty
(
detector
,
"nOctaveLayers"
,
"int"
,
4
);
setProperty
(
detector
,
"upright"
,
"boolean"
,
false
);
Mat
img
=
getTestImg
();
Mat
mask
=
getMaskImg
();
...
...
@@ -127,7 +132,8 @@ public class SURFFeatureDetectorTest extends OpenCVTestCase {
}
public
void
testEmpty
()
{
assertFalse
(
detector
.
empty
());
// assertFalse(detector.empty());
fail
(
"Not yet implemented"
);
}
public
void
testRead
()
{
...
...
@@ -137,7 +143,7 @@ public class SURFFeatureDetectorTest extends OpenCVTestCase {
detector
.
detect
(
cross
,
keypoints1
);
String
filename
=
OpenCVTestRunner
.
getTempFileName
(
"yml"
);
writeFile
(
filename
,
"%YAML
:1.0
\nhessianThreshold: 8000.\noctaves: 3\noctaveLayers: 4\nupright: 0\n"
);
writeFile
(
filename
,
"%YAML
1.0\n---
\nhessianThreshold: 8000.\noctaves: 3\noctaveLayers: 4\nupright: 0\n"
);
detector
.
read
(
filename
);
MatOfKeyPoint
keypoints2
=
new
MatOfKeyPoint
();
...
...
@@ -151,7 +157,8 @@ public class SURFFeatureDetectorTest extends OpenCVTestCase {
detector
.
write
(
filename
);
String
truth
=
"<?xml version=\"1.0\"?>\n<opencv_storage>\n<name>Feature2D.SURF</name>\n<extended>0</extended>\n<hessianThreshold>100.</hessianThreshold>\n<nOctaveLayers>3</nOctaveLayers>\n<nOctaves>4</nOctaves>\n<upright>0</upright>\n</opencv_storage>\n"
;
// String truth = "<?xml version=\"1.0\"?>\n<opencv_storage>\n<name>Feature2D.SURF</name>\n<extended>0</extended>\n<hessianThreshold>100.</hessianThreshold>\n<nOctaveLayers>3</nOctaveLayers>\n<nOctaves>4</nOctaves>\n<upright>0</upright>\n</opencv_storage>\n";
String
truth
=
"<?xml version=\"1.0\"?>\n<opencv_storage>\n</opencv_storage>\n"
;
assertEquals
(
truth
,
readFile
(
filename
));
}
...
...
@@ -160,7 +167,8 @@ public class SURFFeatureDetectorTest extends OpenCVTestCase {
detector
.
write
(
filename
);
String
truth
=
"%YAML:1.0\nname: \"Feature2D.SURF\"\nextended: 0\nhessianThreshold: 100.\nnOctaveLayers: 3\nnOctaves: 4\nupright: 0\n"
;
// String truth = "%YAML 1.0\n---\nname: \"Feature2D.SURF\"\nextended: 0\nhessianThreshold: 100.\nnOctaveLayers: 3\nnOctaves: 4\nupright: 0\n";
String
truth
=
"%YAML 1.0\n---\n"
;
assertEquals
(
truth
,
readFile
(
filename
));
}
...
...
modules/java/android_test/src/org/opencv/test/OpenCVTestCase.java
View file @
78874c56
...
...
@@ -24,6 +24,9 @@ import org.opencv.core.KeyPoint;
import
org.opencv.imgcodecs.Imgcodecs
;
import
android.util.Log
;
import
java.lang.reflect.Method
;
import
static
junit
.
framework
.
Assert
.
assertFalse
;
import
static
junit
.
framework
.
Assert
.
assertTrue
;
public
class
OpenCVTestCase
extends
TestCase
{
//change to 'true' to unblock fail on fail("Not yet implemented")
...
...
@@ -31,6 +34,9 @@ public class OpenCVTestCase extends TestCase {
protected
static
boolean
isTestCaseEnabled
=
true
;
protected
static
final
String
XFEATURES2D_PACKAGE_NAME
=
"org.opencv.xfeatures2d."
;
protected
static
final
String
ALGORITHM_FACTORY_NAME
=
"create"
;
protected
static
final
int
matSize
=
10
;
protected
static
final
double
EPS
=
0.001
;
protected
static
final
double
weakEPS
=
0.5
;
...
...
@@ -461,4 +467,91 @@ public class OpenCVTestCase extends TestCase {
}
}
protected
<
T
>
T
createAlgorythmInstance
(
String
cname
,
String
factoryName
,
Class
cParams
[],
Object
oValues
[])
{
T
algorithm
=
null
;
assertFalse
(
"Class name should not be empty"
,
""
.
equals
(
cname
));
String
message
=
""
;
int
step
=
0
;
try
{
Class
algClass
=
getClassForName
(
cname
);
step
=
1
;
Method
factory
=
null
;
if
(
cParams
!=
null
&&
cParams
.
length
>
0
)
{
step
=
2
;
if
(!
""
.
equals
(
factoryName
))
{
step
=
3
;
factory
=
algClass
.
getDeclaredMethod
(
factoryName
,
cParams
);
algorithm
=
(
T
)
factory
.
invoke
(
null
,
oValues
);
step
=
4
;
}
else
{
step
=
5
;
algorithm
=
(
T
)
algClass
.
getConstructor
(
cParams
).
newInstance
(
oValues
);
step
=
6
;
}
}
else
{
step
=
7
;
if
(!
""
.
equals
(
factoryName
))
{
step
=
8
;
factory
=
algClass
.
getDeclaredMethod
(
factoryName
);
algorithm
=
(
T
)
factory
.
invoke
(
null
);
step
=
9
;
}
else
{
step
=
10
;
algorithm
=
(
T
)
algClass
.
getConstructor
().
newInstance
();
step
=
11
;
}
}
}
catch
(
Exception
ex
)
{
message
=
TAG
+
" :: "
+
"could not instantiate "
+
cname
+
"! step "
+
step
;
}
assertTrue
(
message
,
algorithm
!=
null
);
return
algorithm
;
}
protected
<
T
>
void
setProperty
(
T
algorythm
,
String
propertyName
,
String
propertyType
,
Object
propertyValue
)
{
String
message
=
""
;
try
{
String
smethod
=
"set"
+
propertyName
.
substring
(
0
,
1
).
toUpperCase
()
+
propertyName
.
substring
(
1
);
// System.out.println("Setting field " + p.getPname() + "/" + smethod + "/" + p.getValue());
Method
setter
=
algorythm
.
getClass
().
getMethod
(
smethod
,
getClassForName
(
propertyType
));
setter
.
invoke
(
algorythm
,
propertyValue
);
}
catch
(
Exception
ex
)
{
message
=
"Error when setting property ["
+
propertyName
+
"]: "
+
ex
.
getMessage
();
}
assertTrue
(
message
,
""
.
equals
(
message
));
}
protected
Class
getClassForName
(
String
sclass
)
throws
ClassNotFoundException
{
if
(
"int"
.
equals
(
sclass
))
return
Integer
.
TYPE
;
else
if
(
"long"
.
equals
(
sclass
))
return
Long
.
TYPE
;
else
if
(
"double"
.
equals
(
sclass
))
return
Double
.
TYPE
;
else
if
(
"float"
.
equals
(
sclass
))
return
Float
.
TYPE
;
else
if
(
"boolean"
.
equals
(
sclass
))
return
Boolean
.
TYPE
;
else
if
(
"char"
.
equals
(
sclass
))
return
Character
.
TYPE
;
else
if
(
"byte"
.
equals
(
sclass
))
return
Byte
.
TYPE
;
else
if
(
"short"
.
equals
(
sclass
))
return
Short
.
TYPE
;
else
return
Class
.
forName
(
sclass
);
}
}
modules/java/pure_test/src/org/opencv/test/OpenCVTestCase.java
View file @
78874c56
...
...
@@ -4,11 +4,10 @@ package org.opencv.test;
import
java.io.BufferedReader
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.FileOutputStream
;
import
java.io.FileReader
;
import
java.io.IOException
;
import
java.
nio.MappedByteBuffer
;
import
java.
lang.reflect.Method
;
import
java.nio.channels.FileChannel
;
import
java.nio.charset.Charset
;
import
java.util.List
;
...
...
@@ -33,6 +32,9 @@ public class OpenCVTestCase extends TestCase {
protected
static
boolean
isTestCaseEnabled
=
true
;
protected
static
final
String
XFEATURES2D_PACKAGE_NAME
=
"org.opencv.xfeatures2d."
;
protected
static
final
String
ALGORITHM_FACTORY_NAME
=
"create"
;
protected
static
final
int
matSize
=
10
;
protected
static
final
double
EPS
=
0.001
;
protected
static
final
double
weakEPS
=
0.5
;
...
...
@@ -491,4 +493,90 @@ public class OpenCVTestCase extends TestCase {
}
}
protected
<
T
>
T
createAlgorythmInstance
(
String
cname
,
String
factoryName
,
Class
cParams
[],
Object
oValues
[])
{
T
algorithm
=
null
;
assertFalse
(
"Class name should not be empty"
,
""
.
equals
(
cname
));
String
message
=
""
;
int
step
=
0
;
try
{
Class
algClass
=
getClassForName
(
cname
);
step
=
1
;
Method
factory
=
null
;
if
(
cParams
!=
null
&&
cParams
.
length
>
0
)
{
step
=
2
;
if
(!
""
.
equals
(
factoryName
))
{
step
=
3
;
factory
=
algClass
.
getDeclaredMethod
(
factoryName
,
cParams
);
algorithm
=
(
T
)
factory
.
invoke
(
null
,
oValues
);
step
=
4
;
}
else
{
step
=
5
;
algorithm
=
(
T
)
algClass
.
getConstructor
(
cParams
).
newInstance
(
oValues
);
step
=
6
;
}
}
else
{
step
=
7
;
if
(!
""
.
equals
(
factoryName
))
{
step
=
8
;
factory
=
algClass
.
getDeclaredMethod
(
factoryName
);
algorithm
=
(
T
)
factory
.
invoke
(
null
);
step
=
9
;
}
else
{
step
=
10
;
algorithm
=
(
T
)
algClass
.
getConstructor
().
newInstance
();
step
=
11
;
}
}
}
catch
(
Exception
ex
)
{
message
=
TAG
+
" :: "
+
"could not instantiate "
+
cname
+
"! step "
+
step
;
}
assertTrue
(
message
,
algorithm
!=
null
);
return
algorithm
;
}
protected
<
T
>
void
setProperty
(
T
algorythm
,
String
propertyName
,
String
propertyType
,
Object
propertyValue
)
{
String
message
=
""
;
try
{
String
smethod
=
"set"
+
propertyName
.
substring
(
0
,
1
).
toUpperCase
()
+
propertyName
.
substring
(
1
);
// System.out.println("Setting field " + p.getPname() + "/" + smethod + "/" + p.getValue());
Method
setter
=
algorythm
.
getClass
().
getMethod
(
smethod
,
getClassForName
(
propertyType
));
setter
.
invoke
(
algorythm
,
propertyValue
);
}
catch
(
Exception
ex
)
{
message
=
"Error when setting property ["
+
propertyName
+
"]: "
+
ex
.
getMessage
();
}
assertTrue
(
message
,
""
.
equals
(
message
));
}
protected
Class
getClassForName
(
String
sclass
)
throws
ClassNotFoundException
{
if
(
"int"
.
equals
(
sclass
))
return
Integer
.
TYPE
;
else
if
(
"long"
.
equals
(
sclass
))
return
Long
.
TYPE
;
else
if
(
"double"
.
equals
(
sclass
))
return
Double
.
TYPE
;
else
if
(
"float"
.
equals
(
sclass
))
return
Float
.
TYPE
;
else
if
(
"boolean"
.
equals
(
sclass
))
return
Boolean
.
TYPE
;
else
if
(
"char"
.
equals
(
sclass
))
return
Character
.
TYPE
;
else
if
(
"byte"
.
equals
(
sclass
))
return
Byte
.
TYPE
;
else
if
(
"short"
.
equals
(
sclass
))
return
Short
.
TYPE
;
else
return
Class
.
forName
(
sclass
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment