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-ocrDetaljerte 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-hinKommandoen 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-langsDet 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 + fraHvis 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 pdfMerk 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-utgangFor 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.tekstProsessen 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.pdfBå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.