Lær, hvordan du korrekt genkender tekst i et billede med tesseract og ocrfeeder.

Mange af jer skal allerede kende de optiske tegngenkendelsesprogrammer (OCR), hvis i så fald er du stødt på nogle, der ikke genkender tegn, der er typiske for det spanske sprog som f.eks. Eñe, tílde (ñ, ó, ü).

Nu tak til Tesseract og til pakken tesseract-ocr-eng Vi vil være i stand til at genkende disse tegn, og vi vil se, hvordan vi behandler visse billeder, hvor farve- eller pixelniveauet ikke er korrekt.

Først skal vi installere følgende programmer:

tesseract-ocr
tesseract-ocr-eng
ocrfeeder

I Debian råder jeg dig til at installere dem uden at installere de anbefalede software:

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

Hvis vi har et billede (scannet dokument), hvor brevet er læseligt, vil det være muligt at genkende teksten i cirka 90% af tilfældene, tabellerne genkendes ikke, hvis billedet har 2 kolonner, genkender det automatisk en kolonne først og derefter den anden for at opretholde rækkefølgen af ​​teksten.

Der er 2 måder at genkende teksten på, en gennem kommandolinjen i en terminal eller gennem ocrfeeder, sidstnævnte kræver mere behandlingstid:

Kommandolinjemetode:

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

Til konvertering af flere billeder bruger vi 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 at slutte sig til de resulterende tekstfiler i den nævnte mappe vil vi bruge følgende kommando, hvoraf afsnitene sammenføjes korrekt.

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 åbner ocrfeeder-programmet.
2- Vi redigerer motoren ved at klikke på Værktøjer - OCR-motorer, vælge esseract-motoren og klikke på rediger, og hvor det står motorargumenter, ændrer vi scriptet til denne:

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

3- Vi importerer et billede eller en mappe, hvor der er flere billeder.
4- Vi klikker på identificer dokument, når dokumentet er identificeret, kan du manuelt vælge, hvilke dele af det der skal være billeder eller tekst.
5- Før vi eksporterer dokumentet, klikker vi på Rediger - Rediger side, vi vælger den ønskede side, den mest almindelige er bogstav (bogstav).
6- For at eksportere dokumentet klikker vi på File - Export, vi vælger det ønskede outputformat. Hvis dokumentet har billeder, råder jeg dig til at bruge odt- eller html-formatet, hvis det kun er tekst, er det bedst at bruge almindelig tekst ( txt) format.

Dette slutter ikke her, fordi der er mange fotokopier, hvis kvalitet ikke er tilstrækkelig. For at reparere disse bruger vi gimp og det prægede filter (Denne proces kan være langsom):
1- Vi åbner billedet med gimp.
2- Vi klikker på Filtre - Forvrængninger - Prægning, Vi vælger bump-kortboksen, vi justerer azimuthniveauerne til cirka 162,25, højde til 88,73 og dybde til 6 eller 3. Vi gemmer billedet med 100% kvalitet, hvis det er jpg, i eksport - navn.jpg.

Eventuelt kan du justere de hvide niveauer ved at klikke på Farver - Niveauer - auto.