OCR

Tesseract OCR installeren in Linux

Tesseract OCR installeren in Linux
Tesseract OCR (Optical Character Recognition) is een gratis en open-source engine en opdrachtregelprogramma om tekst uit afbeeldingen te extraheren met behulp van optische tekenherkenningstechnologie en algoritmen. Het project wordt ondersteund door Google en wordt vanaf vandaag beschouwd als de beste open source OCR-engine die beschikbaar is. Het kan tekst in verschillende talen met hoge nauwkeurigheid detecteren en extraheren.

Tesseract OCR installeren in Linux

Tesseract OCR is standaard beschikbaar op de meeste Linux-distributies. Je kunt het in Ubuntu installeren met behulp van de onderstaande opdracht:

$ sudo apt install tesseract-ocr

Gedetailleerde instructies voor andere distributies zijn beschikbaar hier. Hoewel Tesseract OCR standaard beschikbaar is in repositories van veel Linux-distributies, wordt het aanbevolen om de nieuwste versie te installeren via de bovenstaande link voor verbeterde nauwkeurigheid en parsing.

Ondersteuning voor extra talen installeren in Tesseract OCR

Tesseract OCR bevat ondersteuning voor het detecteren van tekst in meer dan 100 talen. U krijgt echter alleen ondersteuning voor het detecteren van tekst in de Engelse taal met de standaardinstallatie in Ubuntu. Om ondersteuning toe te voegen voor het ontleden van extra talen in Ubuntu, voert u een opdracht uit in de volgende indeling:

$ sudo apt install tesseract-ocr-hin

De bovenstaande opdracht voegt ondersteuning voor de Hindi-taal toe aan Tesseract OCR. Soms kunt u betere nauwkeurigheid en resultaten krijgen door ondersteuning voor taalscripts te installeren. Bijvoorbeeld, het installeren en gebruiken van het tesseract-pakket voor Devanagari-script "tesseract-ocr-script-deva" gaf me veel nauwkeurigere resultaten dan het gebruik van het "tesseract-ocr-hin" -pakket.

In Ubuntu kunt u de juiste pakketnamen voor alle talen en scripts vinden door de onderstaande opdracht uit te voeren:

$ apt-cache zoeken tesseract-

Nadat u de juiste pakketnaam hebt geïdentificeerd om te installeren, vervangt u de tekenreeks "tesseract-ocr-hin" ermee in de eerste hierboven gespecificeerde opdracht.

Tesseract OCR gebruiken om tekst uit afbeeldingen te extraheren

Laten we een voorbeeld nemen van een afbeelding die hieronder wordt getoond (overgenomen van de Wikipedia-pagina voor Linux):

Om tekst uit de bovenstaande afbeelding te extraheren, moet u een opdracht in de volgende indeling uitvoeren:

$ tesseract vastleggen.png-uitvoer -l eng

Het uitvoeren van de bovenstaande opdracht geeft de volgende uitvoer:

In het bovenstaande commando, “capture.png" verwijst naar de afbeelding waaruit u de tekst wilt extraheren. De vastgelegde uitvoer wordt vervolgens opgeslagen in de "output".txt" bestand. U kunt de taal wijzigen door het argument "eng" te vervangen door uw eigen keuze. Voer de onderstaande opdracht uit om alle geldige talen te zien:

$ tesseract --list-langs

Het toont afkortingscodes voor alle talen die worden ondersteund door Tesseract OCR op uw systeem. Standaard wordt alleen "eng" weergegeven als uitvoer. Als u echter pakketten voor extra talen installeert zoals hierboven uitgelegd, geeft deze opdracht meer talen weer die u kunt gebruiken om tekst te detecteren (als ISO 639 3-letterige taalcodes).

Als de afbeelding tekst in meerdere talen bevat, definieer dan eerst de primaire taal, gevolgd door extra talen, gescheiden door plustekens.

$ tesseract vastleggen.png-uitvoer -l eng+fra

Als u de uitvoer wilt opslaan als een doorzoekbaar PDF-bestand, voert u een opdracht uit in de volgende indeling:

$ tesseract vastleggen.png-uitvoer -l eng pdf

Merk op dat het doorzoekbare PDF-bestand geen bewerkbare tekst zal bevatten. Het bevat de originele afbeelding, met een extra laag met de herkende tekst bovenop de afbeelding. Dus hoewel u nauwkeurig tekst in het PDF-bestand kunt doorzoeken met behulp van een PDF-lezer, kunt u de tekst niet bewerken.

Een ander punt dat u moet opmerken is dat de nauwkeurigheid van tekstdetectie aanzienlijk toeneemt als het afbeeldingsbestand van hoge kwaliteit is. Gebruik altijd verliesvrije bestandsindelingen of PNG-bestanden als u de keuze hebt. Het gebruik van JPG-bestanden geeft mogelijk niet de beste resultaten.

Tekst extraheren uit een PDF-bestand met meerdere pagina's

Tesseract OCR biedt native geen ondersteuning voor het extraheren van tekst uit PDF-bestanden. Het is echter mogelijk om tekst uit een PDF-bestand met meerdere pagina's te extraheren door elke pagina om te zetten in een afbeeldingsbestand. Voer de onderstaande opdracht uit om een ​​PDF-bestand naar een set afbeeldingen te converteren:

$ pdftoppm -png-bestand.pdf-uitvoer

Voor elke pagina van het PDF-bestand krijgt u een overeenkomstige "output-1".png”, “output-2.png” bestand, enzovoort and.

Om nu tekst uit deze afbeeldingen te extraheren met een enkele opdracht, moet je een "for-lus" gebruiken in een bash-opdracht:

$ voor ik in *.png; doe tesseract "$i" "output-$i" -l eng; gedaan;

Als u de bovenstaande opdracht uitvoert, wordt tekst uit alle ".png” bestanden gevonden in de werkmap en sla de herkende tekst op in “output-original_filename.txt" bestanden. U kunt het middelste deel van de opdracht naar wens aanpassen.

Als u alle tekstbestanden met de herkende tekst wilt combineren, voert u de onderstaande opdracht uit:

$ kat *.txt > lid geworden.tekst

Het proces voor het extraheren van tekst uit een PDF-bestand met meerdere pagina's naar doorzoekbare PDF-bestanden is bijna hetzelfde. Je moet een extra "pdf"-argument aan het commando toevoegen:

$ voor ik in *.png; doe tesseract "$i" "output-$i" -l eng pdf; gedaan;

Als u alle doorzoekbare PDF-bestanden met de herkende tekst wilt combineren, voert u de onderstaande opdracht uit:

$ pdfunite *.pdf is lid geworden.pdf

Zowel "pdftoppm" als "pdfunite" zijn standaard geïnstalleerd op de nieuwste stabiele versie van Ubuntu.

Voor- en nadelen van het extraheren van tekst in TXT en doorzoekbare PDF-bestanden

Als u herkende tekst in TXT-bestanden extraheert, krijgt u bewerkbare tekstuitvoer. Alle documentopmaak gaat echter verloren (vet, cursief, enzovoort). Doorzoekbare PDF-bestanden behouden de originele opmaak, maar u verliest tekstbewerkingsmogelijkheden (u kunt nog steeds onbewerkte tekst kopiëren). Als u het doorzoekbare PDF-bestand in een PDF-editor opent, krijgt u ingesloten afbeelding(en) in het bestand en geen onbewerkte tekstuitvoer. Als u de doorzoekbare PDF-bestanden naar HTML of EPUB converteert, krijgt u ook ingesloten afbeeldingen.

Conclusie

Tesseract OCR is tegenwoordig een van de meest gebruikte OCR-engines. Het is een gratis, open-source en ondersteunt meer dan honderd talen. Zorg er bij het gebruik van Tesseract OCR voor dat u afbeeldingen met een hoge resolutie en correcte taalcodes gebruikt in opdrachtregelargumenten om de nauwkeurigheid van tekstdetectie te verbeteren.

Installeer de nieuwste OpenRA Strategy Game op Ubuntu Linux
OpenRA is een Libre/Free Real Time Strategy-game-engine die de vroege Westwood-games nabootst, zoals de klassieke Command & Conquer: Red Alert. Gedist...
Installeer de nieuwste Dolphin Emulator voor Gamecube & Wii op Linux
Met de Dolphin Emulator kun je de door jou gekozen Gamecube- en Wii-spellen spelen op Linux Personal Computers (pc). Omdat het een vrij beschikbare e...
Hoe de GameConqueror Cheat Engine in Linux te gebruiken
Het artikel bevat een handleiding over het gebruik van de GameConqueror cheat-engine in Linux. Veel gebruikers die games op Windows spelen, gebruiken ...