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

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

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


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

 

예제 코드의 정보는

저작자 표시 비영리 변경 금지
신고

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

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