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

Commitfd815d8

Browse files
committed
Use a temporary version level as not to overwrite the level that the encoder was created with
1 parent05f6dbc commitfd815d8

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

‎modules/objdetect/src/qrcode_encoder.cpp‎

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -360,20 +360,22 @@ void QRCodeEncoderImpl::generateQR(const std::string &input)
360360

361361
std::string input_info = input.substr(segment_begin, segment_end);
362362
string_itr += segment_end;
363+
363364
int detected_version =versionAuto(input_info);
365+
int tmp_version_level = version_level;
364366
if (detected_version == -1)
365367
CV_Error(Error::StsBadArg,"The given input exceeds the maximum capacity of a QR code with the selected encoding mode and error correction level" );
366-
elseif (version_level ==0)
367-
version_level = detected_version;
368-
elseif (version_level < detected_version)
368+
elseif (tmp_version_level ==0)
369+
tmp_version_level = detected_version;
370+
elseif (tmp_version_level < detected_version)
369371
CV_Error(Error::StsBadArg,"The given version is not suitable for the given input string length");
370372

371373
payload.clear();
372374
payload.reserve(MAX_PAYLOAD_LEN);
373375
format = vector<uint8_t> (15,255);
374376
version_reserved = vector<uint8_t> (18,255);
375-
version_size = (21 + (version_level -1) *4);
376-
version_info = makePtr<VersionInfo>(version_info_database[version_level]);
377+
version_size = (21 + (tmp_version_level -1) *4);
378+
version_info = makePtr<VersionInfo>(version_info_database[tmp_version_level]);
377379
cur_ecc_params = makePtr<BlockParams>(version_info->ecc[ecc_level]);
378380
original =Mat(Size(version_size, version_size), CV_8UC1,Scalar(255));
379381
masked_data = original.clone();

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp