Przejdź do treści stopki
NARZęDZIA OCR
Jak korzystać z Tesseract OCR dla .NET w systemie Windows

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.


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:

Tesseract Ocr Windows 1 related to Język instalatora

Instalator języka dla Tesseract OCR dla Windows

Konfiguracja Tesseract OCR

Ekran instalacji zaleca zamknięcie wszystkich innych aplikacji przed kontynuowaniem instalacji.

Tesseract Ocr Windows 2 related to Konfiguracja Tesseract OCR

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.

Tesseract Ocr Windows 3 related to Wybierz lokalizację 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.

Tesseract Ocr Windows 4 related to Wybierz komponenty

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.

Tesseract Ocr Windows 5 related to Wybierz komponenty

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'.

Tesseract Ocr Windows 6 related to Wybierz folder menu Start

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.

Tesseract Ocr Windows 7 related to Panel sterowania

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.

Tesseract Ocr Windows 8 related to Właściwości systemu

Zmienne środowiskowe

Pod zmiennymi systemowymi klikniemy przycisk Edytuj.

Tesseract Ocr Windows 9 related to Zmienne środowiskowe

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

Tesseract Ocr Windows 10 related to 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.

Tesseract Ocr Windows 11 related to Krok 4: Uruchom Tesseract OCR dla Windows na obrazku testowym

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"
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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.

Kannaopat Udonpant
Inżynier oprogramowania
Zanim stał się inżynierem oprogramowania, Kannapat ukończył doktorat z zasobów środowiskowych na Uniwersytecie Hokkaido w Japonii. W czasie studiowania, Kannapat również został członkiem Laboratorium Robotyki Pojazdów, które jest częścią Wydziału Inżynierii Bioprodukcji. W 2022 roku wykorzystał swoje umiejętności w ...
Czytaj więcej

Zespół wsparcia Iron

Jesteśmy online 24 godziny, 5 dni w tygodniu.
Czat
E-mail
Zadzwoń do mnie