QR-code: decoder

Image Recognition 2012. 1. 26. 00:54

이미지에서 코드의 영역을 검출한 후에 는 코드 영역의 비트 값을 읽어 들여서 디코딩하는 과정을 거쳐야 최종적으로 QR-code가 담고 있는 정보를 읽을 수 있다. 검출된 코드 영역은 역 perspective 변환을 거치면 정사각형의 코드 영역으로 변환된다. 그러나 이 과정은 실제 프로그램 설계에서는 불필요한 과정이다. 이미 주어진 perspective 변환을 이용하면, 이진화된 원래의 이미지에서 바로 코드를 재구성할 수 있다. 아래의 그림은 이 과정을 빠르게 수행하기 위해서 코드 영역을 블록 단위로 구분하는 마스크 이미지를 만든 것을 보여준다.

 

 

마스크 이미지: 컬러는 각 블록의 라벨링을 표현하기 위해서 사용했다.

 

이 마스크를 이용하면 각 블럭의 비트 값을 majority test에 의해서 쉽게 결정할 수 있다.
재구성된 코드블럭:

 


이제 나머지는 QR-code의 스펙을 참고하면 (Reed-Solomon error-correction code는 영상처리 관점에서 약간 벗어나므로 취급하지 않음) 인코딩 된 정보를 얻을 수 있다:

 

 

 

 

예제 코드의 정보는

 

 

728x90

'Image Recognition' 카테고리의 다른 글

Integral Image을 이용한 Adaptive Threshold  (0) 2012.02.04
Peak Finder  (1) 2012.02.02
QR-code: detector  (0) 2012.01.12
Adaboost  (0) 2010.12.28
Blur Detection  (0) 2010.05.25
Posted by helloktk
,