메뉴판 인식 - MenuBoard Recognition For foreign

Developed Program/Windows Mobile 2010. 10. 19. 18:10


인터페이스쪽에서의 특징이라면
먼저 Camera 와 Image, 양쪽 입력영상을 사용하는데 있겠다.
Windows Mobile의 카메라 여는 함수를 이용, 메뉴판을 캡쳐
(preprocessing이 좀 허술해서 제대로 하려면 실제 배경이 있는 메뉴판에서 텍스트 디텍션을 해야겠지만 
A4에 메뉴만 인쇄하여 이를 이용한다) 하여 이진화, 분할 , 인식, DB결과 출력을 거친다.

한글의 자모분리에서 떨어진 문자는 영상처리에서 흔히들 사용하는
Labeling(Connected Component) 알고리즘을 이용해서 쉽게 분리할 수 있지만

Labeling Algorithm



와 같이 연결성이 있는 화소들에 고유 숫자를 매기는 알고리즘.

필자는 GrassFire(잔디에서 불이 퍼져나가는 모양과 유사하다하여 붙여진 이름, 일종의 재귀 함수)를 이용했었다.

'거' 와 같이 자음과 모음이 접촉 되어 있는 경우 이를 분리할 알고리즘이 문제였다.
Fuzzy - 인공지능 -  같은 방법을 이용해 학습시켜 분리할 수도 있지만 뉴런 쪽을 전혀 배운 적이 없었기 때문에 다른 방법을 이용해야 했다.

여러 논문들을 찾아보고 난 뒤에 이용할 만한 정보를 얻을 수 있었는데,
한글의 유형을 분리한 뒤,특정 유형에 따라 나눈 것에서 부터 시작했다.

한글의 유형



만약 1 유형이라면 접촉모음은 반드시 수직모음이다.
2 유형에서 접촉모음이 있다면 그 모음은 반드시 수평모음이다.
그렇다면 자음과 모음이 만나는 점에서 쪼개버리면 된다.


유형을 나누는 부분도 꽤 골치가 아픈데, 유료 논문의 알고리즘인만큼 여기서 언급하기는 곤란하고, 궁금하다면 직접 돈주고 구매하기 바란다. ( 저 같은 경우는 학교에서 미리 다 결제를 해놨기 때문에 별도 요금없이 볼 수 있었습니다 )




위 이미지는 자모를 분리한 결과이다.


최종 산출물의 결과는
슬라이드 쇼를 확인하기 바란다.

                                    
012345678