OCR

Installere Tesseract OCR i Linux

Installere Tesseract OCR i Linux
Tesseract OCR (Optical Character Recognition) er en gratis motor med åpen kildekode og kommandolinjeprogram for å trekke ut tekst fra bilder ved hjelp av optisk tegngjenkjenningsteknologi og algoritmer. Prosjektet støttes av Google, og per i dag anses det å være den beste OCR-motoren med åpen kildekode tilgjengelig. Den kan oppdage og trekke ut tekst på mange språk med høy nøyaktighet.

Installere Tesseract OCR i Linux

Tesseract OCR er tilgjengelig som standard på de fleste Linux-distribusjoner. Du kan installere den i Ubuntu ved å bruke kommandoen nedenfor:

$ sudo apt installere tesseract-ocr

Detaljerte instruksjoner for andre distribusjoner er tilgjengelige her. Selv om Tesseract OCR er tilgjengelig i repositorier av mange Linux-distribusjoner som standard, anbefales det å installere den nyeste versjonen fra lenken nevnt ovenfor for bedre nøyaktighet og parsing.

Installere støtte for flere språk i Tesseract OCR

Tesseract OCR inkluderer støtte for å oppdage tekst på over 100 språk. Imidlertid får du bare støtte for å oppdage tekst på engelsk med standardinstallasjonen i Ubuntu. For å legge til støtte for å analysere flere språk i Ubuntu, kjør en kommando i følgende format:

$ sudo apt installere tesseract-ocr-hin

Kommandoen ovenfor vil legge til støtte for hindi-språket til Tesseract OCR. Noen ganger kan du få bedre nøyaktighet og resultater ved å installere støtte for språkskript. For eksempel, installering og bruk av tesseract-pakken for Devanagari-skriptet "tesseract-ocr-script-deva" ga meg mye mer nøyaktige resultater enn å bruke "tesseract-ocr-hin" -pakken.

I Ubuntu kan du finne riktige pakkenavn for alle språk og skript ved å kjøre kommandoen nedenfor:

$ apt-cache søk tesseract-

Når du har identifisert det riktige pakkenavnet du skal installere, erstatter du strengen “tesseract-ocr-hin” med den i den første kommandoen angitt ovenfor.

Bruke Tesseract OCR for å trekke ut tekst fra bilder

La oss ta et eksempel på et bilde vist nedenfor (hentet fra Wikipedia-siden for Linux):

For å trekke ut tekst fra bildet ovenfor, må du kjøre en kommando i følgende format:

$ tesseract-fangst.png-utgang -l eng

Å kjøre kommandoen ovenfor gir følgende utgang:

I kommandoen ovenfor, “capture.png ”refererer til bildet du vil trekke ut teksten fra. Den fangede utdata lagres deretter i “utdata.txt ”-fil. Du kan endre språk ved å erstatte “eng” -argumentet med ditt eget valg. For å se alle gyldige språk, kjør kommandoen nedenfor:

$ tesseract --list-langs

Det vil vise forkortelseskoder for alle språk som støttes av Tesseract OCR på systemet ditt. Som standard vil den bare vise “eng” som utdata. Imidlertid, hvis du installerer pakker for flere språk som forklart ovenfor, vil denne kommandoen vise flere språk som du kan bruke til å oppdage tekst (som ISO 639 språkkoder på 3 bokstaver).

Hvis bildet inneholder tekst på flere språk, må du først definere primærspråk etterfulgt av flere språk atskilt med pluss tegn.

$ tesseract-fangst.png-utgang -l eng + fra

Hvis du vil lagre utdataene som en søkbar PDF-fil, kjører du en kommando i følgende format:

$ tesseract-fangst.png-utgang -l eng pdf

Merk at den søkbare PDF-filen ikke inneholder noen redigerbar tekst. Det inkluderer det opprinnelige bildet, med et ekstra lag som inneholder den gjenkjente teksten lagt på bildet. Så selv om du vil være i stand til å søke nøyaktig i tekst i PDF-filen ved hjelp av hvilken som helst PDF-leser, vil du ikke kunne redigere teksten.

Et annet poeng bør du merke deg at nøyaktigheten av tekstgjenkjenning øker sterkt hvis bildefilen er av høy kvalitet. Gitt et valg, bruk alltid tapsfrie filformater eller PNG-filer. Bruk av JPG-filer gir kanskje ikke de beste resultatene.

Pakke ut tekst fra en flersidig PDF-fil

Tesseract OCR støtter ikke utvinning av tekst fra PDF-filer. Det er imidlertid mulig å trekke ut tekst fra en flersidig PDF-fil ved å konvertere hver side til en bildefil. Kjør kommandoen nedenfor for å konvertere en PDF-fil til et sett med bilder:

$ pdftoppm -png-fil.pdf-utgang

For hver side av PDF-filen får du en tilsvarende “output-1.png ”,“ output-2.png ”-fil, og så videre.

For å trekke ut tekst fra disse bildene ved å bruke en enkelt kommando, må du bruke en "for loop" i en bash-kommando:

$ for jeg i *.png; do tesseract "$ i" "output- $ i" -l eng; gjort;

Å kjøre kommandoen ovenfor vil trekke ut tekst fra alle “.png-filer funnet i arbeidskatalogen og lagrer den gjenkjente teksten i “output-original_filename.txt-filer. Du kan endre den midterste delen av kommandoen etter dine behov.

Hvis du vil kombinere alle tekstfiler som inneholder den gjenkjente teksten, kjører du kommandoen nedenfor:

$ katt *.txt> ble med.tekst

Prosessen for å trekke ut tekst fra en flersidig PDF-fil til søkbare PDF-filer er nesten den samme. Du må levere et ekstra “pdf” -argument til kommandoen:

$ for jeg i *.png; gjør tesseract "$ i" "output- $ i" -l eng pdf; gjort;

Hvis du vil kombinere alle søkbare PDF-filer som inneholder den gjenkjente teksten, kjører du kommandoen nedenfor:

$ pdfunite *.pdf ble med.pdf

Både "pdftoppm" og "pdfunite" er installert som standard på den siste stabile versjonen av Ubuntu.

Fordeler og ulemper ved å trekke ut tekst i TXT og søkbare PDF-filer

Hvis du trekker ut gjenkjent tekst i TXT-filer, får du redigerbar tekstoutput. Imidlertid vil all dokumentformatering gå tapt (fet skrift, kursiv tegn og så videre). Søkbare PDF-filer bevarer den opprinnelige formateringen, men du mister tekstredigeringsfunksjonene (du kan fortsatt kopiere råtekst). Hvis du åpner den søkbare PDF-filen i et PDF-redigeringsprogram, får du innebygde bilder i filen og ikke rå tekstutdata. Konvertering av søkbare PDF-filer til HTML eller EPUB gir deg også innebygde bilder.

Konklusjon

Tesseract OCR er en av de mest brukte OCR-motorene i dag. Det er en gratis, åpen kildekode og støtter over hundre språk. Når du bruker Tesseract OCR, må du sørge for å bruke bilder med høy oppløsning og rette språkkoder i kommandolinjeargumenter for å forbedre nøyaktigheten av tekstgjenkjenning.

Topp Oculus App Lab-spill
Hvis du er Oculus-hodesettinnehaver, må du være klar over sideloading. Sidelading er prosessen med å installere ikke-butikkinnhold på hodesettet. Side...
Topp 10 spill å spille på Ubuntu
Windows-plattformen har vært en av de dominerende plattformene for spill på grunn av den enorme andelen spill som utvikles i dag for å støtte Windows ...
5 beste arkadespill for Linux
I dag er datamaskiner seriøse maskiner som brukes til spill. Hvis du ikke kan få den nye høye poengsummen, vil du vite hva jeg mener. I dette innlegge...