OCR 소프트웨어에 성공할 수있는 기회를 제공하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1335581

  •  20-09-2019
  •  | 
  •  

문제

나는 사용 중입니다 Tesseract OCR (을 통해 Pytesser응용 프로그램의 자동 테스트를위한) 및 PIL (Python Image Library).

TesserAct 덕분에 스크린 샷을 만들고 텍스트를 받음으로써 표시된 텍스트가 정상인지 확인하고 있습니다.

나는 처음에 몇 가지 문제가 있었고 PIL의 Bicubic 보간 덕분에 스크린 샷의 크기를 늘 렸기 때문에 더 잘 작동하는 것 같습니다.

불행히도, 나는 여전히 '0'과 'o'사이의 혼란과 같은 실수가 있습니다. 앞으로 다른 비슷한 문제가있을 것이라고 상상할 수 있습니다.

OCR을 돕기 위해 이미지를 준비하는 기술이 있는지 알고 싶습니다. 어떤 아이디어라도 환영받습니다.

미리 감사드립니다

도움이 되었습니까?

해결책

뻔뻔한 플러그 및 면책 조항 : 내 회사 .NET에서 사용하기위한 패키지 TesserAct

TesserAct는 OC OCR 엔진입니다. 많은 것을 놓치고 텍스트가 아닌 것에 의해 쉽게 혼란 스러울 수 있습니다. 당신이 그것을 위해 할 수있는 최선의 방법은 텍스트 만 얻는 것입니다. 다음으로 가장 좋은 점은 산립적 이항화 (적응 형 또는 역동적 인 임계 값) 또는 그레이 스케일을 제공하고 이항화를 시도하는 것입니다.

다른 팁

  1. TesserAct를 훈련하여 글꼴을 인식하십시오
  2. 캐릭터 주위에 이미지를 더욱 깨끗하고 충분한 여유 공간으로 만드십시오.
  3. 이익 :)

몇 가지 실제 예제입니다.

  • 첫 번째 이미지는 원본 이미지입니다 (자란 파워 미터 번호)
  • 두 번째 이미지는 김프에서 약간 정리 된 이미지, Tesseract에서 약 50% OCR 정확도
  • 세 번째 이미지는 완전히 정리 된 이미지입니다 - 100% OCR 훈련없이 인식됩니다!

enter image description here enter image description here enter image description here

최상의 조건에서도 OCR 변형이 당신에게 몰래 들어갑니다. 최선의 선택은 테스트를 알리기 위해 테스트를 설계하는 것입니다.

0과 O를 구별하기 위해 하나의 간단한 솔루션은 둘 다를 구별하는 글꼴을 선택하는 것입니다 (예 : 0은 중간에 대시 또는 점이 있습니다). 신청서에서 수용 할 수 있습니까?

또 다른 해결책은 텍스트의 문자 별 분석 후 사전 기반 단계를 적용하는 것입니다. 인식 된 텍스트를 어떤 형태의 맞춤법 검사기 또는 유효성 검사기에 공급하여 어려운 문자를 구별하는 것입니다.

예를 들어, 둥근 기호와 다른 숫자가 뒤 따르는 둥근 기호는 0 일 가능성이 높고, 동일한 기호와 문자가 뒤 따르는 것은 자본 O 일 가능성이 높습니다. 그것은 사소한 예이지만보다 신뢰할 수있는 OCR 시스템을 만드는 데 컨텍스트가 필요한 방법을 보여줍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top