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 quedan utilizables 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 utilice su búsqueda de datos habitual |
| DetectOrientation | False de forma predeterminada; true ejecuta OSD antes del reconocimiento y corrige explícitamente la rotación notificada de 0, 90, 180 o 270 grados en sentido horario |
| MinOrientationConfidence | Una puntuación de confianza OSD de Tesseract finita y no negativa, 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, 120000 de forma predeterminada; una página orientada puede ejecutar procesos separados de OSD y de reconocimiento |
Valores devueltos
Delphi devuelve true cuando se acepta la configuración; DLL y ActiveX devuelven 1 en caso de éxito y 0 ante una configuración no válida
Observaciones
El motor es opcional y lo suministra la aplicación; la configuración no instala ningún ejecutable, no descarga modelos ni modifica la configuración de Tesseract del usuario
La ruta del ejecutable y la 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 necesita además osd.traineddata
El adaptador de Windows lanza el ejecutable directamente sin shell ni consola visible, utiliza 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á desactivada de forma predeterminada; cuando está activada, un resultado OSD ausente o de confianza baja falla de forma explícita en lugar de adivinar una dirección
Una corrección verificada gira los píxeles PNG de 8 bits no entrelazados compatibles un cuarto de vuelta sin interpolación, reconoce la imagen upright y después remite los cuadros de palabra y los puntos finales de la línea base a las coordenadas de la imagen original
La línea base remitida ya lleva la dirección del texto y no recibe una segunda vez el ángulo de orientación
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 sigue 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