Lær hvordan du korrekt gjenkjenner tekst i et bilde med tesseract og ocrfeeder.

Mange av dere må allerede kjenne programmene for optisk karaktergjenkjenning (OCR). I så fall har du kommet over noen som ikke gjenkjenner tegn som er typiske for det spanske språket, for eksempel eñe, tílde blant andre (ñ, ó, ü).

Nå takk til Tesseract og til pakken tesseract-ocr-eng Vi vil være i stand til å gjenkjenne disse tegnene, og vi vil se hvordan vi skal behandle visse bilder der farge- eller pikselnivået ikke er riktig.

Først må vi installere følgende programmer:

tesseract-ocr
tesseract-ocr-eng
ocrfeeder

I Debian anbefaler jeg deg å installere dem uten å installere de anbefalte programvarene:

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

Hvis vi har et bilde (skannet dokument) der brevet er leselig, vil det være mulig å gjenkjenne teksten i omtrent 90% av tilfellene. Tabellene blir ikke gjenkjent. Hvis bildet har to kolonner, vil det automatisk gjenkjenne en kolonne først og deretter den andre for å opprettholde rekkefølgen på teksten.

Det er to måter å gjenkjenne teksten på, en via kommandolinjen i en terminal eller gjennom ocrfeeder, sistnevnte vil kreve mer behandlingstid:

Kommandolinjemetode:

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

For konvertering av flere bilder vil vi bruke følgende kommando:

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

For å bli med de resulterende tekstfilene i mappen vil vi bruke følgende kommando som avsnittene blir koblet til riktig.

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

Metode med ocrfeeder:
1- Vi åpner ocrfeeder-programmet.
2- Vi redigerer motoren ved å klikke på Verktøy - OCR-motorer, velge esseract-motoren og klikke på rediger, og der det står motorargumenter, endrer vi skriptet for denne:

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

3- Vi importerer et bilde eller en mappe der det er flere bilder.
4- Vi klikker på identifiser dokument, når dokumentet er identifisert kan du manuelt velge hvilke deler av det som skal være bilder eller tekst.
5- Før vi eksporterer dokumentet, klikker vi på Rediger - Rediger side, vi velger ønsket side, den vanligste er bokstav (bokstav).
6- For å eksportere dokumentet klikker vi på Fil - Eksporter, vi velger ønsket utdataformat. Hvis dokumentet har bilder, anbefaler jeg deg å bruke odt- eller html-formatet. Hvis det bare er tekst, er det best å bruke vanlig tekst ( txt) format.

Dette slutter ikke her fordi det er mange kopier hvis kvaliteten ikke er tilstrekkelig. For å reparere disse vil vi bruke gimp og det pregede filteret (Denne prosessen kan være treg):
1- Vi åpner bildet med gimp.
2- Vi klikker på filtre - forvrengninger - preging, vi velger bump-kartboksen, vi justerer azimuthnivåene til omtrent 162,25, høyde til 88,73 og dybde til 6 eller 3. Vi lagrer bildet med 100% kvalitet hvis det er jpg, i eksport - name.jpg.

Alternativt kan du justere hvite nivåer ved å klikke på Farger - Nivåer - automatisk.