ConfigureTesseractOCR
OCR, konfiguracja
Opis
Tworzy dostawcę Tesseract należącego do instancji i przypisuje go do OnOCRPage, dzięki czemu metody OCR strony i dokumentu działają bez procedury zwrotnej po stronie aplikacji
Składnia
Delphi
Function TPDFlib.ConfigureTesseractOCR(Const Executable,
TessDataDirectory: WideString; DetectOrientation: Boolean= False;
MinOrientationConfidence: Double= 15; TimeoutMS: Integer= 120000): Boolean;
ActiveX
Function PDFlib::ConfigureTesseractOCR(Executable As String,
TessDataDirectory As String, DetectOrientation As Long,
MinOrientationConfidence As Double, TimeoutMS As Long) As Long
DLL
int DLConfigureTesseractOCR(int InstanceID, const wchar_t* Executable,
const wchar_t* TessDataDirectory, int DetectOrientation,
double MinOrientationConfidence, int TimeoutMS);
int DLConfigureTesseractOCRA(int InstanceID, const char* Executable,
const char* TessDataDirectory, int DetectOrientation,
double MinOrientationConfidence, int TimeoutMS);
Parametry
| Executable | Ścieżka do istniejącego pliku wykonywalnego Tesseract |
|---|---|
| TessDataDirectory | Katalog danych treningowych albo pusty ciąg, aby silnik użył swojego normalnego mechanizmu wyszukiwania danych |
| DetectOrientation | Domyślnie False; wartość True uruchamia OSD przed rozpoznawaniem i jawnie koryguje zgłoszony obrót zgodnie z ruchem wskazówek zegara o 0, 90, 180 lub 270 stopni |
| MinOrientationConfidence | Skończona, nieujemna ocena pewności OSD silnika Tesseract, domyślnie 15; ta ocena to co innego niż domknięty od 0 do 1 próg pewności słowa |
| TimeoutMS | Dodatni limit czasu w milisekundach dla każdego procesu silnika, domyślnie 120000; strona z korektą orientacji może uruchamiać osobne procesy OSD i rozpoznawania |
Wartości zwracane
Delphi zwraca True, gdy konfiguracja zostanie zaakceptowana; DLL i ActiveX zwracają 1 dla sukcesu i 0 dla nieprawidłowej konfiguracji
Uwagi
Silnik jest opcjonalny i dostarcza go aplikacja; konfiguracja nie instaluje pliku wykonywalnego, nie pobiera modeli ani nie modyfikuje konfiguracji Tesseract użytkownika
Ścieżka pliku wykonywalnego i opcjonalna ścieżka katalogu danych są sprawdzane podczas konfiguracji; dostępność modeli i faktyczne wykonanie silnika są sprawdzane przy rozpoznawaniu strony
Żądany język wymaga swojego pliku danych treningowych, np. eng.traineddata; wykrywanie orientacji wymaga dodatkowo osd.traineddata
Adapter Windows uruchamia plik wykonywalny bezpośrednio, bez powłoki i widocznej konsoli, używa prywatnych plików tymczasowych, egzekwuje limity czasu i wyjścia oraz parsuje hierarchię hOCR i zweryfikowane linie bazowe
Wykrywanie orientacji jest domyślnie wyłączone; po włączeniu brak wyniku OSD albo niska pewność kończy się jawnym błędem zamiast zgadywać kierunek
Zweryfikowana korekta obraca obsługiwane piksele 8-bitowego PNG bez przeplotu o ćwierć obrotu bez interpolacji, rozpoznaje obraz w normalnej orientacji, a następnie mapuje ramki słów i punkty końcowe linii bazowych z powrotem do współrzędnych oryginalnego obrazu
Zmapowana linia bazowa zawiera już kierunek tekstu i nie dostaje kąta orientacji drugi raz
Nieprawidłowa rekonfiguracja zachowuje istniejącego dostawcę; zaakceptowana rekonfiguracja zastępuje poprzedniego dostawcę należącego do instancji
Procedura zwrotna przypisana później pozostaje własnością aplikacji — ClearTesseractOCR i zniszczenie instancji jej nie usuwają
Przykład
if not PDF.ConfigureTesseractOCR('C:\Tools\Tesseract\tesseract.exe',
'C:\OCR\tessdata', True, 15, 120000) then
raise Exception.Create(PDF.LastOCRError);
Processed := PDF.OCRDocumentEx('', 300, 'eng', 'Arial', 0.5,
PDF_OCR_SKIP_EXISTING_TEXT or PDF_OCR_REPLACE_OWNED_LAYER);
ReportJSON := PDF.GetOCRDiagnosticsJSON;
Zobacz również
ClearTesseractOCR, OCRPageEx, OCRDocumentEx, GetOCRDiagnosticsJSON, OnOCRPage