Naučite kako pravilno prepoznati tekst na slici pomoću tesseract-a i ocrfeedera.

Mnogi od vas već moraju znati programe za optičko prepoznavanje znakova (OCR), ako jesu, naišli ste na neke koji ne prepoznaju znakove tipične za španjolski jezik, poput eñe, tílde između ostalog (ñ, ó, ü).

Sada zahvaljujući Tesseract i na paket teserakt-ocr-spa Moći ćemo prepoznati ove znakove i vidjet ćemo kako postupati sa određenim slikama gdje razina boje ili piksela nije točna.

Prvo moramo instalirati sljedeće programe:

teserakt-okr
teserakt-ocr-spa
ocrfeeder

U Debianu savjetujem da ih instalirate bez instaliranja preporučenih softvera:

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

Ako imamo sliku (skenirani dokument) u kojoj je pismo čitljivo, tekst će biti moguće prepoznati u otprilike 90% slučajeva, tablice neće biti prepoznate, ako slika ima 2 stupca, automatski će prepoznati prvo stupac, a zatim drugi da bi se održao redoslijed teksta.

Postoje dva načina za prepoznavanje teksta, jedan kroz naredbeni redak na terminalu ili putem ocrfeeder-a, za potonji će biti potrebno više vremena za obradu:

Način naredbenog retka:

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

Za pretvorbu više slika koristit ćemo sljedeću naredbu:

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

Za pridruživanje rezultirajućih tekstualnih datoteka u spomenutoj mapi upotrijebit ćemo sljedeću naredbu s kojom će se odlomci pravilno spojiti.

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 s ocrfeeder-om:
1- Otvaramo program ocrfeeder.
2- Uređujemo motor klikom na Alati - OCR motori, odabiremo esseract motor i kliknemo na uredi, a tamo gdje pišu argumenti motora mijenjamo skriptu za ovaj:

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

3- Uvozimo sliku ili mapu u kojoj ima nekoliko slika.
4- Kliknemo na identificiraj dokument, nakon što dokument bude identificiran, možete ručno odabrati koji će dijelovi biti slike ili tekst.
5- Prije izvoza dokumenta kliknemo Uredi - Uredi stranicu, odabiremo željenu stranicu, najčešće je pismo (pismo).
6- Za izvoz dokumenta kliknemo Datoteka - Izvoz, odabiremo željeni izlazni format, ako dokument ima slike, savjetujem vam da koristite format odt ili html, ako je riječ samo o tekstu, najbolje je koristiti obični tekst ( txt) format.

Ovo ovdje ne završava jer postoji mnogo fotokopija čija kvaliteta nije odgovarajuća. Za njihovo popravak koristit ćemo gimp i utisnuti filtar (ovaj postupak može biti spor):
1- Otvaramo sliku gimp-om.
2- Kliknemo na Filteri - Izobličenja - Utiskivanje, Odabiremo okvir bump karte, prilagodimo razinu azimuta na približno 162,25, nadmorsku visinu na 88,73 i dubinu na 6 ili 3. Snimamo sliku sa 100% kvalitete ako je jpg, u izvozu - ime.jpg.

Po želji možete prilagoditi razine bijele boje klikom na Boje - Razine - automatski.