- Ondersteuning voor meerdere talen en uitvoerformaten voor efficiënt scannen.
- Eenvoudige integratie met Python (Pytesseract) en .NET ecosysteem.
- IronOCR brengt preprocessing en hoogwaardige API's naar Tesseract.
Als u geïnteresseerd bent in het omzetten van afbeeldingen of PDF's naar bewerkbare tekst zonder te worstelen met complexe hulpmiddelen, of Tekst uit afbeeldingen extraheren in Windows 11Het goede nieuws is dat vandaag Tesseract OCR is een krachtige, gratis en zeer flexibele oplossingIn deze praktische gids bespreken we wat het is en hoe je het installeert Windows, hoe je het kunt valideren vanuit de console en hoe je het kunt integreren met zowel Python (via Pytesseract) als .NET, en met een veelgebruikt alternatief in dat ecosysteem: IronOCR.
Naast het installeren en klikken op de knop, ziet u hoe u de omgeving voorbereidt, waar u het pad naar het uitvoerbare bestand moet toevoegen en wat u moet doen als de typische fout verschijnt TesseractNotFoundError in Python en hoe je teksten in meerdere talen (Spaans, Engels, Frans, Portugees en zelfs pakketten zoals Math) binnen applicaties kunt verwerken. Het doel is dat u een stabiele, productieklare OCR-workflow krijgt., bedekkend vanaf de lijn van commando's geschikt voor gebruik in C# met specifieke bibliotheken.
Wat is Tesseract OCR?
Tesseract is een open source OCR-engine, gepubliceerd onder de Apache 2.0-licentie. Het werd in de jaren 80 geboren bij Hewlett-Packard en wordt nu onderhouden door de community met een sterke drang om GoogleDe missie is duidelijk: pixels in een afbeelding (onder andere TIFF, PNG en JPEG) analyseren om tekens, woorden en regels te detecteren en de inhoud als machineleesbare tekst uit te voeren.
Het kan zonder beperkingen vanaf de opdrachtregel worden gebruikt, waardoor automatisering en scripting eenvoudiger worden. Bovendien ondersteunt het een groot aantal talen en kan het worden getraind voor nieuwe lettertypen of alfabetten.Daarom wordt het veel gebruikt bij het digitaliseren van documenten, het verwerken van facturen, het archiveren of toegankelijk maken ervan.
Download en installeer Tesseract op Windows
De meest directe manier om dit te doen op Windows is door gebruik te maken van een vooraf gecompileerd installatieprogramma. De belangrijkste bron is de officiële repository op GitHub (tesseract-ocr/tesseract), waar u ondertekende binaire bestanden en recente versies vindt.
Onder de beschikbare installatieprogramma's is het gebruikelijk om pakketten te zien zoals tesseract-ocr-w64-setup-5.3.0.20221222.exe (64 bit). Downloaden en uitvoerenDe wizard begeleidt u stap voor stap door de installatie, inclusief het selecteren van de installatietaal en taalpakketten.
Installateurstaal en taalgegevens
Tijdens de installatie zal de wizard u vragen uw taal te selecteren. Engels is meestal de standaardtaal, maar je kunt extra pakketten toevoegen zoals Spaans, Frans, of zelfs gespecialiseerde modules zoals Math, indien nodig. Deze selectie specificeert welke modellen naar de datadirectory (tessdata) worden gekopieerd.
Licentie, gebruikers en componenten
Tesseract wordt gedistribueerd met Apache-licentie 2.0, zodat u het flexibel kunt gebruiken en herdistribueren. Het installatieprogramma vraagt u de licentie te accepteren, te kiezen of u het voor één gebruiker of voor alle gebruikers wilt installeren en componenten te selecteren. Nuttige elementen worden standaard geselecteerd, zoals ScrollView, trainingshulpmiddelen, snelkoppelingen en taalgegevens.
Installatiepad en map van het Startmenu
Met de wizard kunt u de doelmap kiezen. Schrijf dat pad op, je hebt het nodig voor de omgevingsvariabeleU kunt vervolgens de map in het Startmenu een naam geven waar de snelkoppelingen worden gemaakt. Klik na voltooiing op Installeren en vervolgens op Voltooien om af te sluiten.
Voeg Tesseract toe aan de omgevingsvariabele op Windows
Om de opdracht tesseract vanuit elk venster uit te voeren cmd o PowerShell, het is handig voeg de installatiemap toe aan het systeempadOp deze manier weet Windows waar het uitvoerbare bestand te vinden is, zonder absolute paden.
Ga naar het menu Start en typ 'omgevingsvariabelen' of 'geavanceerde systeeminstellingen'. Ga in het venster Systeemeigenschappen naar het tabblad Geavanceerd en klik op Omgevingsvariabelen.
Selecteer in het blok Systeemvariabelen Pad, klik op Bewerken en vervolgens op Nieuw. Plak het pad waar Tesseract is geïnstalleerd (bijvoorbeeld C:\Program Files\Tesseract-OCR) en bevestig met OK in alle vensters.
Controleer de installatie vanaf de console
Open cmd of PowerShell en voer het volgende uit: tesseractAls alles in orde is, ziet u het bericht over het gebruik, de geïnstalleerde versie en een lijst met opties die door het hulpprogramma worden ondersteund. Deze test bevestigt dat het pad correct is en het binaire bestand reageert.
Tesseract installeren op macOS
Op macOS kun je het hulpprogramma installeren via pakketbeheerders. Met Homebrew voer je het uit brew install tesseractAls u MacPorts gebruikt, is het equivalente commando sudo poort installatie tesseract. Beide routes download en registreer het uitvoerbare bestand om het te gebruiken van terminal.
Verschillen tussen Tesseract en Pytesseract
Het is handig om concepten te scheiden: Tesseract is de OCR-engine, het binaire bestand dat de herkenning uitvoert. Pytesseract is een wrapper voor Python die die engine aanroept en de uitvoer voor je scripts formatteert. Als je met Python werkt, moet je Tesseract op je systeem geïnstalleerd hebben en Pytesseract in je omgeving.
Basisgebruik met Python en oplossing voor TesseractNotFoundError
Een van de meest voorkomende fouten als je begint met Python is TesseractNotFoundErrorDit gebeurt wanneer Pytesseract het uitvoerbare bestand van de engine niet kan vinden, meestal omdat het niet in het pad staat of omdat het pad niet in het bestand is ingesteld. script.
Om dit op Windows te voorkomen, kunt u het pad expliciet in uw code instellen door naar het uitvoerbare bestand te verwijzen. Minimaal voorbeeld met Pytesseract:
import pytesseract
from PIL import Image
# Ajusta esta ruta a tu instalación real en Windows
pytesseract.pytesseract.tesseract_cmd = r'C:\\Program Files\\Tesseract-OCR\\tesseract.exe'
texto = pytesseract.image_to_string(Image.open('mi_imagen.png'), lang='spa')
print(texto)
Zorg er ook voor dat het taalpakket dat u nodig hebt beschikbaar is (bijvoorbeeld spa (voor Spaans). Als dat niet het geval is, installeert u de traineddata in de juiste tessdata-map. De meeste incidenten worden hiermee opgelost. bij het starten met Python.
Meertalige OCR: concepten en praktijk
Bij projecten met meertalige documentatie (facturen, contracten of historische archieven) Met Tesseract kunt u talen combineren Om de detectie te verbeteren wanneer heterogene teksten naast elkaar bestaan. De sleutel is om de juiste .traineddata-bestanden in tessdata te hebben.
Wanneer de inhoud bijvoorbeeld Engels, Spaans en Frans is, kunt u de zoekmachine opdracht geven dit te doen. meerdere alfabetten en patronen tegelijkertijd overwegenDit geldt ook voor hogere bibliotheken zoals IronOCR in .NET.
Maak een project in Visual Studio en gebruik Tesseract.NET
Als u in de Microsoft-omgeving werkt, opent u Visual Studio en maakt u een Console-applicatie (of welke sjabloon u ook verkiest). Geef uw project een naam, kies de .NET-versie en met uw oplossing klaar bent u klaar om pakketten te beheren met NuGet.
Installeer Tesseract op uw computer (zoals we hebben uitgelegd) en voeg binnen het project het pakket toe Tesseract of Tesseract.NET vanuit de NuGet Package Manager. Dit voegt de wrapper toe voor interactie met de engine vanuit C#.
Een voorbeeld voor het lezen van een afbeelding met meerdere talen zou er zo uit kunnen zien: geeft het pad naar tessdata en de lijst met talen aan:
using System;
using System.Drawing;
using Tesseract;
class Program
{
static void Main()
{
// Ruta a los archivos de datos de idioma (.traineddata)
string tessDataPath = @"./tessdata";
// Imagen a procesar
string imagePath = @"ruta_a_tu_imagen.png";
using (var img = Pix.LoadFromFile(imagePath))
using (var engine = new TesseractEngine(tessDataPath, "eng+spa+fra", EngineMode.Default))
using (var page = engine.Process(img))
{
string text = page.GetText();
Console.WriteLine("Recognized Text:");
Console.WriteLine(text);
}
}
}
Zorg ervoor dat het volgende in de tessdata-map staat: .traineddata voor elke taal die u zelf declareert. Een veelgebruikte testsuite is eng+spa+fra, maar u kunt deze naar wens uitbreiden.
IronOCR: Tesseract-gebaseerde .NET-bibliotheek
In het .NET-ecosysteem is er een op productiviteit gerichte optie genaamd IronOCR, dat afhankelijk is van Tesseract, maar een geavanceerde API, uitgebreide documentatie en preprocessing-hulpprogramma's biedt. Het wordt geïnstalleerd vanuit NuGet in Visual Studio met behulp van de pakketzoeker.
Het basisgebruik ervan voor het lezen van de tekst bij een afbeelding is heel direct. Eenvoudig voorbeeld:
using IronOcr;
var ocr = new IronTesseract();
string texto = ocr.Read(@"test-files/redacted-employmentapp.png").Text;
Console.WriteLine(texto);
Als u meer controle over de invoer wilt (meerdere afbeeldingen, aanpassingen, enz.), kunt u een OcrInput maken en deze doorgeven aan de engine. Voorbeeld met gebruik van patroon:
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
Input.AddImage("test-files/redacted-employmentapp.png");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Een belangrijk voordeel is dat IronOCR ondersteunt meer dan 120 talenintegreert automatische detectie en voegt hulpmiddelen voor beeldreiniging, ruisreductie en artefactcorrectie toe die in de praktijk de nauwkeurigheid bij moeilijke documenten verbeteren.
IronOCR installeren met NuGet en taalpakketten
Om het aan uw oplossing toe te voegen, opent u Visual Studio en navigeert u naar Extra > NuGet Package Manager > Pakketten voor oplossing beheren. Zoek naar “IronOCR” en selecteer het hoofdpakketAls u van plan bent om met extra talen te werken, installeer dan ook de benodigde taalpakketten.
Houd er bij meertalige projecten rekening mee dat Engels meestal standaard beschikbaar is, maar Voor Spaans of Frans moet u hun pakketten toevoegenHiermee bespaart u tijd bij het instellen van de taaleigenschap in de engine.
Meerdere talen lezen met IronOCR (C#)
Het volgende voorbeeld laat zien hoe je drie talen combineert en een afbeelding verwerkt. Het is een natuurlijke opstelling wanneer je weet niet zeker welke taal dominant is in elk document:
using IronOcr;
class Program
{
static void Main(string[] args)
{
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.English + OcrLanguage.Spanish + OcrLanguage.French;
var inputFile = @"ruta\\a\\tu\\imagen.png";
using (var input = new OcrInput(inputFile))
{
var result = Ocr.Read(input);
Console.WriteLine("Text:");
Console.WriteLine(result.Text);
}
}
}
Naast de eenvoudige API onderscheidt IronOCR zich door: beeldvoorbewerking (rechtzetten, binariseren, randen opschonen), wat meestal resulteert in meer succes bij gescande documenten of foto's met ongelijkmatige belichting.
Voordelen en overwegingen van IronOCR versus “pure” Tesseract
Terwijl Tesseract gratis en uiterst flexibel is, biedt IronOCR een meer directe ervaring in .NET, met documentatie, voorbeelden en bedrijfsklare functies. Bedrijfsbronnen hebben een detectienauwkeurigheid van ongeveer 99,8% onder ideale omstandigheden genoemd, inclusief multithreading-ondersteuning en actief onderhoud.
Ook vriendelijker in integratie (alleen installatie, voorbeeldprojecten en samenhangende API's), met ondersteuning voor meer dan 120 talen, inclusief complexe en meertalige cases in hetzelfde document. IronOCR is daarentegen een bedrijfseigen en betaald pakket, met levenslange licenties en 24/7 ondersteuningsopties voor klanten.
Aanbevolen procedures om de OCR-nauwkeurigheid te verbeteren
Hoewel de engine robuust is, zijn de resultaten sterk afhankelijk van de kwaliteit van de afbeeldingen. Probeer hoge resoluties te gebruiken, vermijd ruis en artefacten, lijn het document correct uit en verbeter het contrast. Als u met foto's werkt, let dan op de belichting en corrigeer scheefstand voordat u OCR uitvoert.
Bij ‘pure’ Tesseract kan het nodig zijn om afbeeldingen te normaliseren of voorfilters toe te passen om goede resultaten te verkrijgen. Hulpmiddelen zoals IronOCR helpen door een groot deel van deze voorverwerking te automatiseren., wat het leveren van heldere teksten in veeleisende scenario's vereenvoudigt.
Uitvoer en formaten die u kunt genereren
Naast platte tekst kan Tesseract ook uitvoer in HTML/hOCR of PDF's met selecteerbare tekstHiermee wordt het mogelijk om fragmenten in documenten te indexeren, te doorzoeken en te markeren. Ook kunt u ze integreren in digitale archiveringsworkflows waarbij zoekmogelijkheden essentieel zijn.
Naast platte tekst kan Tesseract HTML/hOCR-uitvoer of PDF's met selecteerbare tekst produceren, waardoor het gemakkelijk is om PDF naar Word converteren en ga verder met bewerken.
Bij aangepaste integraties kunt u: het resultaat nabewerken, spellingcontroles of NLP-modellen toepassen om entiteiten te verrijken, getallen te normaliseren en inhoud voor te bereiden voor databanken of analytische hulpmiddelen.
Begeleide installatie op Windows: hoogtepunten van de wizard
Als u een snelle checklist van de wizard wilt: kies de installatietaal, accepteer de Apache 2.0-licentie, bepaal of de installatie voor u of voor alle gebruikers is, en laat de aanbevolen componenten geactiveerd (ScrollView, trainingshulpmiddelen, snelkoppelingen en taalgegevens).
Selecteer de doelmap (vergeet niet deze te kopiëren naar het Pad), geef de map in het menu Start een naam als dat van toepassing is en klik op Installeren. Wanneer u klaar bent, valideert u met “tesseract” in de console om ervoor te zorgen dat alles op uw apparaat correct reageert.
Installatie met vooraf gecompileerde pakketten en keuze uit talen
Wanneer u van GitHub downloadt, ziet u verschillende installatieprogramma's en builds voor verschillende architecturen. Kies 64-bits als uw systeem dit ondersteunt.In de wizard kunt u specifieke talen selecteren; dat is een goed idee. installeer degene die u gaat gebruiken (Spaans, Portugees, Frans, Wiskunde, etc.) om vervolgzoekopdrachten te vermijden.
Als u later wilt uitbreiden naar andere talen, kunt u de .traineddata toevoegen aan de tessdata-map. Modulariteit is een van de sterke punten van de motor om zich aan te passen aan verschillende domeinen.
Gepassioneerd schrijver over de wereld van bytes en technologie in het algemeen. Ik deel mijn kennis graag door te schrijven, en dat is wat ik in deze blog ga doen: je de meest interessante dingen laten zien over gadgets, software, hardware, technologische trends en meer. Mijn doel is om u te helpen op een eenvoudige en onderhoudende manier door de digitale wereld te navigeren.