질문자 : oskal_f_j | 링크 : http://cafe.naver.com/winmodev/637 |
<질문내용> 옴니아에서 QRCode 리더 어플을 짜는데 너무 어렵네여..
카메라 API를 이용해서(SimpleCamera 참고) 넘어오는 이미지를 유명한 코드프로젝트 C#용 QRCode 라이브러리 http://www.codeproject.com/KB/cs/qrcode.aspx 로 디코딩했습니다.
헌데 인식률이 너무 떨어지네여. 속도도 느리구요. 구글링해서 찾은 프로그램은 찍지 않아도 실시간으로 상당히 빠르게 분석하네요.
한가지 알게 된것 카메라로 찍은 이미지에 여러가지 영상처리를 해주고 나서 디코딩 알고리즘에 그 이미지 데이터를 넣어야 하는 것 같더군여.
영상처리를 어떻게 하면 될까요. 자료를 찾는데 너무 힘드네여. 시간은 없고, 걱정입니다. | |
<답변내용> 영상처리는 하나의 학문으로 분리될 정도로 방대한 양을 자랑하는 분야 입니다 일단 카메라로 입력되는 영상의 2차원 바코드를 인식하기 위해서는 좀더 살펴봐야겠지만, Encoder로 생성한 2차원 바코드에 인위적으로 조명이라 가정하고 영상에 노이즈를 추가한 뒤 Decoder로 확인을 해보니, 바로 인식을 할 수 없더군요 내부적으로도 패턴을 찾는 부분이 있긴 하지만, 이대로는 그냥 쓰기에는 너무 느린감이 없잖아 있네요 이 라이브러리는 Decoding 하기 전 단계에 2차원 바코드가 최대한 정확하게 인식이 되어 있는 상태에서만 Decode가 가능한 라이브러리 입니다 질문 내용에 말씀하셨듯이 카메라 입력영상에 따른 영상처리를 전처리 작업을 진행해야 합니다 위에 적은 내용이 논문에서 썼던 방법들이라 좀 복잡한 부분이 많은데요 대부분은 입력되는 카메라 영상을 실시간으로 분석해서 2차원 바코드를 발견시(Ex : 패턴인식) 후보영역으로 등록 후(Ex : 레이블링), 조명보정(Ex : 평활화 등등)를 거쳐, 바코드 인식 라이브러리에 입력이 되는 것 입니다 이러한 부분들을 직접 구현하신다면 무척이나 오래걸리고 어려우실 겁니다 일단 영상처리를 할 수 있는 라이브러리를 구하셔서 전처리 후 2차원 바코드 Decode 작업을 하셔야 할 것 같네요
| |
작성일 : |
Mobile Develop/WinMoDev Q&A