ConfigureTesseractOCR

OCR, configurazione

Descrizione

Crea un provider Tesseract di proprietà dell'istanza e lo assegna a OnOCRPage, rendendo i metodi OCR di pagina e documento utilizzabili senza un callback dell'applicazione

Sintassi

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);

Parametri

ExecutableIl percorso di un eseguibile Tesseract esistente
TessDataDirectoryLa directory dei dati addestrati, oppure una stringa vuota per lasciare al motore la sua normale ricerca dei dati
DetectOrientationFalse per impostazione predefinita; true esegue OSD prima del riconoscimento e corregge esplicitamente la rotazione oraria riportata di 0, 90, 180 o 270 gradi
MinOrientationConfidenceUn punteggio di confidenza OSD Tesseract finito e non negativo, predefinito 15; questo punteggio è distinto dalla soglia di confidenza delle parole da 0 a 1
TimeoutMSIl timeout positivo in millisecondi per ogni processo del motore, predefinito 120000; una pagina con orientamento può eseguire processi separati di OSD e riconoscimento

Valori restituiti

Delphi restituisce true quando la configurazione viene accettata; DLL e ActiveX restituiscono 1 per successo e 0 per una configurazione non valida

Note

Il motore è opzionale e viene fornito dall'applicazione; la configurazione non installa un eseguibile, non scarica modelli e non modifica la configurazione Tesseract dell'utente

Il percorso dell'eseguibile e il percorso opzionale della directory dei dati vengono controllati durante la configurazione; la disponibilità dei modelli e l'esecuzione effettiva del motore vengono controllate quando una pagina viene riconosciuta

La lingua richiesta richiede il suo file di dati addestrati, come eng.traineddata; il rilevamento dell'orientamento richiede anche osd.traineddata

L'adattatore Windows lancia l'eseguibile direttamente senza shell né console visibile, usa file temporanei privati, fa rispettare i limiti di tempo e di output, e analizza la gerarchia hOCR e le baseline di riga verificate

Il rilevamento dell'orientamento è disabilitato per impostazione predefinita; quando è abilitato, un risultato OSD mancante o a bassa confidenza fallisce esplicitamente invece di indovinare una direzione

Una correzione verificata ruota di un quarto di giro, senza interpolazione, i pixel PNG a 8 bit non interleaved supportati, riconosce l'immagine dritta, poi riporta i box delle parole e gli endpoint delle baseline alle coordinate dell'immagine originale

La baseline mappata porta già con sé la direzione del testo e non riceve una seconda volta l'angolo di orientamento

Una riconfigurazione non valida conserva il provider esistente; una riconfigurazione accettata sostituisce il precedente provider di proprietà della libreria

Un callback dell'applicazione assegnato in seguito resta di proprietà dell'applicazione e viene preservato da ClearTesseractOCR e dalla distruzione dell'istanza

Esempio

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;

Vedere anche

ClearTesseractOCR, OCRPageEx, OCRDocumentEx, GetOCRDiagnosticsJSON, OnOCRPage