Rozpoznawanie tekstu na zdjęciach za pomocą tesseract
tesseract to jeden z najlepszych silników OCR - do rozpoznawania tekstu na grafikach. Po instalacji dostajemy konsolową aplikację, która przyjmuje ścieżkę do pliku graficznego i zapisuje wynik w pliku tekstowym. Silnik obsługuje też różne języki przy rozpoznawaniu tekstu, w tym język polski.
W przypadku dystrybucji Linuksa tesseract powinien być dostępny w pakietach. Oprócz bazowego pakietu instalujemy też pakiet językowy (np. "tesseract-ocr-pol"). Użycie silnika wyglądałoby tak:
tesseract stworzy plik tekstowy o podanej nazwie (nie podajemy rozszerzenia). W pliku tym znajdziemy tekst jaki silnik rozpoznał na zdjęciu (jeżeli w ogóle).
W przypadku Pythona mamy dostępną nakładkę, którą możemy stosować jak aplikację lub importować funkcję w kodzie naszej aplikacji.
import Image
from tesseract import image_to_string
print image_to_string(Image.open('plik.jpg'), lang='pol')
Nakładka wykorzystuje PIL. Przed przekazaniem pliku możemy go zmodyfikować. z PIL.ImageOps możemy użyć "grayscale" by otrzymać grafikę w odcieniach szarości - to zwiększa efektywność silnika dla niektórych zdjęć/grafik. Dla tekstu na zdjęciach połączenie "grayscale" i "equalize" może okazać się nieco lepsze.
Comment article