더북(TheBook)

검출된 QR 코드 영역에서 QR 코드에 저장된 문자열을 추출할 때에는 QRCodeDetector::decode() 함수를 사용합니다. QRCodeDetector::decode() 함수 원형은 다음과 같습니다.

std::string QRCodeDetector::decode(InputArray img, InputArray points, 
 OutputArray straight_qrcode = noArray());

img

입력 영상

points

(입력) QR 코드를 감싸는 사각형의 네 꼭지점 좌표

straight_qrcode

(출력) 정사각형 QR 코드 영상. CV_8UC1

반환값

QR 코드에 포함된 문자열

 

QRCodeDetector::decode() 함수는 img 영상에서 QR 코드를 해석하여 QR 코드에 암호화되어 있는 문자열을 반환합니다. points 인자에는 보통 QRCodeDetector::detect() 함수로 구한 QR 코드 꼭지점 좌표를 전달합니다. 만약 straight_qrcode 인자에 Mat 자료형의 변수를 전달하면 정사각형 형태로 투영 변환된 QR 코드 영상이 반환됩니다. 만약 QR 코드에 포함된 문자열 추출에 실패하면 QRCodeDetector::decode() 함수는 빈 문자열을 반환합니다.

입력 영상에서 QR 코드 검출과 해석을 한꺼번에 수행하려면 QRCodeDetector::detectAndDecode() 멤버 함수를 사용하는 것이 편리합니다. QRCodeDetector::detectAndDecode() 함수 원형은 다음과 같습니다.

std::string QRCodeDetector::detectAndDecode(InputArray img, 
 OutputArray points = noArray(),
                                            OutputArray straight_qrcode = noArray());

img

입력 영상. CV_8U

points

(출력) QR 코드를 감싸는 사각형의 네 꼭지점 좌표

straight_qrcode

(출력) 정사각형 QR 코드 영상. CV_8UC1

반환값

QR 코드에 포함된 문자열

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.