From 9e7ec59a418283fe6a8494658ca99eabc241276c Mon Sep 17 00:00:00 2001 From: Alex Date: Mon, 19 Feb 2024 00:12:36 +0300 Subject: [PATCH] fixed setArucoParameters/getArucoParameters --- modules/objdetect/include/opencv2/objdetect.hpp | 2 +- modules/objdetect/src/qrcode.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/objdetect/include/opencv2/objdetect.hpp b/modules/objdetect/include/opencv2/objdetect.hpp index ae8c2bf1ef..fa75532c1a 100644 --- a/modules/objdetect/include/opencv2/objdetect.hpp +++ b/modules/objdetect/include/opencv2/objdetect.hpp @@ -854,7 +854,7 @@ public: CV_WRAP QRCodeDetectorAruco& setDetectorParameters(const QRCodeDetectorAruco::Params& params); /** @brief Aruco detector parameters are used to search for the finder patterns. */ - CV_WRAP aruco::DetectorParameters getArucoParameters(); + CV_WRAP const aruco::DetectorParameters& getArucoParameters() const; /** @brief Aruco detector parameters are used to search for the finder patterns. */ CV_WRAP void setArucoParameters(const aruco::DetectorParameters& params); diff --git a/modules/objdetect/src/qrcode.cpp b/modules/objdetect/src/qrcode.cpp index 285535e705..8497733ac3 100644 --- a/modules/objdetect/src/qrcode.cpp +++ b/modules/objdetect/src/qrcode.cpp @@ -4615,13 +4615,13 @@ vector analyzeFinderPatterns(const vector > &corners, co struct PimplQRAruco : public ImplContour { QRCodeDetectorAruco::Params qrParams; aruco::ArucoDetector arucoDetector; - aruco::DetectorParameters arucoParams; PimplQRAruco() { Mat bits = Mat::ones(Size(5, 5), CV_8UC1); Mat(bits, Rect(1, 1, 3, 3)).setTo(Scalar(0)); Mat byteList = aruco::Dictionary::getByteListFromBits(bits); aruco::Dictionary dictionary = aruco::Dictionary(byteList, 5, 4); + aruco::DetectorParameters arucoParams; arucoParams.minMarkerPerimeterRate = 0.02; arucoDetector = aruco::ArucoDetector(dictionary, arucoParams); } @@ -4695,12 +4695,12 @@ QRCodeDetectorAruco& QRCodeDetectorAruco::setDetectorParameters(const QRCodeDete return *this; } -aruco::DetectorParameters QRCodeDetectorAruco::getArucoParameters() { - return std::dynamic_pointer_cast(p)->arucoParams; +const aruco::DetectorParameters& QRCodeDetectorAruco::getArucoParameters() const { + return std::dynamic_pointer_cast(p)->arucoDetector.getDetectorParameters(); } void QRCodeDetectorAruco::setArucoParameters(const aruco::DetectorParameters& params) { - std::dynamic_pointer_cast(p)->arucoParams = params; + std::dynamic_pointer_cast(p)->arucoDetector.setDetectorParameters(params); } } // namespace