mirror of
https://github.com/opencv/opencv.git
synced 2026-07-25 21:33:04 +04:00
cc8f683b6a
core: add YAML 1.2 support for FileStorage #28482 Fixes: #26363 CI Update: https://github.com/opencv/ci-gha-workflow/pull/306 Summary: - Bool true/false literals support - Header-less YAMLs support for Python YAML module compatibility. Header-less files are parsed as YAMLs by default - Added FORMAT_YAML_1_0 flag to FileStorage for fallback. - New YAML1.2 header Testing: - Added Core_InputOutput.YAML_1_2_Compatibility test case in test_io.cpp. - Added YAML interop test in Python
68 lines
2.2 KiB
Java
68 lines
2.2 KiB
Java
package org.opencv.test.features;
|
|
|
|
import org.opencv.test.OpenCVTestCase;
|
|
import org.opencv.test.OpenCVTestRunner;
|
|
import org.opencv.features.GFTTDetector;
|
|
|
|
public class GFTTFeatureDetectorTest extends OpenCVTestCase {
|
|
|
|
GFTTDetector detector;
|
|
|
|
@Override
|
|
protected void setUp() throws Exception {
|
|
super.setUp();
|
|
detector = GFTTDetector.create(); // default constructor have (1000, 0.01, 1, 3, 3, false, 0.04)
|
|
}
|
|
|
|
public void testCreate() {
|
|
assertNotNull(detector);
|
|
}
|
|
|
|
public void testDetectListOfMatListOfListOfKeyPoint() {
|
|
fail("Not yet implemented");
|
|
}
|
|
|
|
public void testDetectListOfMatListOfListOfKeyPointListOfMat() {
|
|
fail("Not yet implemented");
|
|
}
|
|
|
|
public void testDetectMatListOfKeyPoint() {
|
|
fail("Not yet implemented");
|
|
}
|
|
|
|
public void testDetectMatListOfKeyPointMat() {
|
|
fail("Not yet implemented");
|
|
}
|
|
|
|
public void testEmpty() {
|
|
fail("Not yet implemented");
|
|
}
|
|
|
|
public void testReadYml() {
|
|
String filename = OpenCVTestRunner.getTempFileName("yml");
|
|
|
|
writeFile(filename, "%YAML:1.0\n---\nname: \"Feature2D.GFTTDetector\"\nnfeatures: 500\nqualityLevel: 2.0000000000000000e-02\nminDistance: 2.\nblockSize: 4\ngradSize: 5\nuseHarrisDetector: 1\nk: 5.0000000000000000e-02\n");
|
|
detector.read(filename);
|
|
|
|
assertEquals(500, detector.getMaxFeatures());
|
|
assertEquals(0.02, detector.getQualityLevel());
|
|
assertEquals(2.0, detector.getMinDistance());
|
|
assertEquals(4, detector.getBlockSize());
|
|
assertEquals(5, detector.getGradientSize());
|
|
assertEquals(true, detector.getHarrisDetector());
|
|
assertEquals(0.05, detector.getK());
|
|
}
|
|
|
|
public void testWriteYml() {
|
|
String filename = OpenCVTestRunner.getTempFileName("yml");
|
|
|
|
detector.write(filename);
|
|
|
|
String truth = "%YAML 1.2\n---\nname: \"Feature2D.GFTTDetector\"\nnfeatures: 1000\nqualityLevel: 0.01\nminDistance: 1.\nblockSize: 3\ngradSize: 3\nuseHarrisDetector: false\nk: 0.040000000000000001\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);
|
|
}
|
|
|
|
}
|