Installer Tesseract OCR på Linux

Installer Tesseract OCR på Linux
Denne opplæringen forklarer hvordan du installerer Tesseract på Linux ved å bruke både Debian Apt Packages Manager og Git -lagringene for andre Linux -distribusjoner.

Tesseract er den gratis og sannsynligvis den beste OCR -løsningen i markedet. Siden 2006 har det blitt sponset av Google; Tidligere ble den utviklet av Hewlett Packard i C og C ++ mellom 1985 og 1998. Systemet kan identifisere til og med håndskrift; Den kan lære, øke nøyaktigheten, og er blant de mest utviklede og komplette i markedet.

Hvis den er riktig trent, kan den slå kommersielle konkurrenter som Abby; Hvis du leter etter en seriøs løsning for OCR, er Tesseract den mest nøyaktige, men ikke forvent massive løsninger: den bruker en kjerne per prosess, noe som betyr at en 8 -kjerneprosessor (hyperthreading akseptert) vil kunne behandle 8 eller 16 bilder samtidig.

Tesseract er en flott løsning, men før du tenker på det, må du vite at de siste Tesseracts versjoner brakte store forbedringer, hvorav noen betyr hardt arbeid. Mens trening kan vare i timer eller dager, kan den nylige Tesseracts versjonstrening være av dager, uker eller til og med måneder, spesielt hvis du leter etter en flerspråklig OCR -løsning.

Installere Tesseract på Debian og Ubuntu:

For å installere Tesseract på Debian eller Ubuntu Linux -distribusjon, bruk APT som vist på skjermdumpen nedenfor.

sudo apt installer tesseract -ocr -y

Dette vil installere tesserakt under /usr/share/tesseract-acr/4.00/tessdata.

Merk: For andre Linux -distribusjoner, hopp for å installere Tesseract fra kilder.

Som standard vil Tesseract installere den engelske språkpakken. For å installere flere språk er syntaksen følgende. I eksemplet nedenfor vil jeg installere den hebraiske språkpakken.

sudo apt installer tesseract-octh-heb

For å installere alle tilgjengelige språk, kjør: Kjør:

sudo apt installer tesseract-octh all -y

For at Tesseract skal fungere ordentlig, må vi bruke "konvertere" -kommandoen. Denne kommandoen er nyttig å konvertere mellom bildeformater og endre størrelse på et bilde, uskarpe, avling, despeckle, dither, tegne på, vende, bli med, prøve på nytt og mye mer. Dette verktøyet er levert av ImageMagick:

sudo apt installer ImageMagick

La oss nå teste Tesseract, finne et bilde som inneholder tekst og kjøre:

Tesseract

Tesseract vil trekke ut teksten fra bildet.

Da jeg jobbet med Tesseract, var alt vi trengte å telle dokumenter. Som med ethvert annet program, kan du og må, trene det til å forstå håndskriften.

I avanserte tekstredaktører kan vi definere noen symboler som kan telles eller ikke, hvis vi skal telle eller ikke tall osv., Det samme med muligheten er tilgjengelig på Tesseract.

Optimalisering av tesserakt:

  • Størrelse optimalisering: I følge offisielle kilder er den optimale pikselstørrelsen for et bilde som skal behandles med suksess av Tesseract 300dpi. Vi må behandle ethvert bilde ved hjelp av -R -parameteren for å håndheve denne DPI. Å øke DPI vil også øke behandlingstiden.
  • Sidrotasjon: Hvis siden er skannet når siden ikke er riktig plassert og holder.
  • Fjerning av grense: I følge Tesseracts offisielle mann kan grenser feilaktig bli valgt som karakterer, spesielt mørke grenser og hvor det er en graderingsvariant. Å fjerne grenser kan være et godt skritt for å oppnå maksimal nøyaktighet med Tesseract.
  • Fjerne støy: I følge Tesseract -kilder er støy “tilfeldig variasjon av lysstyrke eller farge i et bilde”. Vi kan fjerne denne variasjonen i binariseringstrinnet, noe som betyr å polarisere fargene.

Introduksjon til Tesseract Training Process:

Tidligere dekket denne artikkelen Tesseracts treningsprosess, som utviklet seg til en mer manuell prosess som fortjener en dedikert artikkel. Derfor dekker denne delen bare teoretisk informasjon om treningsprosessen og instruksjonene for å installere Tesseract Training Tools og lansere dem.

I følge Tesseracts offisielle wiki har vi 3 nåværende alternativer for å trene OCR -systemet vårt:

  • "Fin tone. Starter med et eksisterende trent språk, tog på dine spesifikke tilleggsdata. Dette kan fungere for problemer som er i nærheten av de eksisterende treningsdataene, men forskjellige på en eller annen subtil måte, som en spesielt uvanlig font. Kan fungere med til og med en liten mengde treningsdata.
  • Klipp av topplaget (eller et vilkårlig antall lag) fra nettverket og omskol et nytt topplag ved hjelp av de nye dataene. Hvis finjustering ikke fungerer, er dette mest sannsynlig det nest beste alternativet. Hvis du starter med det mest lignende utseendet, kan det å kutte av toppsjiktet fremdeles fungere for å trene et helt nytt språk eller manus.
  • Omskolering fra bunnen av. Med mindre du har et veldig representativt og tilstrekkelig stort treningssett for problemet ditt, er dette en skremmende oppgave. Hvis ikke, vil du sannsynligvis ende opp med et overmontert nettverk som gjør det veldig bra på treningsdataene, men ikke på de faktiske dataene.

Før vi fortsetter med Tesseract -treningsinstruksjoner, må vi installere flere biblioteker:

sudo apt install libicu-dev libicu-dev libcairo2-dev

På Debian-baserte Linux-distribusjoner, installer Tesseract Development Package, inkludert Tesseract Training Tools ved å bruke APT som vist nedenfor. Hvis du ikke bruker en Debian-basert Linux-distribusjon, kan du lese instruksjonene for å installere Tesseract-treningsverktøy fra kilder.

sudo apt install libtesseract -dev -y

Etter installasjonen vil du kunne se treningsverktøyene under /usr/share/tesseract-acr/ som vist under.

LS/usr/share/tesseract-ACR

Før du begynner å trene et språk, må du gi Tesseract innholdet du kan lære.

For dette må du opprette LangData -katalogen og ENG underkatalog innen Tesseracts installasjon Hovedkatalog. Opprett deretter treningsfilen som vist nedenfor.

sudo mkdir/usr/share/tesseract-acr/langdata/
sudo mkdir/usr/share/tesseract-acr/langdata/eng/
sudo nano/usr/share/tesseract-acr/langdata/eng/eng.trening_text

Merk: Husk å legge innhold i Eng.trening_text fil.

Når treningsfilen ble lagt til, er syntaksen for å begynne å trene et språk følgende. Følgende kommando er å trene det engelske språket definert som "Eng”.

./TessTrain.SH-Lang Eng-Langdata_DIR/usr/share/tesseract-acr/langdata-tessdata_dir/usr/share/tesseract-acr/tessdata

Denne prosessen kan ta lang tid. Selvfølgelig avhenger dette også av treningstekstfilene dine. Dette er introduksjonen til Tesseract -treningsprosessen. Vi vil publisere en ny artikkel kun fokusert på treningsprosessen.

Feilsøking Manglende skrifter:

I mitt tilfelle fikk jeg en feil når jeg prøvde å trene Tesseract. Arial Bold -skriften manglet. Jeg løste dette ved å kjøre kommandoen nedenfor.

sudo apt installer ttf-mscorefonts-installerer

Installer Tesseract fra kilder på Linux:

På forskjellige Linux -distribusjoner kan du få Tesseract ved å bruke Git, som vist nedenfor.

git klon https: // github.com/tesseract-acr/tesseract.git

Når den er klonet, gå inn i Tesseract -katalogen ved å kjøre ved hjelp av CD.

CD Tesseract

Kjør deretter Autogen.sh manus som vist nedenfor.

sudo ./autogen.sh

Kommandoen over oppretter installasjonsfilene; Kjør nå følgende kommando for å starte installasjonsprosessen.

sudo ./konfigurere

Løpe gjøre å begynne å kompilere tesseract.

sudo make

Løp deretter lage installasjon, Som vist på skjermbildet nedenfor.

sudo lage installasjon

Henrette LDCONFIG som vist under.

sudo ldconfig

For å kompilere treningsverktøy, kjør følgende kommando.

Sudo lager trening

Løp deretter:

sudo lage treningsinstaller

Nå kan du følge instruksjonene for å komme i gang med treningsprosessen.

Konklusjon:

Som du ser er det ganske enkelt å installere Tesseract på Linux, spesielt på Debian-baserte Linux-distribusjoner. Da jeg brukte Tesseract, klarte vi tusenvis av potensielle kunder som lastet opp håndskrevet innhold, bilder med tekst osv. Vi brukte 48 kjerneservere, med DatabaseByDesign og deretter med AWS; Vi hadde aldri et ressursproblem.

Vi hadde en opplaster som diskriminerte mellom tekstfiler som Microsoft Office eller Open Office -filer og bilder eller skannede dokumenter. Opplasteren bestemte hva OCR- eller PHP -skriptene ville behandle en ordre innen tekstgjenkjenning.

Etter min erfaring er Tesseract den beste OCR-løsningen som er tilgjengelig i markedet, og det er åpen kildekode.

Takk for at du leser denne opplæringen som forklarer hvordan du installerer og konfigurerer Tesseract OCR på Linux. Fortsett å følge oss for flere Linux -tips og opplæringsprogrammer.