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 sustitución de colores para que el texto y el contenido de una imagen sean más legibles y estéticamente agradables, lo que es especialmente importante cuando se trabaja 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 los colores de las imágenes
- 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
- Leer colores de texto específicos mediante la función
SeleccionarColorDeTexto
método
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, utilice el método Binarizar
. 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");
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")
Para mayor comodidad, 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 Invertir
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
Invertida y en escala de grises
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 utilizar el método ReplaceColor
, especifique el color actual a sustituir así como 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. Utilice el método SelectTextColor
para especificar el color que IronOcr debe enfocar, 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.