검출된 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 코드에 포함된 문자열 |