Dowiedz się, jak poprawnie rozpoznawać tekst na obrazie za pomocą tesseract i ocrfeeder.

Wielu z was musi już znać programy do optycznego rozpoznawania znaków (OCR), a jeśli tak, to natknęliście się na takie, które nie rozpoznają znaków typowych dla języka hiszpańskiego, takich jak między innymi eñe, tílde (ñ, ó, ü).

Teraz dzięki tesseract i do pakietu tesseract-ocr-eng Będziemy w stanie rozpoznać te znaki i zobaczymy, jak traktować niektóre obrazy, w których poziomy kolorów lub pikseli są nieprawidłowe.

Najpierw musimy zainstalować następujące programy:

tesserakt-ocr
tesseract-ocr-eng
karmnik

W Debianie radzę zainstalować je bez instalowania zalecanego oprogramowania:

sudo apt-get --no-install-recommends install ocrfeeder tesseract-ocr-spa tesseract-ocr

Jeśli mamy obraz (zeskanowany dokument), w którym litera jest czytelna, to w około 90% przypadków będzie można rozpoznać tekst, tabele nie zostaną rozpoznane, jeśli obraz ma 2 kolumny to automatycznie rozpozna najpierw kolumnę, a potem drugą, aby zachować porządek tekstu.

Istnieją 2 sposoby rozpoznania tekstu, jeden przez wiersz poleceń w terminalu lub przez ocrfeeder, drugi będzie wymagał więcej czasu przetwarzania:

Metoda linii poleceń:

tesseract "/entrada/fichero.jpg" "/salida/fichero.txt" -l spa -psm 3

Do konwersji wielu obrazów użyjemy następującego polecenia:

cd /carpeta/imagenes
find ./ -name "*.jpg" | sort | while read file; do tesseract "$file" "`basename "$file" | sed 's/\.[[:alnum:]]*$//'`.txt" -l spa -psm 3; done

Aby dołączyć wynikowe pliki tekstowe we wspomnianym folderze, użyjemy następującego polecenia, za pomocą którego akapity zostaną poprawnie połączone.

cd /carpeta/imagenes
find ./ -name "*.txt" | sort | while read file; do cat "$file" | sed 's|^$|##|g' | tr '\n' " " | tr '##' "\n" >> Texto-unido.txt; done

Metoda z ocrfeeder:
1- Otwieramy program ocrfeeder.
2- Edytujemy silnik, klikając Narzędzia - Silniki OCR, wybieramy silnik esseract i klikamy edytuj, a tam, gdzie jest napisane argumenty silnika, zmieniamy skrypt dla tego:

$IMAGE $FILE -l spa -psm 3 > /dev/null 2> /dev/null; cat $FILE.txt; rm $FILE $FILE.txt

3- Importujemy obraz lub folder, w którym jest kilka obrazów.
4- Klikamy na zidentyfikuj dokument, po zidentyfikowaniu dokumentu możesz ręcznie wybrać, które jego części będą obrazami lub tekstem.
5- Przed wyeksportowaniem dokumentu klikamy Edytuj - Edytuj stronę, wybieramy żądaną stronę, najczęściej jest to litera (litera).
6- Aby wyeksportować dokument, klikamy Plik - Eksportuj, wybieramy żądany format wyjściowy, jeśli dokument zawiera obrazy radzę użyć formatu odt lub html, jeśli jest to tylko tekst, najlepiej użyć zwykłego tekstu ( txt).

Na tym się nie kończy, ponieważ istnieje wiele kserokopii, których jakość nie jest odpowiednia, aby je naprawić, użyjemy żyłki i wytłaczanego filtra (proces ten może być powolny):
1- Otwieramy obraz za pomocą żyłki.
2- Klikamy Filtry - Zniekształcenia - Tłoczenie, Wybieramy pole mapy wypukłości, dostosowujemy poziomy azymutu do około 162,25, elewację do 88,73 i głębokość do 6 lub 3. Zapisujemy obraz z jakością 100%, jeśli jest to jpg, w eksporcie - nazwa.jpg.

Opcjonalnie możesz dostosować poziomy bieli, klikając Kolory - Poziomy - auto.