2015-02-03 4 views
1

그래서 안드로이드에서 OCR 라이브러리 (tesseract)를 사용하여 카메라 그림을 스캔하고 몇 가지 작업을 수행하는 간단한 모바일 앱 프로젝트 (주로 재미) 텍스트로 변환하여 사용자에게 반환하십시오.문자의 문자열이 이해할 수있는 단어를 만드는 방법을 알려주는 방법

내가 궁금해하는 점은 프로그래밍 방식으로 (또는 통계적으로) 문자 스트링이 실제 단어를 만들거나 어리석은 것인지를 알 수있는 방법을 알고있는 사람이 있는지 궁금합니다. OCR이 그림을 읽을 수 있으며,이

String returned = "The quick brown fox."

를 반환 할 수 있습니다 또는, 다른 사진을 읽고

를 반환 할 수 있습니다 예를 들어,

(난 단지 참고로,이 시점에서 영어를 대상으로하고 있습니다)

String returned = "$. _- %/ hj @;+__~"

물론, 첫 번째 문자열 반환은 말을하고 두 번째는 횡설수설이다. 누군가가 좋은 수익과 말도 안되는 수익을 쉽게 구별 할 수있는 아이디어를 갖고 있는지 궁금합니다.

+1

Cross Validated : http://stats.stackexchange.com/ – DennisW

+0

사용자가 어떤 종류의 텍스트를 찍을 것으로 기대하십니까? –

+0

Corey, Tesseract를 사용하고 있기 때문에 주로 인쇄 된 텍스트 (예 : 포스터, 서적 등)에 초점을 맞추어 대상이됩니다. 필자의 테스트에서 손으로 쓴 노트의 다양한 결과를 보았지만 인쇄물 만 대상으로했습니다. –

답변

1

일부 문자 빈도 및 기타 통계를 실행하십시오. 나는 빈 공간의 빈도와 배치, 단어의 크기, 그리고 사용자가 사진을 찍을 것으로 기대하는 내용에서 찾을 것으로 기대하지 않는 기호의 빈도를 찾는다.

많은 양의 텍스트가 예상되는 경우 알파벳의 빈도를 확인하고 문자가 영어로 알려진 문자 주파수와 일치하는지 확인하십시오. 영수증을 원하면 평소보다 많은 번호를 찾으십시오.

결국 결국 사용자가 원하는대로 결정하도록 할 수 있습니다. 모든 분석은 무시할 수있는 경고를 "사용자가 원하는 것으로 믿지 않습니다"라는 경고 만 표시 할 수 있습니다.

나는 텍스트가 제대로 해독 될 때를 알기 위해 a Project Euler problem을 해결하기 위해 이와 같은 개념을 사용했습니다.

+0

AH! 이것은 완벽 해. 아이디어를 가져 주셔서 감사합니다! –

1

쉬운 해결책은 유효한 단어 사전을 가지고 있고 반환 된 단어가 사전에 있는지 확인하는 것입니다.

+0

그건 내 첫 번째 생각이지만, 구현은 다소 번거롭고 (사전 파일이 필요하고 각 "단어"가 사전에 대해 확인되도록 반환 됨). 아마도 이것은 이것을 수행 할 수있는 유일한 방법이지만 다른 누군가가 더 나은 해결책을 가지고 있는지 알지 못했습니다. –