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

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