OCR 소프트웨어에 성공할 수있는 기회를 제공하는 방법은 무엇입니까?
문제
나는 사용 중입니다 Tesseract OCR (을 통해 Pytesser응용 프로그램의 자동 테스트를위한) 및 PIL (Python Image Library).
TesserAct 덕분에 스크린 샷을 만들고 텍스트를 받음으로써 표시된 텍스트가 정상인지 확인하고 있습니다.
나는 처음에 몇 가지 문제가 있었고 PIL의 Bicubic 보간 덕분에 스크린 샷의 크기를 늘 렸기 때문에 더 잘 작동하는 것 같습니다.
불행히도, 나는 여전히 '0'과 'o'사이의 혼란과 같은 실수가 있습니다. 앞으로 다른 비슷한 문제가있을 것이라고 상상할 수 있습니다.
OCR을 돕기 위해 이미지를 준비하는 기술이 있는지 알고 싶습니다. 어떤 아이디어라도 환영받습니다.
미리 감사드립니다
해결책
뻔뻔한 플러그 및 면책 조항 : 내 회사 .NET에서 사용하기위한 패키지 TesserAct
TesserAct는 OC OCR 엔진입니다. 많은 것을 놓치고 텍스트가 아닌 것에 의해 쉽게 혼란 스러울 수 있습니다. 당신이 그것을 위해 할 수있는 최선의 방법은 텍스트 만 얻는 것입니다. 다음으로 가장 좋은 점은 산립적 이항화 (적응 형 또는 역동적 인 임계 값) 또는 그레이 스케일을 제공하고 이항화를 시도하는 것입니다.
다른 팁
- TesserAct를 훈련하여 글꼴을 인식하십시오
- 캐릭터 주위에 이미지를 더욱 깨끗하고 충분한 여유 공간으로 만드십시오.
- 이익 :)
몇 가지 실제 예제입니다.
- 첫 번째 이미지는 원본 이미지입니다 (자란 파워 미터 번호)
- 두 번째 이미지는 김프에서 약간 정리 된 이미지, Tesseract에서 약 50% OCR 정확도
- 세 번째 이미지는 완전히 정리 된 이미지입니다 - 100% OCR 훈련없이 인식됩니다!
최상의 조건에서도 OCR 변형이 당신에게 몰래 들어갑니다. 최선의 선택은 테스트를 알리기 위해 테스트를 설계하는 것입니다.
0과 O를 구별하기 위해 하나의 간단한 솔루션은 둘 다를 구별하는 글꼴을 선택하는 것입니다 (예 : 0은 중간에 대시 또는 점이 있습니다). 신청서에서 수용 할 수 있습니까?
또 다른 해결책은 텍스트의 문자 별 분석 후 사전 기반 단계를 적용하는 것입니다. 인식 된 텍스트를 어떤 형태의 맞춤법 검사기 또는 유효성 검사기에 공급하여 어려운 문자를 구별하는 것입니다.
예를 들어, 둥근 기호와 다른 숫자가 뒤 따르는 둥근 기호는 0 일 가능성이 높고, 동일한 기호와 문자가 뒤 따르는 것은 자본 O 일 가능성이 높습니다. 그것은 사소한 예이지만보다 신뢰할 수있는 OCR 시스템을 만드는 데 컨텍스트가 필요한 방법을 보여줍니다.