2017-04-13 23 views
7

그래서 이미지에서 텍스트를 추출하려고합니다. 그리고 이미지의 품질과 크기가 좋지 않아 부정확 한 결과를 얻고 있습니다. 필자는 PIL을 사용하여 몇 가지 개선 사항 및 기타 사항을 시도했지만 이미지의 품질 만 악화시키고 있습니다.pytesseract 및 PIL을 통한 텍스트 인식 정확도 향상

누군가 더 나은 결과를 얻기 위해 이미지의 일부 개선을 제안 할 수 있습니까? 이미지의 몇 가지 예 : 문제는이 OCR은 부정확 한 결과를 제공한다는 오는 방법 그래서 텍스트를 시각적으로 꽤 좋은 품질의 이미지의 제공 예에서

two

three

+0

이해하는 한 stackoverflow에 대한 엄격한 규칙과이 규칙 중 하나는 질문에 대답하는 데 초점을 맞추는 것이고 질문하지 않은 경우 목표를 달성하기 위해 수행 할 수있는 다른 작업을 보여주는 데 집중하는 것입니다.그래서 당신이 더 나은 결과를 줄 수 있지만 이미지를 향상시키지 않은 것에 대한 답을 원하면 질문에 자유롭게 물어보십시오. – Claudio

+0

내 답변을 수락 한 것으로 표시하는 것은 어떻습니까? 내가 뭔가 설명하는 것을 놓쳤는가? – Claudio

+0

P. 다시 내 대답을 확인하십시오 - 그것에 몇 가지 설명을 추가했습니다. – Claudio

답변

4

?

는이 답변의 추가 텍스트에 주어진 결론의이 정팔 포체을 통해 지정된 이미지

enter image description here

을 실행할 수 있도록 설명합니다. 정팔 포체 OCR의 결과 아래 :

"fhpgearedmomrs©gmachom" 

지금의 이미지를 네 번 크기를 조정하고 여기에 임계 값을 적용 할 수 있습니다. 나는 김프에서 수동으로 크기와 thresholding을 수행했다. 그러나 PIL에 대한 적절한 크기 조정 방법과 임계 값을 사용하면 자동으로 향상시킬 수 있으므로 향상 된 이미지와 비슷한 이미지를 얻게된다.

"fhpgearedmotors © gmail.com"이 엉 있음을 보여줍니다

: enter image description here

정팔 포체 OCR을 통해 향상된 이미지 실행 텍스트 다음 부여합니다 큰 이미지는 제공된 텍스트 이미지 예제에서 100 % 정확도를 달성하는 데 도움이 될 수 있습니다.

이미지를 확대하면 OCR 정확도가 향상되지만 OCR은 인쇄 된 미디어 스캔을 텍스트로 변환하고 텍스트를 300dpi 이미지로 디자인하도록 개발되었습니다. 이것은 일부 OCR 프로그램이 결과를 향상시키기 위해 텍스트 자체의 크기를 조정하지 않았고 확대하여 얻을 수있는 이미지의 높은 dpi 해상도를 기대하는 작은 글꼴에서 좋지 않은 이유를 설명합니다.

여기에 위의 문을 prooving Tesseract FAQ on github.com에서 발췌 :

[합리적인 정확성에 대한 최소 텍스트 크기가있다. 해상도뿐만 아니라 포인트 크기도 고려해야합니다. 정확도는 10pt x 300dpi 미만으로 급격히 떨어지고 8pt x 300dpi 미만으로 급격히 떨어집니다. 빠른 확인은 문자의 x 높이 픽셀을 계산하는 것입니다. (X 높이는 소문자 x의 높이입니다.) 10pt x 300dpi x 높이의 글꼴 크기는 글꼴마다 다를 수 있지만 일반적으로 약 20 픽셀입니다. x 높이가 10 픽셀 미만인 경우 정확한 결과를 얻을 가능성이 거의없고 약 8 픽셀 미만에서는 대부분의 텍스트가 "노이즈 제거됨"입니다.]

+0

아주 좋은 설명과 좋은 대답입니다. 저는 이미지 (문서 섹션을 인식하는 소프트웨어)에서 텍스트를 읽는 작업을 해왔고 텍스트를 인식 할 수 있도록 이미지를 확대해야하는 횟수와 같은 동적 변수를 얻을 수 있었는지 알고 싶었습니다. 800x800 인 이미지의 경우 1600x1600으로 확대하면 모든 것을 인식하지만 30x800 인 이미지는 모든 것을 인식하기 위해 120x3200으로 확대해야합니다 (쉼표, 점, 슬래시 등). 또한 "파일"이라는 단어가 잘 인식되지 않는 이유를 알고 있습니까? Char 'i'는 영어 알파벳이 아닙니다. –