Skip to content

Commit ae01832

Browse files
committed
Continue cleanup
1 parent 79bc173 commit ae01832

File tree

5 files changed

+77
-32
lines changed

5 files changed

+77
-32
lines changed

modules/xfeatures2d/misc/java/test/AKAZEDescriptorExtractorTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public void testWriteYml() {
5858

5959
extractor.write(filename);
6060

61-
String truth = "%YAML:1.0\n---\nformat: 3\nname: \"Feature2D.AKAZE\"\ndescriptor: 5\ndescriptor_channels: 3\ndescriptor_size: 0\nthreshold: 1.0000000474974513e-03\noctaves: 4\nsublevels: 4\ndiffusivity: 1\nmax_points: -1\n";
61+
String truth = "%YAML:1.0\n---\nformat: 3\nname: \"Feature2D.AKAZE\"\ndescriptor: 5\ndescriptor_channels: 3\ndescriptor_size: 0\nthreshold: 0.0010000000474974513\noctaves: 4\nsublevels: 4\ndiffusivity: 1\nmax_points: -1\n";
6262
String actual = readFile(filename);
6363
actual = actual.replaceAll("e([+-])0(\\d\\d)", "e$1$2"); // NOTE: workaround for different platforms double representation
6464
assertEquals(truth, actual);

modules/xfeatures2d/misc/java/test/KAZEDescriptorExtractorTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public void testWriteYml() {
5757

5858
extractor.write(filename);
5959

60-
String truth = "%YAML:1.0\n---\nformat: 3\nname: \"Feature2D.KAZE\"\nextended: 0\nupright: 0\nthreshold: 1.0000000474974513e-03\noctaves: 4\nsublevels: 4\ndiffusivity: 1\n";
60+
String truth = "%YAML:1.0\n---\nformat: 3\nname: \"Feature2D.KAZE\"\nextended: 0\nupright: 0\nthreshold: 0.0010000000474974513\noctaves: 4\nsublevels: 4\ndiffusivity: 1\n";
6161
String actual = readFile(filename);
6262
actual = actual.replaceAll("e([+-])0(\\d\\d)", "e$1$2"); // NOTE: workaround for different platforms double representation
6363
assertEquals(truth, actual);
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#!/usr/bin/env python
2+
"""Algorithm serialization test."""
3+
import tempfile
4+
import os
5+
import cv2 as cv
6+
from tests_common import NewOpenCVTests
7+
8+
9+
class algorithm_rw_test(NewOpenCVTests):
10+
def test_algorithm_rw(self):
11+
fd, fname = tempfile.mkstemp(prefix="opencv_python_algorithm_", suffix=".yml")
12+
os.close(fd)
13+
14+
# some arbitrary non-default parameters
15+
gold = cv.xfeatures2d.AKAZE_create(descriptor_size=1, descriptor_channels=2, nOctaves=3, threshold=4.0)
16+
gold.write(cv.FileStorage(fname, cv.FILE_STORAGE_WRITE), "AKAZE")
17+
18+
fs = cv.FileStorage(fname, cv.FILE_STORAGE_READ)
19+
algorithm = cv.xfeatures2d.AKAZE_create()
20+
algorithm.read(fs.getNode("AKAZE"))
21+
22+
self.assertEqual(algorithm.getDescriptorSize(), 1)
23+
self.assertEqual(algorithm.getDescriptorChannels(), 2)
24+
self.assertEqual(algorithm.getNOctaves(), 3)
25+
self.assertEqual(algorithm.getThreshold(), 4.0)
26+
27+
os.remove(fname)

modules/xfeatures2d/test/test_feature2d.ocl.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#include "test_precomp.hpp"
66
#include "cvconfig.h"
77
#include "opencv2/ts/ocl_test.hpp"
8+
#include <functional>
89

910
#ifdef HAVE_OPENCL
1011

@@ -16,7 +17,7 @@ namespace ocl {
1617
"../stitching/a3.png", \
1718
"../stitching/s2.jpg")
1819

19-
PARAM_TEST_CASE(Feature2DFixture, Ptr<Feature2D>, std::string)
20+
PARAM_TEST_CASE(Feature2DFixture, std::function<Ptr<Feature2D>()>, std::string)
2021
{
2122
std::string filename;
2223
Mat image, descriptors;
@@ -27,7 +28,7 @@ PARAM_TEST_CASE(Feature2DFixture, Ptr<Feature2D>, std::string)
2728

2829
virtual void SetUp()
2930
{
30-
feature = GET_PARAM(0);
31+
feature = GET_PARAM(0)();
3132
filename = GET_PARAM(1);
3233

3334
image = readImage(filename);
@@ -61,10 +62,10 @@ OCL_TEST_P(Feature2DFixture, DescriptorsSame)
6162
}
6263

6364
OCL_INSTANTIATE_TEST_CASE_P(AKAZE, Feature2DFixture,
64-
testing::Combine(testing::Values(AKAZE::create()), TEST_IMAGES));
65+
testing::Combine(testing::Values([]() { return AKAZE::create(); }), TEST_IMAGES));
6566

6667
OCL_INSTANTIATE_TEST_CASE_P(AKAZE_DESCRIPTOR_KAZE, Feature2DFixture,
67-
testing::Combine(testing::Values(AKAZE::create(AKAZE::DESCRIPTOR_KAZE)), TEST_IMAGES));
68+
testing::Combine(testing::Values([]() { return AKAZE::create(AKAZE::DESCRIPTOR_KAZE); }), TEST_IMAGES));
6869

6970
}//ocl
7071
}//cvtest

modules/xfeatures2d/test/test_rotation_and_scale_invariance.cpp

Lines changed: 43 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ namespace opencv_test { namespace {
1111

1212
static const char* const IMAGE_TSUKUBA = "features2d/tsukuba.png";
1313
static const char* const IMAGE_BIKES = "detectors_descriptors_evaluation/images_datasets/bikes/img1.png";
14-
#define Value(...) Values(make_tuple(__VA_ARGS__))
1514

1615
// ========================== ROTATION INVARIANCE =============================
1716

@@ -27,23 +26,32 @@ INSTANTIATE_TEST_CASE_P(SURF, DescriptorRotationInvariance, Values(
2726

2827
#endif // NONFREE
2928

30-
INSTANTIATE_TEST_CASE_P(BRISK, DetectorRotationInvariance,
31-
Value(IMAGE_TSUKUBA, BRISK::create(), 0.45f, 0.76f));
29+
INSTANTIATE_TEST_CASE_P(BRISK, DetectorRotationInvariance, Values(
30+
make_tuple(IMAGE_TSUKUBA, []() { return BRISK::create(); }, 0.45f, 0.76f)
31+
));
3232

33-
INSTANTIATE_TEST_CASE_P(AKAZE, DetectorRotationInvariance,
34-
Value(IMAGE_TSUKUBA, AKAZE::create(), 0.5f, 0.71f));
33+
INSTANTIATE_TEST_CASE_P(AKAZE, DetectorRotationInvariance, Values(
34+
make_tuple(IMAGE_TSUKUBA, []() { return AKAZE::create(); }, 0.5f, 0.71f)
35+
));
3536

36-
INSTANTIATE_TEST_CASE_P(AKAZE_DESCRIPTOR_KAZE, DetectorRotationInvariance,
37-
Value(IMAGE_TSUKUBA, AKAZE::create(AKAZE::DESCRIPTOR_KAZE), 0.5f, 0.71f));
37+
INSTANTIATE_TEST_CASE_P(AKAZE_DESCRIPTOR_KAZE, DetectorRotationInvariance, Values(
38+
make_tuple(IMAGE_TSUKUBA, []() { return AKAZE::create(AKAZE::DESCRIPTOR_KAZE); }, 0.5f, 0.71f)
39+
));
3840

39-
INSTANTIATE_TEST_CASE_P(BRISK, DescriptorRotationInvariance,
40-
Value(IMAGE_TSUKUBA, BRISK::create(), BRISK::create(), 0.99f));
41+
INSTANTIATE_TEST_CASE_P(BRISK, DescriptorRotationInvariance, Values(
42+
make_tuple(IMAGE_TSUKUBA, []() { return BRISK::create(); }, []() { return BRISK::create(); }, 0.99f)
43+
));
4144

42-
INSTANTIATE_TEST_CASE_P(AKAZE, DescriptorRotationInvariance,
43-
Value(IMAGE_TSUKUBA, AKAZE::create(), AKAZE::create(), 0.99f));
45+
INSTANTIATE_TEST_CASE_P(AKAZE, DescriptorRotationInvariance, Values(
46+
make_tuple(IMAGE_TSUKUBA, []() { return AKAZE::create(); }, []() { return AKAZE::create();} , 0.99f)
47+
));
4448

45-
INSTANTIATE_TEST_CASE_P(AKAZE_DESCRIPTOR_KAZE, DescriptorRotationInvariance,
46-
Value(IMAGE_TSUKUBA, AKAZE::create(AKAZE::DESCRIPTOR_KAZE), AKAZE::create(AKAZE::DESCRIPTOR_KAZE), 0.99f));
49+
INSTANTIATE_TEST_CASE_P(AKAZE_DESCRIPTOR_KAZE, DescriptorRotationInvariance, Values(
50+
make_tuple(IMAGE_TSUKUBA,
51+
[]() { return AKAZE::create(AKAZE::DESCRIPTOR_KAZE); },
52+
[]() { return AKAZE::create(AKAZE::DESCRIPTOR_KAZE); },
53+
0.99f)
54+
));
4755

4856
INSTANTIATE_TEST_CASE_P(LATCH, DescriptorRotationInvariance, Values(
4957
make_tuple(IMAGE_TSUKUBA, []() { return SIFT::create(); }, []() { return LATCH::create(); }, 0.98f)
@@ -54,7 +62,7 @@ INSTANTIATE_TEST_CASE_P(BEBLID, DescriptorRotationInvariance, Values(
5462
));
5563

5664
INSTANTIATE_TEST_CASE_P(TEBLID, DescriptorRotationInvariance, Values(
57-
make_tuple(IMAGE_TSUKUBA, []() { return SIFT::create(); }, []() { return TEBLID::create(6.75); }, 0.98f)
65+
make_tuple(IMAGE_TSUKUBA, []() { return SIFT::create(); }, []() { return TEBLID::create(6.75); }, 0.98f)
5866
));
5967

6068
INSTANTIATE_TEST_CASE_P(DAISY, DescriptorRotationInvariance, Values(
@@ -197,23 +205,32 @@ INSTANTIATE_TEST_CASE_P(DISABLED_DAISY, DescriptorScaleInvariance, Values(
197205
));
198206
#endif
199207

200-
INSTANTIATE_TEST_CASE_P(BRISK, DetectorScaleInvariance,
201-
Value(IMAGE_BIKES, BRISK::create(), 0.08f, 0.49f));
208+
INSTANTIATE_TEST_CASE_P(BRISK, DetectorScaleInvariance, Values(
209+
make_tuple(IMAGE_BIKES, []() { return BRISK::create(); }, 0.08f, 0.49f)
210+
));
202211

203-
INSTANTIATE_TEST_CASE_P(KAZE, DetectorScaleInvariance,
204-
Value(IMAGE_BIKES, KAZE::create(), 0.08f, 0.49f));
212+
INSTANTIATE_TEST_CASE_P(KAZE, DetectorScaleInvariance, Values(
213+
make_tuple(IMAGE_BIKES, []() { return KAZE::create(); }, 0.08f, 0.49f)
214+
));
205215

206-
INSTANTIATE_TEST_CASE_P(AKAZE, DetectorScaleInvariance,
207-
Value(IMAGE_BIKES, AKAZE::create(), 0.08f, 0.49f));
216+
INSTANTIATE_TEST_CASE_P(AKAZE, DetectorScaleInvariance, Values(
217+
make_tuple(IMAGE_BIKES, []() { return AKAZE::create(); }, 0.08f, 0.49f)
218+
));
208219

209-
INSTANTIATE_TEST_CASE_P(AKAZE_DESCRIPTOR_KAZE, DetectorScaleInvariance,
210-
Value(IMAGE_BIKES, AKAZE::create(AKAZE::DESCRIPTOR_KAZE), 0.08f, 0.49f));
220+
INSTANTIATE_TEST_CASE_P(AKAZE_DESCRIPTOR_KAZE, DetectorScaleInvariance, Values(
221+
make_tuple(IMAGE_BIKES, []() { return AKAZE::create(AKAZE::DESCRIPTOR_KAZE); }, 0.08f, 0.49f)
222+
));
211223

212-
INSTANTIATE_TEST_CASE_P(AKAZE, DescriptorScaleInvariance,
213-
Value(IMAGE_BIKES, AKAZE::create(), AKAZE::create(), 0.6f));
224+
INSTANTIATE_TEST_CASE_P(AKAZE, DescriptorScaleInvariance, Values(
225+
make_tuple(IMAGE_BIKES, []() { return AKAZE::create(); }, []() { return AKAZE::create(); }, 0.6f)
226+
));
214227

215-
INSTANTIATE_TEST_CASE_P(AKAZE_DESCRIPTOR_KAZE, DescriptorScaleInvariance,
216-
Value(IMAGE_BIKES, AKAZE::create(AKAZE::DESCRIPTOR_KAZE), AKAZE::create(AKAZE::DESCRIPTOR_KAZE), 0.55f));
228+
INSTANTIATE_TEST_CASE_P(AKAZE_DESCRIPTOR_KAZE, DescriptorScaleInvariance, Values(
229+
make_tuple(IMAGE_BIKES,
230+
[]() { return AKAZE::create(AKAZE::DESCRIPTOR_KAZE); },
231+
[]() { return AKAZE::create(AKAZE::DESCRIPTOR_KAZE); },
232+
0.55f)
233+
));
217234

218235
#ifdef OPENCV_XFEATURES2D_HAS_VGG_DATA
219236
INSTANTIATE_TEST_CASE_P(VGG120, DescriptorScaleInvariance, Values(

0 commit comments

Comments
 (0)