Tesseract OCR w Windows (Przykłady Kodów Samouczka)
Czym jest Tesseract OCR?
Tesseract to silnik rozpoznawania optycznych znaków, który można używać na różnych systemach operacyjnych. Jest to oprogramowanie wolne, wydane na podstawie licencji Apache. W tym przewodniku przeprowadzę Cię przez kroki, jakie podjąłem, aby zainstalować Tesseract na moim komputerze z Windows 10. Wersja główna 5 jest bieżącą stabilną wersją i rozpoczęła się od wydania 5.0.0 w dniu 30 listopada 2021.
Jak używać Tesseract OCR w Windows
- Install Tesseract OCR on a Windows 10 using .exe file
- Skonfiguruj instalację Tesseracta
- Dodaj ścieżkę instalacji do zmiennych środowiskowych
- Uruchom Tesseract OCR dla Windows na przykładowym obrazie
- Stosuj bibliotekę C# dla bardziej intuicyjnych API i zaawansowanych metod w Windows
Krok 1: Zainstaluj Tesseract OCR w Windows 10 za pomocą pliku .exe:
Aby zainstalować dane językowe: sudo port install tesseract -<langcode>
Listę kodów języków można znaleźć na stronie MacPorts Tesseract Homebrew. Pierwszym krokiem do zainstalowania Tesseract OCR dla Windows jest pobranie instalatora .exe, który odpowiada systemowi operacyjnemu Twojego komputera.
Krok 2: Skonfiguruj instalację
Następnie, będziemy musieli skonfigurować instalację Tesseracta. Jeśli czujesz się pewnie i chcesz jedynie uruchomić Tesseract OCR dla Windows z domyślnym językiem ustawionym na angielski, przebrnięcie przez ekrany instalacyjne z wszystkimi domyślnymi opcjami powinno zadziałać.
Język instalatora
To jest tylko język dla okien dialogowych i informacji pomocy. Jeśli chcemy, możemy uruchomić Tesseract OCR dla Windows w wielu językach:
Instalator języka dla Tesseract OCR dla Windows
Konfiguracja Tesseract OCR
Ekran instalacji zaleca zamknięcie wszystkich innych aplikacji przed kontynuowaniem instalacji.
Ekran instalacji Tesseract OCR dla Windows.
Wybierz lokalizację instalacji
Następnie wybierzemy lokalizację instalacji. Przed przystąpieniem do następnego kroku upewnij się, że skopiowałeś lokalizację instalacji do pliku .txt. Będziemy musieli dodać lokalizację instalacji do zmiennych środowiskowych naszego komputera po zakończeniu instalacji.
Wybierz lokalizację instalacji.
Wybierz komponenty
Domyślnie ScrollView, Narzędzia Szkoleniowe, tworzenie Skrótów i dane Językowe są wszystkie zaznaczone. Chyba że masz konkretny powód, aby ich nie instalować, będziemy chcieli, aby wszystkie były zaznaczone.
Domyślne komponenty instalacji Tesseract OCR dla Windows.
Jeśli przewiniemy w dół i rozszerzymy 'Dodatkowe dane skryptowe', zobaczymy, że mamy możliwość pobrania i zainstalowania dodatkowych danych skryptowych. To może być pomocne w poprawie dokładności odczytu tekstu z pewnych języków skryptowych. Czy chcesz je zainstalować, zależy od Ciebie.
Opcjonalne komponenty instalacji skryptów.
Wybierz folder menu Start
W ostatnim kroku instalacji zostaniemy poproszeni o wybór folderu w menu startowym dla skrótów Tesseract OCR dla Windows. Pozostawiłem mój ustawiony na domyślną nazwę: 'Tesseract-OCR'.
Wybierz folder w menu startowym dla skrótów Tesseract OCR dla Windows.
Po kliknięciu przycisku instalacji, Tesseract OCR dla Windows rozpocznie instalację. Naszym następnym krokiem jest dodanie ścieżki instalacji do zmiennych środowiskowych naszego komputera.
Krok 3: Dodaj ścieżkę instalacji do zmiennych środowiskowych
Panel sterowania
Aby dodać lokalizację instalacji do naszych zmiennych środowiskowych, przejdź do menu Start i wyszukaj 'zmienne środowiskowe'. Powinieneś zobaczyć wynik umożliwiający edycję zmiennych środowiskowych systemu. Jeśli nie, zawsze możesz użyć następujących kroków: Menu Start > Panel sterowania > Edytuj zmienne środowiskowe systemu.
Wyszukiwanie 'zmienne środowiskowe'
Właściwości systemu
Gdy pojawi się okno dialogowe 'Właściwości systemu', upewnij się, że jest kliknięta karta Zaawansowane, a następnie kliknij przycisk Zmienne środowiskowe w prawym dolnym rogu ekranu.
Zmienne środowiskowe
Pod zmiennymi systemowymi klikniemy przycisk Edytuj.
Gdy pojawi się ekran "Edytuj zmienną środowiskową", kliknij przycisk Nowy i wklej swoją ścieżkę instalacji Tesseract OCR, którą skopiowaliśmy wcześniej w Kroku 2. Gdy to zrobisz, kliknij przycisk 'OK'.
Dodaj katalog instalacji Tesseract OCR dla Windows do zmiennych środowiskowych
To wszystko! Teraz, kiedy uruchomiliśmy instalator .exe i dodaliśmy lokalizację instalacji Tesseract OCR dla Windows do naszych zmiennych środowiskowych, możemy przetestować naszą instalację, uruchamiając Tesseract na obrazie testowym.
Krok 4: Uruchom Tesseract OCR dla Windows na obrazku testowym
Aby sprawdzić, czy Tesseract OCR dla Windows został pomyślnie zainstalowany, otwórz wiersz poleceń na swoim komputerze i uruchom polecenie Tesseract. Powinieneś zobaczyć wynik z szybką wyjaśnieniem opcji użycia Tesseract.
Sprawdzenie pomyślnej instalacji Tesseract OCR dla Windows
Gratulacje! Pomyślnie zainstalowałeś Tesseract OCR dla Windows na swoim komputerze.
Zalety użycia IronOCR do pracy OCR:
IronOCR provides Tesseract OCR on Mac, Windows, Linux, Azure and Docker for:
- .NET Framework 4.0 +
- .NET Standard 2.0 +
- .NET Core 2.0 +
- .NET 5
- Mono dla macOS i Linux
- Xamarin dla macOS
IronOCR odczytuje tekst, kody kreskowe i kody QR ze wszystkich głównych formatów obrazów i PDF z użyciem najnowszego silnika Tesseract 5. Ta biblioteka dodaje funkcjonalność OCR do aplikacji Desktop, Console i Web w kilka minut. Obsługuje ponad 125 języków międzynarodowych. Licencje zaczynają się od $999.
Krok 1: Zainstaluj najnowszą wersję IronOCR
Zainstaluj DLL
Pobierz IronOCR DLL bezpośrednio na swój komputer.
Zainstaluj NuGet
Alternatywnie możesz zainstalować go przez NuGet za pomocą następującego polecenia:
Install-Package IronOcr
Krok 2: Zastosuj swój klucz licencyjny
Ustaw swój klucz licencyjny IronOCR używając kodu
Dodaj ten kod do uruchamiania swojej aplikacji przed użyciem IronOCR.
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01"
Krok 3: Przetestuj swój Klucz
Sprawdź, czy klucz został poprawnie zainstalowany.
bool isValidLicense = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01");
bool isValidLicense = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01");
Dim isValidLicense As Boolean = IronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF01")
Rozpocznij projekt
// PM > Install-Package IronOcr
// using IronOcr;
var Ocr = new IronTesseract();
// Set the recognition language to English
Ocr.Language = OcrLanguage.English;
using (var Input = new OcrInput())
{
// Add an example image to the OCR input
Input.Add(@"img\example.tiff");
// Optional: Clean the image before processing
// Input.DeNoise();
// Input.Deskew();
// Read the text from the image
IronOcr.OcrResult result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
// Explore the OcrResult using IntelliSense
}
// PM > Install-Package IronOcr
// using IronOcr;
var Ocr = new IronTesseract();
// Set the recognition language to English
Ocr.Language = OcrLanguage.English;
using (var Input = new OcrInput())
{
// Add an example image to the OCR input
Input.Add(@"img\example.tiff");
// Optional: Clean the image before processing
// Input.DeNoise();
// Input.Deskew();
// Read the text from the image
IronOcr.OcrResult result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
// Explore the OcrResult using IntelliSense
}
' PM > Install-Package IronOcr
' using IronOcr;
Dim Ocr = New IronTesseract()
' Set the recognition language to English
Ocr.Language = OcrLanguage.English
Using Input = New OcrInput()
' Add an example image to the OCR input
Input.Add("img\example.tiff")
' Optional: Clean the image before processing
' Input.DeNoise();
' Input.Deskew();
' Read the text from the image
Dim result As IronOcr.OcrResult = Ocr.Read(Input)
' Output the recognized text
Console.WriteLine(result.Text)
' Explore the OcrResult using IntelliSense
End Using
Jak używać Tesseract OCR w C# dla .NET?
- Zainstaluj Google Tesseract i IronOCR dla .NET w Visual Studio
- Sprawdź najnowsze kompilacje w C#
- Przejrzyj dokładność i kompatybilność obrazów
- Przetestuj wydajność i funkcję API
- Rozważ wsparcie dla wielu języków
Code Example for .NET OCR Usage — Extract Text from Images in C
Użyj Menedżera pakietów NuGet, aby zainstalować pakiet NuGet IronOCR w rozwiązaniu Visual Studio.
// PM > Install-Package IronOcr
// using IronOcr;
var Ocr = new IronTesseract();
// Set the recognition language to English
Ocr.Language = OcrLanguage.English;
using (var Input = new OcrInput())
{
// Add an example image to the OCR input
Input.Add(@"img\example.tiff");
// Optional: Clean the image before processing
// Input.DeNoise();
// Input.Deskew();
// Read the text from the image
IronOcr.OcrResult result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
// Explore the OcrResult using IntelliSense
}
// PM > Install-Package IronOcr
// using IronOcr;
var Ocr = new IronTesseract();
// Set the recognition language to English
Ocr.Language = OcrLanguage.English;
using (var Input = new OcrInput())
{
// Add an example image to the OCR input
Input.Add(@"img\example.tiff");
// Optional: Clean the image before processing
// Input.DeNoise();
// Input.Deskew();
// Read the text from the image
IronOcr.OcrResult result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
// Explore the OcrResult using IntelliSense
}
' PM > Install-Package IronOcr
' using IronOcr;
Dim Ocr = New IronTesseract()
' Set the recognition language to English
Ocr.Language = OcrLanguage.English
Using Input = New OcrInput()
' Add an example image to the OCR input
Input.Add("img\example.tiff")
' Optional: Clean the image before processing
' Input.DeNoise();
' Input.Deskew();
' Read the text from the image
Dim result As IronOcr.OcrResult = Ocr.Read(Input)
' Output the recognized text
Console.WriteLine(result.Text)
' Explore the OcrResult using IntelliSense
End Using
IronOCR Tesseract for C
Z IronOCR, cała instalacja Tesseract odbywa się w całości za pomocą Menedżera Pakietów NuGet.
Install-Package IronOcr
Tesseract 5 API in IronOCR Tesseract
Do dziś, IronTesseract jest jedyną znaną implementacją Tesseract 5 dla .NET Framework lub Core.
// using IronOcr;
var Ocr = new IronTesseract(); // nothing to configure
using (var Input = new OcrInput(@"images\image.png"))
{
var result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
}
// using IronOcr;
var Ocr = new IronTesseract(); // nothing to configure
using (var Input = new OcrInput(@"images\image.png"))
{
var result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
}
' using IronOcr;
Dim Ocr = New IronTesseract() ' nothing to configure
Using Input = New OcrInput("images\image.png")
Dim result = Ocr.Read(Input)
' Output the recognized text
Console.WriteLine(result.Text)
End Using
Tesseract 4 API in IronOCR Tesseract
// using IronOcr;
var Ocr = new IronTesseract();
// Specify the version of Tesseract
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4;
using (var Input = new OcrInput(@"images\image.png"))
{
var result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
}
// using IronOcr;
var Ocr = new IronTesseract();
// Specify the version of Tesseract
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4;
using (var Input = new OcrInput(@"images\image.png"))
{
var result = Ocr.Read(Input);
// Output the recognized text
Console.WriteLine(result.Text);
}
' using IronOcr;
Dim Ocr = New IronTesseract()
' Specify the version of Tesseract
Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4
Using Input = New OcrInput("images\image.png")
Dim result = Ocr.Read(Input)
' Output the recognized text
Console.WriteLine(result.Text)
End Using
Dlaczego IronOCR jest lepszy niż Tesseract:
DOKŁADNOŚĆ
Tesseract:
Jeśli Tesseract napotka obraz, który jest obrócony, przekrzywiony, ma niską rozdzielczość DPI, jest zeskanowany lub ma szum tła, staje się prawie niemożliwe dla Tesseract, aby uzyskać dane z tego obrazu. Ponadto, Tesseract poświęci dużo czasu na przetworzenie tego dokumentu, zanim dostarczy ci bezsensownych informacji.
IronOCR:
IronOCR usuwa ten ból głowy. Użytkownicy często osiągają 99,8-100% dokładności przy minimalnej konfiguracji.
KOMPATYBILNOŚĆ Z OBRAZAMI
Tesseract:
Akceptuje tylko format obrazu Leptonica PIX, który jest obiektem IntPtr C++ w C#. Obiekty PIX nie są zarządzaną pamięcią — a brak ostrożności przy ich obsłudze w C# prowadzi do wycieków pamięci.
IronOCR:
Obrazy są zarządzane pamięcią. Obsługiwane PDF i Tiff. System.Drawing, Strumień i Tablica Bajtów są zawarte dla każdego formatu pliku.
Szerokie wsparcie obrazów:
- Dokumenty PDF
- Strony PDF
- Pliki TIFF z wieloma klatkami
- JPEG i JPEG2000
- GIF
- PNG
- System.Drawing.Image
- Dane obrazu binarnego (byte [])
- I wiele więcej...
WYDAJNOŚĆ
Tesseract:
Google Tesseract może działać szybko i dokładnie, jeśli jest odpowiednio dostrojone i obrazy wejściowe zostały wstępnie przetworzone za pomocą programu Photoshop lub ImageMagick.
IronOCR:
IronOCR .NET Tesseract DLL działa dokładnie i szybko dla większości obrazów od razu po wyjęciu z pudełka. Wdrożyliśmy wielowątkowość, aby wykorzystać procesory wielordzeniowe, których obecnie używa większość maszyn. Nawet obrazy o niskiej rozdzielczości zazwyczaj działają z wysoką dokładnością w twoim programie. Nie jest wymagany Photoshop.
API
Tesseract:
Mamy dwie darmowe opcje:
- Praca z warstwami Interop — wiele z nich, które można znaleźć na GitHub, jest przestarzałych, ma nierozwiązane bilety, wycieki pamięci i ostrzeżenia konsoli. Może nie obsługiwać .NET Core lub Standard.
- Praca z poleceniem EXE — trudne do wdrożenia i stale przerywane przez skanery wirusów i polityki bezpieczeństwa.
IronOCR:
Zarządzana i przetestowana biblioteka .NET dla Tesseract o nazwie IronTesseract.
W pełni udokumentowana z obsługą IntelliSense.
JĘZYK
Tesseract:
Obsługuje tylko 100 języków.
IronOCR:
Obsługuje ponad 125 języków.
Wnioski
Tesseract jest doskonałym zasobem dla programistów C++, ale nie jest kompletną biblioteką OCR dla .NET. Skanowane lub fotografowane obrazy należy przetworzyć, aby były ortogonalne, standardowe, wysokiej rozdzielczości i wolne od cyfrowego szumu, zanim Tesseract będzie w stanie dokładnie z nimi pracować.
W przeciwieństwie do tego, IronOCR może to zrobić i więcej, przy użyciu tylko jednej linii kodu. To prawda, że IronOCR używa Tesseract jako swojego wewnętrznego silnika OCR, bardzo precyzyjnie dostrojonego Tesseract, zbudowanego dla C#, z wieloma ulepszeniami wydajności i funkcjami dodanymi jako standard.




