2012-07-26 4 views
9

Próbuję przetworzyć następujący obraz z leptonicą, aby wyodrębnić tekst za pomocą tesseract.Przetwarzanie obrazu dla OCR z leptonicą (odwrotny kolorowy tekst)

Obraz oryginału: original image

Tesseract na oryginalnym obrazie daje to:

i s l 
D2J1FiiE-l191x1iitmwii9 uhiaiislz-2 Q ~37 
Bottom linez 
With a little time! 
you can learn social media technology 
using free online resources- 
And if you donity 
youlll be at a significant disadvantage 
to 
other HOn-pFOiiTS- 

nie super, zwłaszcza górna tła. Więc za pomocą leptionica użyć algorytmu usuwania tła (rozmycie, różnica, próg, inwertowany), aby uzyskać następujący obraz: processed image

Ale tesseract nie robi dobrą robotę z nim:

@@r-mair [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]@ll 
mm Mime 
VWU1 a Mitt-Jle time- 
@1m [email protected]@Wn Om @@@lh1 
using free onhne resources- 
Andifyoudoni 
9110 ate a $0 D 
to other non-profrts 
I 

Głównym problemem wydaje się, że teraz cały tekst jest zarysowany zamiast solidnego. Jak mogę dostosować mój algorytm lub co mogę dodać, aby tekst był solidny?

Odpowiedz

9

Wydaje się, że dokument ten proponuje sposób binaryzacji który rozwiązuje problem:

T Kasar, J Kumar i G Ramakrishnan. Font and Background Color Independent Text Binarization. (2007)

Kasar etal method performance

+0

To świetnie. Zanim zaakceptuję odpowiedź, nie wiesz o implementacji tego algorytmu? – jasonlfunk

+0

Nie, niestety nie wiem, czy istnieje implementacja. – sastanin

+5

Zrobiłem implementację przy użyciu Pythona i OpenCV. Dzięki! https://github.com/jasonlfunk/ocr-text-extraction – jasonlfunk