Cómo corregir imágenes con filtros de lectura

This article was translated from English: Does it need improvement?
Translated
View the article in English

por Chaknith Bin

Los filtros de corrección de imágenes son técnicas de tratamiento digital de imágenes que se utilizan para mejorar la calidad y las características de una imagen, en particular con el fin de mejorar el reconocimiento y la extracción de texto. Los filtros de corrección de imagen disponibles en IronOcr son nitidez, mejora de la resolución, eliminación de ruido, dilatación y erosión.

Estos filtros de corrección de imágenes desempeñan un papel fundamental en el preprocesamiento de imágenes antes del OCR, ya que ayudan a optimizar la imagen para una extracción de texto precisa mejorando la calidad y la visibilidad del texto y reduciendo el ruido o los artefactos no deseados.

Comience con IronOCR

Comience a usar IronOCR en su proyecto hoy con una prueba gratuita.

Primer Paso:
green arrow pointer



Ejemplo de filtro de enfoque

Este filtro aumenta el contraste a lo largo de los bordes de la imagen, dándoles un aspecto más definido. Mejora la claridad del texto y los detalles, lo que facilita al software OCR el reconocimiento de caracteres.

Para aplicar el filtro de nitidez, basta con invocar el método Sharpen del objeto OcrImageInput.

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-sharpen-filter.cs
using IronOcr;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Apply sharpen filter
imageInput.Sharpen();

// Export filtered image
imageInput.SaveAsImages("sharpen");
Imports IronOcr

' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()

' Add image
Private imageInput = New OcrImageInput("sample.jpg")
' Apply sharpen filter
imageInput.Sharpen()

' Export filtered image
imageInput.SaveAsImages("sharpen")
VB   C#

Para mayor comodidad, puede exportar la imagen filtrada utilizando el método SaveAsImages. A continuación se muestra una comparación de la imagen antes y después de aplicar el filtro de nitidez.

Imagen de muestra
Filtro de nitidez aplicado

Ejemplo de filtro de mejora de la resolución

Este filtro está diseñado para aumentar la densidad de píxeles de una imagen, mejorando eficazmente su nitidez y claridad. Puede ser especialmente útil para mejorar la legibilidad del texto en imágenes de baja resolución.

Del mismo modo, puede invocar el método EnhanceResolution para aplicar el filtro de resolución mejorada. Este método también acepta el objetivo deseado, con 225 PPP como valor por defecto.

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-enhance-resolution-filter.cs
// Apply enhance resolution filter
imageInput.EnhanceResolution();
' Apply enhance resolution filter
imageInput.EnhanceResolution()
VB   C#
Imagen de muestra
Filtro de mejora de la resolución aplicado

Ejemplo de filtro de eliminación de ruido

Los filtros de eliminación de ruido reducen el nivel de ruido o artefactos no deseados en una imagen. La reducción del ruido es crucial para el OCR, ya que ayuda a aislar el texto de las interferencias del fondo, lo que permite un reconocimiento más limpio y preciso.

Para aplicar el filtro de eliminación de ruido, utilice el método DeNoise. La morfología por defecto es 2x2, y pasando 'true' al método se habilitará una morfología 3x3. Si elige la opción 3x3, se aplicará un algoritmo de eliminación de ruido más potente.

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-denoise-filter.cs
// Apply denoise filter
imageInput.DeNoise();
' Apply denoise filter
imageInput.DeNoise()
VB   C#
Imagen de muestra
Filtro de ruido aplicado

Ejemplo de filtro de dilatación

La dilatación es un filtro que expande las regiones más brillantes(primer plano) en una imagen. Ayuda a engrosar y realzar el texto, haciéndolo más prominente y más fácil de interpretar para el software OCR.

Para aplicar el filtro de dilatación, utilice el método Dilate. Similar al método DeNoise, la morfología por defecto es 2x2, y pasando true se activará la opción 3x3.

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-dilate-filter.cs
// Apply dilate filter
imageInput.Dilate();
' Apply dilate filter
imageInput.Dilate()
VB   C#
Imagen de muestra
Filtro Dilter aplicado

Ejemplo de filtro Erode

La erosión, por su parte, reduce el tamaño de las regiones brillantes de una imagen. Esto puede ser útil para refinar caracteres y líneas, sobre todo cuando son gruesos o están ligeramente distorsionados.

Utilice el método Erode para aplicar el filtro de erosión. Similar a los dos métodos anteriores, 2x2 es la morfología y pasar true habilitará la opción 3x3.

:path=/static-assets/ocr/content-code-examples/how-to/image-quality-correction-erode-filter.cs
// Apply erode filter
imageInput.Erode();
' Apply erode filter
imageInput.Erode()
VB   C#
Imagen de muestra
Filtro Erode aplicado
Chaknith related to Ejemplo de filtro Erode

Chaknith Bin

Ingeniero de software

Chaknith es el Sherlock Holmes de los desarrolladores. La primera vez que se le ocurrió que podría tener futuro en la ingeniería de software fue cuando hacía retos de código por diversión. Su trabajo se centra en IronXL e IronBarcode, pero se enorgullece de ayudar a los clientes con todos los productos. Chaknith aprovecha sus conocimientos, adquiridos hablando directamente con los clientes, para ayudar a mejorar los propios productos. Sus comentarios anecdóticos van más allá de los tickets de Jira y apoyan el desarrollo de productos, la documentación y el marketing, para mejorar la experiencia general del cliente.Cuando no está en la oficina, se le puede encontrar aprendiendo sobre aprendizaje automático, codificación y senderismo.