From 774a91a0e6b077527e279a0603719692d17da198 Mon Sep 17 00:00:00 2001 From: AleksandrPanov Date: Mon, 12 Dec 2022 22:00:28 +0300 Subject: [PATCH] add setDetectorParameters() --- modules/aruco/test/test_boarddetection.cpp | 8 ++++++-- modules/aruco/test/test_charucodetection.cpp | 11 +++++++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/modules/aruco/test/test_boarddetection.cpp b/modules/aruco/test/test_boarddetection.cpp index 4339df364..f92887755 100644 --- a/modules/aruco/test/test_boarddetection.cpp +++ b/modules/aruco/test/test_boarddetection.cpp @@ -82,6 +82,7 @@ void CV_ArucoBoardPose::run(int) { cameraMatrix.at< double >(1, 2) = imgSize.height / 2; Mat distCoeffs(5, 1, CV_64FC1, Scalar::all(0)); const int sizeX = 3, sizeY = 3; + aruco::DetectorParameters detectorParameters = detector.getDetectorParameters(); // for different perspectives for(double distance = 0.2; distance <= 0.4; distance += 0.15) { @@ -98,7 +99,8 @@ void CV_ArucoBoardPose::run(int) { imgSize, markerBorder); vector > corners; vector ids; - detector.getDetectorParameters().markerBorderBits = markerBorder; + detectorParameters.markerBorderBits = markerBorder; + detector.setDetectorParameters(detectorParameters); detector.detectMarkers(img, corners, ids); ASSERT_EQ(ids.size(), gridboard->getIds().size()); @@ -189,6 +191,7 @@ void CV_ArucoRefine::run(int) { cameraMatrix.at< double >(0, 2) = imgSize.width / 2; cameraMatrix.at< double >(1, 2) = imgSize.height / 2; Mat distCoeffs(5, 1, CV_64FC1, Scalar::all(0)); + aruco::DetectorParameters detectorParameters = detector.getDetectorParameters(); // for different perspectives for(double distance = 0.2; distance <= 0.4; distance += 0.2) { @@ -207,7 +210,8 @@ void CV_ArucoRefine::run(int) { // detect markers vector > corners, rejected; vector ids; - detector.getDetectorParameters().markerBorderBits = markerBorder; + detectorParameters.markerBorderBits = markerBorder; + detector.setDetectorParameters(detectorParameters); detector.detectMarkers(img, corners, ids, rejected); // remove a marker from detection diff --git a/modules/aruco/test/test_charucodetection.cpp b/modules/aruco/test/test_charucodetection.cpp index 176b29a39..56af03477 100644 --- a/modules/aruco/test/test_charucodetection.cpp +++ b/modules/aruco/test/test_charucodetection.cpp @@ -160,7 +160,8 @@ void CV_CharucoDetection::run(int) { vector > corners; vector ids; - detector.getDetectorParameters().markerBorderBits = markerBorder; + params.markerBorderBits = markerBorder; + detector.setDetectorParameters(params); detector.detectMarkers(img, corners, ids); if(ids.size() == 0) { @@ -264,7 +265,8 @@ void CV_CharucoPoseEstimation::run(int) { // detect markers vector< vector< Point2f > > corners; vector< int > ids; - detector.getDetectorParameters().markerBorderBits = markerBorder; + params.markerBorderBits = markerBorder; + detector.setDetectorParameters(params); detector.detectMarkers(img, corners, ids); ASSERT_EQ(ids.size(), board->getIds().size()); @@ -348,7 +350,7 @@ void CV_CharucoDiamondDetection::run(int) { int iter = 0; Mat cameraMatrix = Mat::eye(3, 3, CV_64FC1); Size imgSize(500, 500); - aruco::DetectorParameters params ; + aruco::DetectorParameters params; params.minDistanceToBorder = 0; aruco::ArucoDetector detector(aruco::getPredefinedDictionary(aruco::DICT_6X6_250), params); float squareLength = 0.03f; @@ -380,7 +382,8 @@ void CV_CharucoDiamondDetection::run(int) { // detect markers vector< vector< Point2f > > corners; vector< int > ids; - detector.getDetectorParameters().markerBorderBits = markerBorder; + params.markerBorderBits = markerBorder; + detector.setDetectorParameters(params); detector.detectMarkers(img, corners, ids); if(ids.size() != 4) {