ConfigureTesseractOCR
OCR, configuración
Descripción
Crea un proveedor de Tesseract propio de la instancia y lo asigna a OnOCRPage, de modo que los métodos de OCR de página y documento se pueden usar sin una devolución de llamada de la aplicación
Sintaxis
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);
Parámetros
| Executable | La ruta a un ejecutable de Tesseract existente |
|---|---|
| TessDataDirectory | El directorio de datos entrenados, o una cadena vacía para que el motor use su búsqueda de datos normal |
| DetectOrientation | False de forma predeterminada; true ejecuta OSD antes del reconocimiento y corrige explícitamente la rotación horaria reportada de 0, 90, 180 o 270 grados |
| MinOrientationConfidence | Una puntuación de confianza OSD de Tesseract finita y no negativa, con 15 de forma predeterminada; esta puntuación es distinta del umbral de confianza de palabra de 0 a 1 |
| TimeoutMS | El tiempo de espera positivo en milisegundos para cada proceso del motor, con 120000 de forma predeterminada; una página con orientación puede ejecutar procesos separados de OSD y de reconocimiento |
Valores devueltos
Delphi devuelve true cuando la configuración se acepta; DLL y ActiveX devuelven 1 para éxito y 0 para una configuración no válida
Observaciones
El motor es opcional y lo suministra la aplicación; la configuración no instala un ejecutable, no descarga modelos ni modifica la configuración de Tesseract del usuario
La ruta del ejecutable y la ruta opcional del directorio de datos se comprueban durante la configuración; la disponibilidad de los modelos y la ejecución real del motor se comprueban cuando se reconoce una página
El idioma solicitado necesita su archivo de datos entrenados, como eng.traineddata; la detección de orientación también necesita osd.traineddata
El adaptador de Windows lanza el ejecutable directamente sin shell ni consola visible, usa archivos temporales privados, aplica límites de tiempo y de salida, y analiza la jerarquía hOCR y las líneas base verificadas
La detección de orientación está deshabilitada de forma predeterminada; cuando está habilitada, un resultado OSD faltante o de baja confianza falla de forma explícita en lugar de adivinar una dirección
Una corrección verificada rota los píxeles PNG de 8 bits sin entrelazado compatibles un cuarto de vuelta sin interpolación, reconoce la imagen en posición vertical y después mapea los cuadros de palabras y los extremos de las líneas base de vuelta a las coordenadas de la imagen original
La línea base mapeada ya lleva la dirección del texto y no recibe el ángulo de orientación una segunda vez
Una reconfiguración no válida conserva el proveedor existente; una reconfiguración aceptada reemplaza al proveedor propio anterior
Una devolución de llamada de la aplicación asignada después permanece siendo propiedad de la aplicación, y ClearTesseractOCR y la destrucción de la instancia la conservan
Ejemplo
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;
Véase también
ClearTesseractOCR, OCRPageEx, OCRDocumentEx, GetOCRDiagnosticsJSON, OnOCRPage