본문 바로가기

NDS

Palib - 문자인식 Shape Recognition

NDS의 가장 큰 기능이라면 터치스크린일 것이고 터치스크린을 가장 잘 활용한 기능이라면 문자인식일 것이다.
서로 방식은 다르지만 터치식 PDA나 NDS 게임인 매일 DS 두뇌 트레이닝등에서 이 기능이 구현되어있다.
사용자 삽입 이미지
사용자 삽입 이미지

Palib에서도 몇가지 함수로 지원하고 있다.

char PA_CheckLetter (void)
  Analyzes the drawn shape and returns a letter according to it. 0 if nothing. The drawn shape's string is copied into PA_RecoShape on Stylus Release. You can find a copy of the current letters used here :
http://www.palib.info/Reco/PAGraffiti.gif

void PA_RecoAddShape (char letter, char *shape)
  Adds a new shape to the recognition system
void PA_ResetRecoSys (void)
  Resets the Recognition system
void PA_UsePAGraffiti (u8 use)
  Set on or off the PA Graffiti letters. You'll want to turn them off if you plan on using your own shapes....

초간단 설명하자면 PA_usePAGraffiti로 기존 인식방식을 사용할지 안할지를 결정하고 PA_RecoAddShape로 모양인식을 추가하고 PA_CheckLetter로 현재 화면에 그려진것이 어떤 모양인지 분석한다. PA_ResetRecoSys로 인식 시스템을 리셋한다.

RecoGraffiti 예제
사용자 삽입 이미지
아래 방법대로 해야 인식된다.
사용자 삽입 이미지

함수도 몇가지 없고 사용하는법도 별로 어렵지않다.
가장 큰문제는...

첫째, 어떤 모양이 어떤 한글 문자인지 자료를 구축하는 일이고
둘째, 현재 1 byte 로만 처리하는 방식에 어떻게 한글(2 byte)에 적용 시킬것이며
셋째, 어떤 방식으로 인식방법을 구현할 것인지가 문제이다.

사실 문자인식(필기인식)은 상용화된 프로그램도 많지만 오픈 소스는 별로 없을 정도로 구현하기 힘든 기능이다. 어느정도까지 가능할지는 모르겠지만 Palib에서 지원하는 범위내에선 한번 도전해볼만한 것같다.

관련 뉴스
http://www.dt.co.kr/contents.html?article_no=2007072302011832718002

Palib에서 기본 지원하는 방식은 뉴스에 소개된 그래피티 기술이다.
backspace(←)/space(→)/return(↙) 같은 시스템입력도 지원하는게 특징이다.

아래는 국내 필기인식 소프트웨어 디오펜의 설명이다.
http://www.diotek.co.kr/ko/Solutions/handwriting/
사용자 삽입 이미지

탐나기도하고 해보고 싶은 기능도 많지만 우선 해보고 싶은건 한글 후보 추천 기능.
PDA 소프트웨어에서 지원하는걸 본적이 있는데 필기인식률이 별로라면 괜찮을듯 싶다.

메모장 만드는데 필기인식이 있다면 훨씬더 돋보일텐데 과연...

------- 추가

XP 에도 기본적으로 필기인식을 지원하고 있다.
사용자 삽입 이미지

2008/08/26 - [NDS/NDS_Palib] - Palib - Shape Recognition 원리

'NDS' 카테고리의 다른 글

Palib - Shape Recognition 원리  (0) 2008.08.26
Palib - PA_16bitDrawCircle 함수  (6) 2008.08.25
PA_Draw 는 어떻게 그려질까? 2  (0) 2008.08.25
PA_Draw 는 어떻게 그려질까?  (2) 2008.08.22
NDS SuChupDS 0.2.1 BMP 저장 이미지  (0) 2008.08.22