Tesseract OCR: Installation og brug på Ubuntu 16.04

Tesseract OCR: Installation og brug på Ubuntu 16.04

Tesseract er en af ​​de mest kraftfulde open source OCR-motorer til rådighed i dag. OCR står for optisk tegnegenkendelse. Dette er processen med uddragning af tekster fra billeder. For eksempel overvej det følgende billede, der har nogle tekst i det, der skal udtrækkes:

Outputen fra OCR-motoren, når en del behandling er færdig, vil det være sådan noget:

  Åben adgangsknap

Sådan fungerer OCR. Det er nyttigt i mange applikationer som nummerpladegenkendelse af køretøjer, konvertering af scannede kopier af dokumenter til ordformat, automatisk udtrækning af detaljer fra kvitteringer mv. Det udgør også det første skridt i mange opgaver i forbindelse med naturligt sprogbehandlingsarbejde. I denne tutorial vil vi se nærmere på, hvordan du hurtigt installerer og konfigurerer Tesseract, imagemagick og hvordan man bruger dem for at få de bedste resultater med forbehandling af billeder.

Billedforbehandling er en vigtig del af udførelsen af ​​OCR med Tesseract. Dette sikrer, at nøjagtigheden af ​​den uddragne tekst er høj og reducerer fejlen. Vi vil gennemgå nogle grundlæggende operationer til at udføre på billedet ved hjælp af det. Imagemagick er et værktøjslinje baseret på billedbehandling, der hjælper os med at udføre operationer som beskæring, ændring af størrelse, ændring af farveskemaer osv.

1 Installer Tesseract

Det er ret nemt at installere tesseract, kør følgende kommandoer:

sudo til at opdatere sudo apt install tesseract-ocr

Dette installerer Tesseract-motoren. Billedet nedenfor viser output, når det er installeret korrekt:

Installer Tesseract

Den næste ting at gøre er at installere sprogpakkerne. Tesseract er meget robust, og det kan udtrække over 100 forskellige sprog, forudsat at sprogpakkerne downloades. Du kan downloade en bestemt sprogpakke ved at bruge den generiske kommando nedenfor:

sudo apt-get install tesseract-ocr- [lang]

I ovenstående kommando skal du erstatte "[lang]" med det sprog, du vil downloade. Eksempler på engelsk og fransk er nedenfor:

sudo apt-get install tesseract-ocr-eng sudo apt-get install tesseract-ocr-fra

Normalt leveres tesseract med engelsk pakke som standard. Billedet nedenfor viser, at engelsk allerede var installeret, og fransk måtte downloades og installeres:

tesseract installation

Alternativt kan du køre følgende kommando, hvis du vil downloade alle sprogpakkerne:

sudo apt-get install tesseract-ocr-all

Dette fuldender Tesseract installation.

2 Installer Imagemagick Kør følgende kommando for at installere imagemagick

sudo apt installer imagemagick

Dette værktøj bruges fra kommandolinjen ved hjælp af konverter kommandoen. For at kontrollere korrekt installation skal du køre følgende kommando og udgangen skal svare til nedenstående billede:

konvertere -h

Installer Imagemagick Kør følgende kommando for at installere imagemagick

3 Tesseract Anvendelse

Tesseract er i stand til at tage billeder af mange forskellige formater som jpg, png, tiff osv og udvinde tekst fra den. Dette afsnit fokuserer på at køre tesseract, og i næste afsnit vil vi se, hvordan vi kan forbedre nøjagtigheden. Her er nogle grundlæggende kommandoer til at køre tesseract:

For at få output i terminalen, kør generisk kommando med stien af ​​billedet

tesseract [image_path] stdout

For at gemme OCR-udgangen til en fil kør følgende generiske kommando:

tesseract [image_path] [filnavn]

Efter to billeder, vis det anvendte billede og udgangen af ​​at køre ovenstående til kommandoer på billedet

Eksempel tekst
Tesseract brug

Som du kan observere, har kørsel af den anden kommando ført til oprettelsen af ​​en fil kaldet "outfile.txt", hvor output kan findes.

4-billedforbehandling

Fra den foregående udgang har du muligvis observeret, at der er en fejl i udgangen, og også en fejl, der siger, at pixelstørrelsen er lille. Dette er en af ​​ulemperne ved Tesseract, det forventer at du giver et behandlet billede, som det kan udføre OCR på. I dette afsnit vil vi gennemgå nogle af de taktikker du kan bruge ved hjælp af imagemagick til at forbedre billedkvaliteten og dermed øge nøjagtigheden af ​​output.

4.1 resizing

Ændring er et af de mest nyttige tricks for at forbedre OCR-nøjagtigheden. Dette skyldes, at de fleste billeder af tiden har meget lille skriftstørrelse, som ikke kan læses korrekt af Tesseract. Du kan ændre størrelsen på et billede ved at bruge følgende kommando. Procentdelen angiver størrelsesgrænsen. Da vi vil øge størrelsen, skal vi give en værdi større end 100. Her har vi givet en værdi af 150% (brug en prøve- og fejlmetode til at bestemme den perfekte resizing% for din brugs sag).

konvertere -resize 150% [input_file_path] [output_file_path]

I kommandoen ovenfor skal du erstatte [input_file_path] med stien til billedet, der skal ændres, og [output_file_path] med stien til det billede, hvor output skal gemmes. Følgende billede er output, da jeg kørte kommandoen: konvertere -resize 150% image7.png image7_resize.png

Forhåndsbehandling af billedformat - ændring af størrelse

4.2 Brug gråtonebilleder

Hvis du har et farvet billede, anbefales det at konvertere det til gråtoner først. Der er en god chance for, at netop dette vil være nok til at få OCR-nøjagtigheden, som du vil have. Hvis du ikke vil behandle yderligere, kan du bruge gråtonebillederne til at binarisere billedet. Brug følgende kommando til at konvertere dit billede til at konvertere det til gråtoner

konverter [input_file_path] -type gråtoner [output_file_path]

Følgende billede viser output for at køre kommandoen konvertere image6_resize.png -type Grayscale image6_gray.png

Billedforbehandling - gråtoner

4.3 Binariser billedet

Binarisering eller tærskel indebærer, at konvertere billedet til bare værdier af sort og hvidt. Hver pixel i dette billede har kun en af ​​to værdier, enten sort eller hvid. Dette reducerer billedets kompleksitet drastisk. Hvis du har billeder med støj eller billeder med skygge eller meget tekst, kan du bruge denne fremgangsmåde til forbehandling. For at binarize dette billede skal du sørge for at have et gråtonebillede først, og brug derefter følgende kommando:

konverter [input_file_path] -træk 55% [output_file_path]

Tærsklen% kan varieres for at få det bedste resultat til din brugs sag. Billedet nedenfor viser et eksempel. Det er vigtigt at bemærke, at for det viste billede er binarisering ikke den bedste løsning, da det taber nogle data.

Binariser billedet

Følgende punkter skal iagttages, inden du anvender nogen af ​​eller alle de ovenfor nævnte forbehandlingsteknikker:

  • Afhængigt af brugen tilfælde vil enten eller en kombination af forbehandlingstrinene være nyttige.
  • når et forbehandlingstrin fører til faldet i nøjagtighed, bør det ignoreres fra forbehandlingstrinnene.
  • Procenterne, mens størrelsen eller tærskelværdien varierer, varierer fra billede til billede, og derfor skal en prøve- og fejlmetode anvendes for at opnå den bedst mulige procentværdi for at give den højeste nøjagtighed, når Tesseract køres

Når du har gennemført forarbejdningen, skal du køre Tesseract med det behandlede billede for at kontrollere nøjagtigheden. Tesseract er meget kraftfuld, men har nogle begrænsninger, når det kommer til den type billede, der gives som input. Håber du fandt denne vejledning til hjælp.

Kilde

Giv en kommentar