Cómo corregir los colores de las imágenes para leerlas
Fijar los colores de una imagen implica varias técnicas para mejorar la legibilidad y la calidad de una imagen. IronOCR ofrece métodos de binarización, escala de grises, inversión y reemplazo de color para hacer que el texto y el contenido dentro de una imagen sean más legibles y estéticamente agradables, lo cual es especialmente importante al trabajar con OCR (Reconocimiento Óptico de Caracteres) para extraer texto de imágenes. También es posible leer sólo el color del texto seleccionado.
Comience con IronOCR
Comience a usar IronOCR en su proyecto hoy con una prueba gratuita.
Cómo corregir los colores de las imágenes para leerlas
- Descargar una biblioteca C# para corregir colores de imagen
- Importar el documento PDF y las imágenes para su lectura
- Aplique los efectos de color deseados, como binarización, escala de grises, inversión y sustitución de color.
- Exportar la imagen corregida para su visualización
- Read specific text colors using the
SelectTextColor
method
Binarizar Imagen Ejemplo
Este proceso convierte la imagen en un formato de dos colores, normalmente blanco y negro. Es útil para separar el texto del fondo y reducir el ruido, lo que hace que el texto se distinga mejor y sea más fácil de leer.
Para aplicar el efecto de binarización a la imagen, utiliza el método Binarize
. Dado que los procesos de OCR funcionan mejor con la imagen de mayor contraste, con texto negro sobre fondo blanco, este método resulta significativo para distinguir bien el fondo de los caracteres.
:path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-binarize-image.cs
using IronOcr;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Apply binarize affect
imageInput.Binarize();
// Export the modified image
imageInput.SaveAsImages("binarize.jpg");
Imports IronOcr
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Add image
Private imageInput = New OcrImageInput("sample.jpg")
' Apply binarize affect
imageInput.Binarize()
' Export the modified image
imageInput.SaveAsImages("binarize.jpg")
Para su conveniencia, puede exportar la imagen modificada utilizando el método SaveAsImages
. A continuación se muestra una comparación de la imagen antes y después de la binarización.

Antes de

En
Ejemplo de imagen en escala de grises
Convertir la imagen en varios tonos de gris puede distraer menos y facilitar la lectura. Esto es especialmente útil cuando los colores originales de la imagen causan desorden visual.
Para aplicar el efecto de escala de grises a la imagen, utilice el método ToGrayScale
. El proceso de escala de grises consiste en sacar la media de los valores R, G y B.
:path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-grayscale-image.cs
// Apply grayscale affect
imageInput.ToGrayScale();
' Apply grayscale affect
imageInput.ToGrayScale()

Antes de

En
Invertir imagen Ejemplo
Invertir los colores puede mejorar el contraste. Por ejemplo, convertir texto blanco sobre fondo negro en texto negro sobre fondo blanco puede mejorar la legibilidad.
Utilice el método Invert
para invertir el color de la imagen. El método acepta opcionalmente un valor booleano, que se utiliza para eliminar todos los canales de color y devolver una imagen en escala de grises.
:path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-invert-image.cs
// Apply invert affect
imageInput.Invert();
' Apply invert affect
imageInput.Invert()
Las siguientes imágenes muestran el método Invertir con y sin la opción de escala de grises.

Invertido

Inverted & Grayscaled
Ejemplo de sustitución de color
Esta técnica permite sustituir determinados colores de la imagen por otros, lo que puede ayudar a resaltar o quitar énfasis a ciertos elementos. Suele utilizarse para resaltar el texto o corregir contrastes de color problemáticos.
Para usar el método ReplaceColor
, especifique el color actual que se va a reemplazar y el nuevo color. El tercer parámetro del método, que corresponde al valor de tolerancia, también es importante. Se requiere una mayor tolerancia en las imágenes borrosas para lograr el resultado deseado.
:path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-replace-color.cs
using IronOcr;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("sample.jpg");
IronSoftware.Drawing.Color currentColor = new IronSoftware.Drawing.Color("#DB645C");
IronSoftware.Drawing.Color newColor = IronSoftware.Drawing.Color.DarkCyan;
// Replace color
imageInput.ReplaceColor(currentColor, newColor, 80);
// Export the modified image
imageInput.SaveAsImages("replaceColor");
Imports IronOcr
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Add image
Private imageInput = New OcrImageInput("sample.jpg")
Private currentColor As New IronSoftware.Drawing.Color("#DB645C")
Private newColor As IronSoftware.Drawing.Color = IronSoftware.Drawing.Color.DarkCyan
' Replace color
imageInput.ReplaceColor(currentColor, newColor, 80)
' Export the modified image
imageInput.SaveAsImages("replaceColor")

Antes de

En
Ejemplo de color de texto específico de lectura
El objetivo de esta función es leer sólo el color de texto especificado. Use el método SelectTextColor
para especificar el color en el que IronOcr debe centrarse, junto con el valor de tolerancia. El valor de tolerancia acepta un rango de 0-255, que representa la diferencia permitida entre el color del píxel y el color seleccionado para cada valor R, G y B en el espacio de color.
:path=/static-assets/ocr/content-code-examples/how-to/image-color-correction-select-text-color.cs
using IronOcr;
using System;
// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();
// Add image
using var imageInput = new OcrImageInput("sample.jpg");
// Text color to focus on
IronSoftware.Drawing.Color focusColor = new IronSoftware.Drawing.Color("#DB645C");
// Specify which text color to read
imageInput.SelectTextColor(focusColor, 60);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
// Output result to console
Console.WriteLine(ocrResult.Text);
Imports IronOcr
Imports System
' Instantiate IronTesseract
Private ocrTesseract As New IronTesseract()
' Add image
Private imageInput = New OcrImageInput("sample.jpg")
' Text color to focus on
Private focusColor As New IronSoftware.Drawing.Color("#DB645C")
' Specify which text color to read
imageInput.SelectTextColor(focusColor, 60)
' Perform OCR
Dim ocrResult As OcrResult = ocrTesseract.Read(imageInput)
' Output result to console
Console.WriteLine(ocrResult.Text)
A continuación, encontrará el resultado del OCR, en el que sólo se leerá el texto de color anaranjado.
