ConfigureTesseractOCR
OCR, Konfiguration
Beschreibung
Erzeugt einen instanzeigenen Tesseract-Anbieter und weist ihn OnOCRPage zu, sodass die Seiten- und Dokument-OCR-Methoden ohne anwendungseigenen Rückruf nutzbar sind
Syntax
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);
Parameter
| Executable | Der Pfad zu einer vorhandenen Tesseract-Programmdatei |
|---|---|
| TessDataDirectory | Das Verzeichnis mit den trainierten Daten oder eine leere Zeichenfolge, damit die Engine ihre normale Datensuche verwendet |
| DetectOrientation | Standardmäßig False; true führt OSD vor der Erkennung aus und korrigiert ausdrücklich die gemeldete Drehung von 0, 90, 180 oder 270 Grad im Uhrzeigersinn |
| MinOrientationConfidence | Ein endlicher, nicht negativer Tesseract-OSD-Konfidenzwert, Standard 15; dieser Wert ist vom Wortkonfidenz-Schwellenwert von 0 bis 1 zu unterscheiden |
| TimeoutMS | Das positive Zeitlimit in Millisekunden für jeden Engine-Prozess, Standard 120000; eine ausgerichtete Seite kann separate OSD- und Erkennungsprozesse ausführen |
Rückgabewerte
Delphi liefert true, wenn die Konfiguration akzeptiert wird; DLL und ActiveX geben 1 für Erfolg und 0 für eine ungültige Konfiguration zurück
Anmerkungen
Die Engine ist optional und wird von der Anwendung geliefert; die Konfiguration installiert keine Programmdatei, lädt keine Modelle herunter und ändert die Tesseract-Konfiguration des Nutzers nicht
Der Programmdateipfad und der optionale Datenverzeichnispfad werden während der Konfiguration geprüft; Modellverfügbarkeit und tatsächliche Engine-Ausführung werden geprüft, wenn eine Seite erkannt wird
Die angeforderte Sprache benötigt ihre trainierte Datendatei, etwa eng.traineddata; die Ausrichtungserkennung benötigt zusätzlich osd.traineddata
Der Windows-Adapter startet die Programmdatei direkt ohne Shell oder sichtbare Konsole, verwendet private temporäre Dateien, setzt Zeit- und Ausgabegrenzen durch und parst hOCR-Hierarchie und verifizierte Zeilengrundlinien
Die Ausrichtungserkennung ist standardmäßig deaktiviert; wenn sie aktiviert ist, schlägt ein fehlendes OSD-Ergebnis oder eines mit niedriger Konfidenz explizit fehl, statt eine Richtung zu schätzen
Eine verifizierte Korrektur dreht unterstützte, nicht interleaved 8-Bit-PNG-Pixel um eine Vierteldrehung ohne Interpolation, erkennt das aufrechte Bild und bildet Wortboxen und Grundlinienendpunkte zurück in die ursprünglichen Bildkoordinaten ab
Die abgebildete Grundlinie trägt bereits die Textrichtung und erhält den Ausrichtungswinkel nicht ein zweites Mal
Eine ungültige Neukonfiguration bewahrt den vorhandenen Anbieter; eine akzeptierte Neukonfiguration ersetzt den vorherigen bibliothekseigenen Anbieter
Ein anschließend zugewiesener anwendungseigener Rückruf bleibt der Anwendung zugeordnet und wird von ClearTesseractOCR und der Instanzzerstörung bewahrt
Beispiel
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;
Siehe auch
ClearTesseractOCR, OCRPageEx, OCRDocumentEx, GetOCRDiagnosticsJSON, OnOCRPage