Configuración detallada de Tesseract

Cuando se trata de OCR, tener opciones y flexibilidad sobre cómo abordar y extraer texto de documentos es esencial. Dado que realizar OCR es costoso, es necesario poder controlar el rendimiento y los métodos a utilizar en documentos específicos para garantizar que la aplicación que utiliza OCR sea escalable y eficiente.

IronTesseract ofrece a los desarrolladores diferentes propiedades y opciones con las que experimentar. Por ejemplo, si deseas poner en la lista negra ciertos caracteres o también deseas leer los códigos de barras dentro de los documentos, e incluso dictar cómo el motor OCR lee la página para escanear posibles bloques de texto, todo eso y más con la clase IronTesseract.

Después de iniciar la clase IronTesseract, hay algunas opciones importantes disponibles de inmediato que querríamos modificar. La primera propiedad que debes configurar es Language. Por defecto, el idioma es inglés; sin embargo, IronTesseract admite hasta 125 idiomas e incluso permite varios idiomas con el método UseMultipleLanguages. Para más detalles, consulte aquí.

La segunda propiedad que queremos configurar es la clase TesseractConfiguration. Con esta clase, podemos modificar cómo el motor Tesseract escanea el documento en busca de posibles bloques de texto. Primero, modificamos el idioma del motor Tesseract asignando el idioma a OcrLanguage.EnglishBest. Esta variación combina un LTSM y un OEM, que son estrategias de reconocimiento de formas utilizando OCR. combinar estas dos estrategias permite que el OCR produzca resultados más precisos. Después, establecemos el ReadBarCodes en false para evitar la lectura de códigos de barras durante el proceso de OCR.

También personalizamos y especificamos los caracteres que queremos extraer mediante la inclusión en la lista negra de ciertos caracteres en el documento. En este ejemplo, ponemos en la lista negra los caracteres para evitar extraer texto con comillas inversas, acentos o el símbolo de intercalado. Finalmente, establecemos el TessreactVariables["tessedit_parallelize"] en false para deshabilitar el procesamiento en paralelo por el momento. Esta última es una característica realmente poderosa, ya que se comunica directamente con el Tesseract Engine. Aquí hay una lista completa de TesseractVariables que permiten a los desarrolladores personalizar aún más el comportamiento del Tesseract Engine al realizar OCR. Haga clic aquí para ver la Guía de Cómo Hacerlo, incluidos ejemplos, código de muestra y archivos.