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

ExecutableLa ruta a un ejecutable de Tesseract existente
TessDataDirectoryEl directorio de datos entrenados, o una cadena vacía para que el motor utilice su búsqueda de datos habitual
DetectOrientationFalse 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
MinOrientationConfidenceUna 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
TimeoutMSEl 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