Szczegółowa konfiguracja Tesseract
Jeśli chodzi o OCR, niezbędne jest posiadanie opcji i elastyczności w zakresie podejścia do dokumentów oraz sposobu wyodrębniania z nich tekstu. Ponieważ wykonywanie OCR jest kosztowne, konieczna jest możliwość kontrolowania wydajności i metod stosowanych w przypadku konkretnych dokumentów, aby zapewnić skalowalność i wydajność aplikacji wykorzystującej OCR.
IronTesseract oferuje programistom różne właściwości i opcje, którymi mogą eksperymentować. Na przykład, jeśli chcesz umieścić określone znaki na czarnej liście, odczytać BarCodes w dokumentach, a nawet określić, w jaki sposób silnik OCR odczytuje stronę w celu wyszukania potencjalnych bloków tekstu, wszystko to i wiele więcej możesz osiągnąć dzięki klasie IronTesseract.
Przewodnik 5-krokowy użycia IronOCR z Tesseract 5
var ocrTesseract = new IronTesseract();ocrTesseract.Language = OcrLanguage.EnglishBest;ocrTesseract.Configuration.ReadBarCodes = false;ocrTesseract.Configuration.BlackListCharacters = "`ë|^";ocrTesseract.Configuration.TesseractVariables["tessedit_parallelize"] = false;
Po zainicjowaniu klasy IronTesseract dostępnych jest od razu kilka ważnych opcji, które chcielibyśmy zmodyfikować. Pierwszą właściwością do skonfigurowania jest Language. Domyślnym językiem jest angielski; Jednak IronTesseract obsługuje do 125 języków, a dzięki metodzie UseMultipleLanguages pozwala nawet na użycie wielu języków. Więcej szczegółów znajdziesz tutaj.
Drugą właściwością, którą chcemy skonfigurować, jest klasa TesseractConfiguration. Z tą klasą możemy modyfikować sposób, w jaki silnik Tesseract skanuje dokument w poszukiwaniu potencjalnych bloków tekstu.
- Po pierwsze, modyfikujemy język silnika Tesseract, przypisując język do
OcrLanguage.EnglishBest. Ta odmiana łączyLSTMiOEM, które są strategiami rozpoznawania kształtów wykorzystującymi OCR; łączenie tych dwóch strategii pozwala OCR na uzyskanie dokładniejszych wyników. - Następnie ustawiliśmy
ReadBarCodesna false, aby uniknąć odczytywania BARCODE-ów podczas procesu OCR.
Dodatkowo dostosowujemy i precyzujemy znaki, które chcemy wydobyć, umieszczając na czarnej liście pewne znaki w dokumencie; w tym przykładzie umieszczamy na czarnej liście znaki, aby uniknąć wydobyćia tekstu zawierającego backticky, akcenty lub daszki. Na koniec ustawiliśmy TesseractVariables["tessedit_parallelize"] na false, aby na razie wyłączyć przetwarzanie równoległe. Ta ostatnia funkcja jest naprawdę potężna, ponieważ komunikuje się bezpośrednio z silnikiem Tesseract. Oto pełna lista TesseractVariables, która pozwala programistom na dalsze dostosowywanie zachowania silnika Tesseract podczas wykonywania OCR.

