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
| Executable | Il percorso di un eseguibile Tesseract esistente |
|---|---|
| TessDataDirectory | La directory dei dati addestrati, oppure una stringa vuota per lasciare al motore la sua normale ricerca dei dati |
| DetectOrientation | False per impostazione predefinita; true esegue OSD prima del riconoscimento e corregge esplicitamente la rotazione oraria riportata di 0, 90, 180 o 270 gradi |
| MinOrientationConfidence | Un punteggio di confidenza OSD Tesseract finito e non negativo, predefinito 15; questo punteggio è distinto dalla soglia di confidenza delle parole da 0 a 1 |
| TimeoutMS | Il 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