Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit4a81fc3

Browse files
author
Alex
committed
fix setter, fix Ptr, fix doc
1 parente02369b commit4a81fc3

File tree

3 files changed

+23
-17
lines changed

3 files changed

+23
-17
lines changed

‎modules/objdetect/include/opencv2/objdetect.hpp‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -839,12 +839,12 @@ class CV_EXPORTS_W QRCodeDetector : public QRCodeDetectorBase
839839
@param epsX Epsilon neighborhood, which allows you to determine the horizontal pattern
840840
of the scheme 1:1:3:1:1 according to QR code standard.
841841
*/
842-
CV_WRAPvoidsetEpsX(double epsX);
842+
CV_WRAPQRCodeDetector&setEpsX(double epsX);
843843
/** @brief sets the epsilon used during the vertical scan of QR code stop marker detection.
844844
@param epsY Epsilon neighborhood, which allows you to determine the vertical pattern
845845
of the scheme 1:1:3:1:1 according to QR code standard.
846846
*/
847-
CV_WRAPvoidsetEpsY(double epsY);
847+
CV_WRAPQRCodeDetector&setEpsY(double epsY);
848848

849849
/** @brief use markers to improve the position of the corners of the QR code
850850
*
@@ -905,7 +905,7 @@ class CV_EXPORTS_W QRCodeDetectorAruco : public QRCodeDetectorBase {
905905
CV_PROP_RWfloat scaleTimingPatternScore;
906906
};
907907

908-
/** @brief QR code detector constructor for Aruco-based algorithm. See#cv::QrWithArucoParams*/
908+
/** @brief QR code detector constructor for Aruco-based algorithm. See cv::QRCodeDetectorAruco::Params*/
909909
CV_WRAPexplicitQRCodeDetectorAruco(const QRCodeDetectorAruco::Params& params = QRCodeDetectorAruco::Params());
910910

911911
/** @brief Detector parameters setter. See cv::QRCodeDetectorAruco::Params*/

‎modules/objdetect/src/qrcode.cpp‎

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1017,8 +1017,14 @@ QRCodeDetector::QRCodeDetector() {
10171017

10181018
QRCodeDetector::~QRCodeDetector() {}
10191019

1020-
voidQRCodeDetector::setEpsX(double epsX) { (std::static_pointer_cast<ImplContour>)(p)->epsX = epsX; }
1021-
voidQRCodeDetector::setEpsY(double epsY) { (std::static_pointer_cast<ImplContour>)(p)->epsY = epsY; }
1020+
QRCodeDetector&QRCodeDetector::setEpsX(double epsX) {
1021+
(std::static_pointer_cast<ImplContour>)(p)->epsX = epsX;
1022+
return *this;
1023+
}
1024+
QRCodeDetector&QRCodeDetector::setEpsY(double epsY) {
1025+
(std::static_pointer_cast<ImplContour>)(p)->epsY = epsY;
1026+
return *this;
1027+
}
10221028

10231029
boolImplContour::detect(InputArray in, OutputArray points)const
10241030
{

‎samples/cpp/qrcode.cpp‎

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ void drawQRCodeResults(Mat& frame, const vector<Point>& corners, const vector<cv
160160

161161
static
162162
voidrunQR(
163-
Ptr<QRCodeDetectorBase> qrcode,const Mat& input,
163+
QRCodeDetectorBase& qrcode,const Mat& input,
164164
vector<Point>& corners, vector<cv::String>& decode_info
165165
// +global: bool g_modeMultiQR, bool g_detectOnly
166166
)
@@ -169,32 +169,32 @@ void runQR(
169169
{
170170
if (!g_detectOnly)
171171
{
172-
String decode_info1 = qrcode->detectAndDecode(input, corners);
172+
String decode_info1 = qrcode.detectAndDecode(input, corners);
173173
decode_info.push_back(decode_info1);
174174
}
175175
else
176176
{
177-
bool detection_result = qrcode->detect(input, corners);
177+
bool detection_result = qrcode.detect(input, corners);
178178
CV_UNUSED(detection_result);
179179
}
180180
}
181181
else
182182
{
183183
if (!g_detectOnly)
184184
{
185-
bool result_detection = qrcode->detectAndDecodeMulti(input, decode_info, corners);
185+
bool result_detection = qrcode.detectAndDecodeMulti(input, decode_info, corners);
186186
CV_UNUSED(result_detection);
187187
}
188188
else
189189
{
190-
bool result_detection = qrcode->detectMulti(input, corners);
190+
bool result_detection = qrcode.detectMulti(input, corners);
191191
CV_UNUSED(result_detection);
192192
}
193193
}
194194
}
195195

196196
static
197-
doubleprocessQRCodeDetection(cv::Ptr<QRCodeDetectorBase> qrcode,const Mat& input, Mat& result, vector<Point>& corners)
197+
doubleprocessQRCodeDetection(QRCodeDetectorBase& qrcode,const Mat& input, Mat& result, vector<Point>& corners)
198198
{
199199
if (input.channels() ==1)
200200
cvtColor(input, result, COLOR_GRAY2BGR);
@@ -232,11 +232,11 @@ int liveQRCodeDetect()
232232
cout <<"Press 'd' to switch between decoder and detector" << endl;
233233
cout <<"Press ' ' (space) to save result into images" << endl;
234234
cout <<"Press 'ESC' to exit" << endl;
235-
Ptr<QRCodeDetectorBase> qrcode;
235+
QRCodeDetectorBase qrcode;
236236
if (g_useArucoBased)
237-
qrcode =makePtr<QRCodeDetectorAruco>();
237+
qrcode =QRCodeDetectorAruco();
238238
else
239-
qrcode =makePtr<QRCodeDetector>();
239+
qrcode =QRCodeDetector();
240240

241241
for (;;)
242242
{
@@ -317,11 +317,11 @@ int imageQRCodeDetect(const string& in_file)
317317
<<" on image:" << input.size() <<" (" <<typeToString(input.type()) <<")"
318318
<< endl;
319319

320-
Ptr<QRCodeDetectorBase> qrcode;
320+
QRCodeDetectorBase qrcode;
321321
if (g_useArucoBased)
322-
qrcode =makePtr<QRCodeDetectorAruco>();
322+
qrcode =QRCodeDetectorAruco();
323323
else
324-
qrcode =makePtr<QRCodeDetector>();
324+
qrcode =QRCodeDetector();
325325

326326
vector<Point> corners;
327327
vector<cv::String> decode_info;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp