모니터의 글씨를 인식하는 OCR을 개발하였다.
목표는 컴퓨터상의 글씨 100% 인식.. 숫자, 영문, 한글, 그외 유니코드를 지원하는 모든언어...
사용기술은
1. C++
2. OpenCV 2.4.9
3. C# Dotnet Framework 2.0
4. SQLite3
인식률은 거의 100%에 가깝다. (한글 영문, 숫자 기호 포함)
프로그램은 총 2가지
1. OCR DB 생성 프로그램
2. OCR 인식 엔진(static DLL)
모든 언어가 가능하다..
UNICODE로 표현만 할수 있다면..(거의 모든 언어가 UNICODE로 표현됨)
한문, 일어 등등 약간의 테스트를 해봤는데 아주 잘된다.
OCR(optical character reader) 이라하면 글자인식 부터 떠올릴 것이다..
OpenSource OCR 엔진 (tesseract) 이 Google에 의해 공개되고 있으며
ABBYY사의 유료 OCR도 존재한다..
필요로 하는건 모니터에 표시된 글씨를 인식시키는것이 목표였다.
일단 PC의 화면을 ScreenCapture하여 tesseract에 돌려봤는데.. 실패;;;; (인식률 50%도 않나옴)
tesseract를 학습시키고 돌려봤는데.... 역시나;;;;;
tesseract에 실패를 맛보고 ABBYY사의 OCR을 돌려봤으나.. 역시 실패..
실패원인은 위 두개의 OCR 알고리즘은 일단 이미지의 DPI가 높아야된다..
PC화면에 표시되어있는 글씨는 고작 해봐야 10px * 10px 정도... 터무니없는 픽셀단위의 이미지이다.
스크린캡쳐를 따서 DPI를 높이기위해 이미지 처리도 해보고.. Anti-aliasing 도 적용해보고.. 다 해봐도
역시나 실패하였다..
그냥 직접 개발하기로 마음먹었다.
돋움체 14pt Regular
PC Screen에서 캡쳐한 위 두 이미지를 OCR 엔진에 돌린결과는 아래와 같다.
인식률은 100% 나온다.. 위 DB에는 (숫자, 기호, 영문, 한글)이 포함된 DB로 인식된 글씨다.
이 Screen Text OCR 엔진은 글씨가 어느 위치든.. Height가 가변이든 상관없이 인식률 100%의 성능을 내준다. 또한 성능이 뛰어나다..
(약 10글자 인식시 0.02초)
문의는 hslee147@gmail.com 으로 보내주세요~~ 리플은 자주 확인하기 힘드네요 ㅠ
'개발노트' 카테고리의 다른 글
tesseract OCR 학습 순서 (0) | 2017.12.25 |
---|
댓글