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
TessDataDirectoryKatalog danych treningowych albo pusty ciąg, aby silnik użył swojego normalnego mechanizmu wyszukiwania danych
DetectOrientationDomyś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
MinOrientationConfidenceSkoń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
TimeoutMSDodatni 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