Jak korzystać z Custom Language z Tesseract w C
IronOCR umożliwia OCR dla niestandardowych języków, specjalistycznych skryptów lub szyfrów poprzez ładowanie plików Tesseract .traineddata za pomocą metody UseCustomTesseractLanguageFile, co pozwala na wyodrębnianie tekstu z dowolnego niestandardowego modelu językowego.
Szybki start: Załaduj niestandardowy język dla OCR
-
Install IronOCR with NuGet Package Manager
PM > Install-Package IronOcr -
Skopiuj i uruchom ten fragment kodu.
using IronOcr; // Initialize OCR engine var ocr = new IronTesseract(); // Load custom language file ocr.UseCustomTesseractLanguageFile("custom.traineddata"); // Process document using var input = new OcrInput(); input.LoadImage("document.png"); // Extract text var result = ocr.Read(input); Console.WriteLine(result.Text); -
Wdrożenie do testowania w środowisku produkcyjnym
Rozpocznij używanie IronOCR w swoim projekcie już dziś z darmową wersją próbną
- Zainstaluj
IronOcrza pomocą menedżera pakietów NuGet - Załaduj swój niestandardowy plik
.traineddataza pomocąUseCustomTesseractLanguageFile - Utwórz
OcrInputi załaduj swój dokument - Wywołaj
Read(), aby wyodrębnić tekst w wybranym języku - Zapisz lub przetwórz wyciągnięty tekst
Optyczne rozpoznawanie znaków (OCR) wymaga czasem obsługi niestandardowych języków, specjalistycznych alfabetów lub szyfrów. Aby odczytać obraz wejściowy zawierający niestandardowy język, silnik Tesseract musi otrzymać dane szkoleniowe dla tego konkretnego języka. Dane te są przechowywane w specjalnym pliku .traineddata.
Chociaż złożony proces tworzenia (szkolenia) tego pliku odbywa się przy użyciu własnych narzędzi Tesseract, IronOCR w pełni obsługuje korzystanie z tych niestandardowych plików językowych. Dzięki temu możesz zastosować swój wyszkolony model do rozszyfrowania i odczytania tekstu z dowolnego źródła. W niniejszym przewodniku pokazano, jak załadować i używać niestandardowego pliku .traineddata w programie IronOCR.
Jak korzystać z niestandardowych języków w Tesseract
- Pobierz bibliotekę C# do odczytu niestandardowego języka
- Zainicjuj silnik OCR
- Załaduj niestandardowe dane szkoleniowe języka za pomocą
UseCustomTesseractLanguageFile - Załaduj obraz wejściowy za pomocą
LoadImage - Odczytaj i wyodrębnij obraz z niestandardowym wpisem językowym za pomocą
funkcji Read
Jak wdrożyć niestandardowe OCR językowe za pomocą Tesseract?
Aby użyć niestandardowego języka w Tesseract, najpierw załaduj plik .traineddata, wywołując metodę UseCustomTesseractLanguageFile. Jest to niezbędny krok, ponieważ plik ten zawiera wszystkie dane szkoleniowe, które pozwalają Tesseract rozpoznawać unikalne znaki danego języka.
Obsługa niestandardowych języków w IronOCR wykracza poza standardowe języki. Niezależnie od tego, czy pracujesz ze skryptami historycznymi, językami wymyślonymi czy specjalistycznymi systemami notacji, proces jest taki sam. W przypadku projektów wymagających obsługi wielu języków zapoznaj się z naszym przewodnikiem dotyczącym odczytu wielu języków lub dowiedz się więcej o 125 międzynarodowych językach OCR obsługiwanych od razu po uruchomieniu.
Następnie załaduj dokument źródłowy tak samo, jak w przypadku zwykłej operacji OCR. Ładujemy plik PDF zawierający akapity w niestandardowym języku przy użyciu LoadPdf. IronOCR obsługuje różne formaty wejściowe, w tym obrazy (jpg, png, gif, tiff, bmp) i pliki PDF.
Na koniec użyj metody Read, aby wyodrębnić tekst z danych wejściowych. Wynik można następnie wydrukować w konsoli lub zapisać w pliku tekstowym w celach referencyjnych.
Jakie dane szkoleniowe są potrzebne dla języków niestandardowych?
Jako dane wejściowe wykorzystamy ten przykładowy plik PDF, który zawiera tekst w naszym niestandardowym języku.
W naszym przykładzie użyjemy tego niestandardowego języka .traindata.
Jakość i kompleksowość twojego materiału treningowego bezpośrednio wpływa na dokładność OCR. Podczas przygotowywania niestandardowych danych szkoleniowych dotyczących języka:
- Pokrycie znaków: Upewnij się, że twój materiał szkoleniowy zawiera wszystkie znaki i symbole
- Wariacje pisma: Uwzględnij wiele stylów czcionki, jeśli twoje dokumenty różnią się typografią
- Jakość obrazu: Szkol z obrazami podobnymi do tych, które będziesz przetwarzać w produkcji
- Wzorce kontekstu: Uwzględnij powszechne kombinacje słów i frazy
Aby uzyskać informacje na temat zaawansowanych opcji konfiguracyjnych, zapoznaj się z naszym szczegółowym przewodnikiem konfiguracji Tesseract.
Jak załadować i przetworzyć dokumenty w niestandardowym języku?
:path=/static-assets/ocr/content-code-examples/how-to/ocr-custom-language.cs
using IronOcr;
using System;
using System.IO;
var ocrTesseract = new IronTesseract();
// Load the traineddata file for the custom language
ocrTesseract.UseCustomTesseractLanguageFile("AMGDT.traineddata");
using var ocrInput = new OcrInput();
// Load the PDF containing text in the custom language
ocrInput.LoadPdf("custom.pdf");
var ocrResult = ocrTesseract.Read(ocrInput);
// Print text to the console
Console.WriteLine("--- OCR Result ---");
Console.WriteLine(ocrResult.Text);
Console.WriteLine("------------------");
// Pipe text to a .txt file
string outputFilePath = "ocr_output.txt";
File.WriteAllText(outputFilePath, ocrResult.Text);
Console.WriteLine($"\nSuccessfully saved text to {outputFilePath}");
Imports IronOcr
Imports System
Imports System.IO
Dim ocrTesseract As New IronTesseract()
' Load the traineddata file for the custom language
ocrTesseract.UseCustomTesseractLanguageFile("AMGDT.traineddata")
Using ocrInput As New OcrInput()
' Load the PDF containing text in the custom language
ocrInput.LoadPdf("custom.pdf")
Dim ocrResult = ocrTesseract.Read(ocrInput)
' Print text to the console
Console.WriteLine("--- OCR Result ---")
Console.WriteLine(ocrResult.Text)
Console.WriteLine("------------------")
' Pipe text to a .txt file
Dim outputFilePath As String = "ocr_output.txt"
File.WriteAllText(outputFilePath, ocrResult.Text)
Console.WriteLine(vbCrLf & "Successfully saved text to " & outputFilePath)
End Using
Powyższy kod ilustruje podstawowy przebieg pracy w przypadku niestandardowego OCR językowego. W przypadku bardziej złożonych scenariuszy warto rozważyć następujące ulepszenia:
Optymalizacja wydajności: W przypadku dużych dokumentów lub przetwarzania wsadowego należy wdrożyć obsługę wielowątkowości i asynchroniczności w celu poprawy wydajności.
Wstępne przetwarzanie obrazów: Jeśli dokumenty źródłowe mają problemy z jakością, przed przetwarzaniem OCR zastosuj filtry korekcji obrazu. Kreator filtrów pomoże Ci znaleźć optymalne ustawienia przetwarzania wstępnego.
OCR specyficzne dla regionu: W przypadku dokumentów o mieszanej treści należy użyć techniki OCR regionu obrazu, aby skupić się na konkretnych obszarach zawierających wybrany język.
Jakich rezultatów mogę oczekiwać od niestandardowego OCR językowego?
Poniższy wynik przedstawia rezultat działania naszego niestandardowego modelu językowego. Dzięki dostarczeniu prawidłowych danych szkoleniowych IronOCR z powodzeniem rozszyfrował tekst, a wynik jest w prostym języku angielskim. Dodatkowo, oto plik txt wygenerowany przez kod.
Dokładność niestandardowego OCR językowego zależy od kilku czynników:
- Jakość danych treningowych: Lepsze dane szkoleniowe dają lepsze wyniki
- Spójność dokumentów: Dokumenty pasujące do danych treningowych działają najlepiej
- Rozdzielczość obrazu: Obrazy o wyższym DPI dają dokładniejsze wyniki — zapoznaj się z naszym przewodnikiem dotyczącym ustawień DPI
Najlepsze praktyki dotyczące wdrażania niestandardowych języków
Wdrażając niestandardowe OCR językowe w środowiskach produkcyjnych, należy wziąć pod uwagę następujące najlepsze praktyki:
Obsługa błędów i walidacja: Zawsze sprawdzaj, czy plik .traineddata istnieje i jest dostępny, zanim spróbujesz go załadować. Należy wdrożyć odpowiednią obsługę błędów na wypadek, gdyby plik językowy był niekompletny lub uszkodzony.
Optymalizacja wydajności: Niestandardowe modele językowe mogą być większe niż standardowe pakiety językowe. Dla optymalnej wydajności:
- Buforuj załadowany model językowy podczas przetwarzania wielu dokumentów
- Użyj śledzenia postępu, aby monitorować długo trwające operacje OCR
- Rozważ wdrożenie czasów zakończenia dla przetwarzania dużych dokumentów
Łączenie z językami standardowymi: Jeśli dokumenty zawierają zarówno języki niestandardowe, jak i standardowe, można załadować wiele języków jednocześnie. Jest to szczególnie przydatne w przypadku dokumentów o zróżnicowanej treści.
Testowanie i walidacja: Należy ustanowić strukturę testową w celu sprawdzenia dokładności OCR:
- Stwórz zbiór testowy ze znanymi wynikami
- Skorzystaj z metryk pewności wyników, aby ocenić jakość rozpoznawania
- Wdrożenie podświetlania tekstu w postaci obrazów do debugowania wizualnego
Zaawansowane przypadki użycia
Niestandardowe OCR językowe otwiera wiele możliwości:
Ochrona dokumentów historycznych: digitalizacja starożytnych rękopisów lub tekstów napisanych w przestarzałych alfabetach
Specjalistyczne systemy notacji: równania matematyczne, notacja muzyczna lub diagramy techniczne — zapoznaj się z naszym przewodnikiem dotyczącym rozwiązywania problemów z równaniami
Aplikacje bezpieczeństwa: Dekodowanie zastrzeżonych systemów kodowania lub szyfrów
Dostępność: Konwersja specjalistycznych systemów pisma brajlowskiego lub dotykowego na standardowy tekst
W przypadku bardziej zaawansowanych scenariuszy zapoznaj się z naszymi obszernymi przykładami kodu, które pokazują różne możliwości IronOCR z wykorzystaniem Tesseract 5.
Często Zadawane Pytania
Jak przeprowadzic OCR na dokumentach z niestandardowymi językami lub skryptami?
IronOCR umożliwia OCR dla niestandardowych językow poprzez zaladowanie plikow Tesseract .traineddata za pomoca metody UseCustomTesseractLanguageFile. Pozwala to na wyciagniecie tekstu z dowolnego modelu języka niestandardowego, w tym specjalistycznych skryptow, tekstow historycznych lub szyfrow.
Jaki format pliku jest potrzebny do rozpoznania języka niestandardowego?
IronOCR wymaga pliku .traineddata zawierajacego dane szkoleniowe dla twojego niestandardowego języka. Ten plik jest zaladowywany za pomoca metody UseCustomTesseractLanguageFile i zawiera wszystkie niezbedne informacje dla Tesseract, aby rozpoznac unikalne znaki twojego języka niestandardowego.
Czy moge uzyc kilku niestandardowych językow w jednej operacji OCR?
Tak, IronOCR obsługuje rozpoznawanie kilku językow. Mozesz zaladowac kilka plikow językow niestandardowych lub polaczyc jezyki niestandardowe z dowolnym z 125 językow miedzynarodowych obslugiwanych domyslnie przez IronOCR.
Jakie typy niestandardowych skryptow moga byc rozpoznane?
IronOCR moze rozpoznawac kazdy niestandardowy skrypt, ktory zostal prawidlowo wyszkolony do pliku .traineddata, w tym skrypty historyczne, języki wymyslone, specjalistyczne systemy notacji i szyfry. Elastycznosc rozciaga sie na kazdy system pisma, ktory moze byc wyszkolony przy uzyciu narzedzi Tesseract.
Jak zaimplementowac OCR dla niestandardowych językow w mojej aplikacji C#?
Aby zaimplementowac OCR dla niestandardowych językow z IronOCR: 1) Zainicjuj instancje IronTesseract, 2) Zaladuj swoj plik .traineddata przy uzyciu UseCustomTesseractLanguageFile, 3) Utworz obiekt OcrInput i zaladuj swoj dokument, 4) Wywolaj metode Read(), aby wyciagnac tekst, 5) Przetworz wyciagniety tekst w razie potrzeby.
Czy IronOCR obsługuje wiele języków?
IronOCR obsługuje wiele języków, co czyni go wszechstronnym narzędziem dla globalnych aplikacji wymagających rozpoznawania tekstu w różnych językach.
Czy IronOCR można zintegrować z istniejącymi aplikacjami?
IronOCR jest zaprojektowany do łatwej integracji z istniejącymi aplikacjami używając C#, co pozwala programistom dodać funkcjonalność OCR do swojego oprogramowania z minimalnym wysiłkiem.
Jakie są korzyści z używania IronOCR do zarządzania dokumentami?
Używanie IronOCR do zarządzania dokumentami upraszcza przepływ pracy przez konwertowanie zeskanowanych dokumentów na przeszukiwalny i edytowalny tekst, redukując konieczność ręcznego wprowadzania danych i poprawiając dostępność dokumentów.
Jak IronOCR może poprawić dokładność danych?
IronOCR poprawia dokładność danych dzięki swoim zaawansowanym algorytmom rozpoznawania i funkcjom korekcji obrazów, zapewniając, że proces ekstrakcji tekstu jest zarówno niezawodny, jak i precyzyjny.
Czy dostępna jest bezpłatna wersja próbna IronOCR?
Tak, Iron Software oferuje bezpłatną wersję próbną IronOCR, umożliwiając użytkownikom przetestowanie jego funkcji i możliwości przed podjęciem decyzji o zakupie.

