Saltar al pie de página
USANDO IRONOCR

Cómo obtener texto de una captura de pantalla en C#

Muchas personas por ahí se estarán preguntando "¿Qué es una captura de pantalla OCR?" Otros podrían preguntarse cómo convertir una captura de pantalla de cualquier texto a un formato digital editable o a formato .txt o .doc. Si eres una de estas personas, entonces no te preocupes más porque tenemos las soluciones perfectas para ti.

En este artículo, discutiremos diferentes herramientas que te permitirán realizar OCR, Reconocimiento Óptico de Caracteres, en capturas de pantalla.

Existen muchas herramientas OCR, pero hoy usaremos IronOCR para extraer texto de capturas de pantalla.

1. IronOCR

IronOCR es una biblioteca de software para los lenguajes de programación C# y VB.NET, diseñada para permitir a los desarrolladores agregar capacidades de OCR (Reconocimiento Óptico de Caracteres) a sus aplicaciones. La biblioteca puede usarse para reconocer texto en imágenes y convertirlo en texto legible por máquina. La biblioteca está construida sobre el motor OCR Tesseract, que se considera uno de los motores OCR más precisos disponibles.

IronOCR se puede usar para leer texto de imágenes en muchos formatos de archivo diferentes, incluidos PNG, JPG, TIFF y PDF. También ofrece una gama de características avanzadas para trabajar con el reconocimiento de texto, como la capacidad de reconocer múltiples idiomas, así como la habilidad de reconocer texto en imágenes que han sido giradas o inclinadas. Además, los desarrolladores pueden usar IronOCR para integrar rápidamente la funcionalidad OCR en sus aplicaciones, ya que ofrece una API simple y fácil de usar que se puede llamar desde códigos C# o VB.NET. Usando IronOCR, puedes elegir tu idioma OCR y realizar OCR en imágenes, archivos PDF digitales y archivos PDF escaneados.

IronOCR se considera una buena opción para los desarrolladores que desean agregar funcionalidad OCR a sus aplicaciones. Es de código abierto, fácil de usar e integrar, rápido, preciso y actualizado con las últimas tecnologías OCR.

2. Características de IronOCR

IronOCR proporciona una amplia gama de características que ayudan a los desarrolladores a integrar la funcionalidad OCR en sus aplicaciones. Algunas de las características clave de IronOCR incluyen:

  1. Soporte multilingüe: IronOCR puede reconocer texto en más de 60 idiomas, incluidos inglés, español, alemán, francés, italiano y chino.
  2. Detección automática de la orientación del texto: IronOCR puede detectar automáticamente la orientación del texto en una imagen, incluso si la imagen ha sido girada o inclinada.
  3. Soporte para una amplia gama de formatos de imagen: IronOCR puede leer texto de imágenes en muchos formatos de archivo diferentes, incluidos PNG, JPG, TIFF y PDF.
  4. Configuración de reconocimiento personalizable: Los desarrolladores pueden personalizar la configuración de reconocimiento para mejorar la precisión del reconocimiento para tipos específicos de imágenes o casos de uso.
  5. Capacidad para reconocer texto de documentos escaneados y PDFs con múltiples páginas.
  6. Reconocimiento rápido y alta precisión: IronOCR usa el motor OCR Tesseract, que es uno de los motores OCR más precisos y ampliamente usados disponibles.
  7. API fácil de usar: IronOCR proporciona una API simple y fácil de usar que se puede llamar desde códigos C# o VB.NET, lo que facilita la integración de la funcionalidad OCR en cualquier aplicación.

En general, IronOCR es una herramienta poderosa que proporciona una amplia gama de características para ayudar a los desarrolladores a agregar funcionalidad OCR a sus aplicaciones.

3. Creación de un nuevo proyecto en Visual Studio

Abre Visual Studio y ve al menú Archivo. Selecciona "Nuevo Proyecto" y luego selecciona Aplicación de Consola.

Introduce el nombre del proyecto y selecciona la ruta en el cuadro de texto correspondiente. Luego, haga clic en el botón Crear. Seleccione el framework .NET requerido, como en la captura de pantalla a continuación:

Cómo obtener texto OCR de captura de pantalla en C#, Figura 1: Creando un nuevo proyecto en Visual Studio Creando un nuevo proyecto en Visual Studio

El proyecto de Visual Studio ahora generará la estructura para la aplicación de consola. Una vez terminado, se abrirá el archivo program.cs, en el cual puedes escribir y ejecutar código fuente.

Cómo obtener texto OCR de captura de pantalla en C#, Figura 2: El archivo program.cs, generado desde el asistente de nuevo proyecto de Visual Studio El archivo program.cs, generado desde el asistente de nuevo proyecto de Visual Studio

Ahora podemos añadir la biblioteca IronOCR y probar el programa.

4. Instalar IronOCR

En Visual Studio, puedes integrar fácilmente IronOCR con tu proyecto C#.

IronOCR ofrece múltiples procesos para integrar con un proyecto C# .NET. Aquí, discutiremos uno de ellos: instalar IronOCR usando el Administrador de Paquetes NuGet.

En Visual Studio ve a Herramientas > Administrador de Paquetes NuGet > Consola del Administrador de Paquetes

Cómo obtener texto OCR de captura de pantalla en C#, Figura 3: La interfaz del Administrador de Paquetes NuGet La interfaz del Administrador de Paquetes NuGet

Después de hacer clic, aparecerá una nueva consola en la parte inferior de la ventana de Visual Studio. Escribe el siguiente comando en la consola y presiona enter.

Install-Package IronOcr

IronOCR se instalará en solo unos segundos.

5. Uso de IronOCR para realizar OCR en una captura de pantalla

IronOCR es una poderosa biblioteca OCR que se puede utilizar para reconocer texto de capturas de pantalla. Con IronOCR, puedes tomar una captura de pantalla de texto, y luego usar las capacidades OCR de la biblioteca para convertir el texto de la captura de pantalla en un formato digital, editable. Aquí tienes un ejemplo de cómo podrías usar IronOCR para realizar OCR en una captura de pantalla en C#. Para realizar OCR en una captura de pantalla, solo captura una captura de pantalla y ejecuta el siguiente código para extraer el texto a cualquier formato de salida que desees.

using IronOcr;
using System;

class Program
{
    static void Main()
    {
        // Create an instance of IronTesseract, the core OCR engine
        var ocr = new IronTesseract();

        // Perform OCR on the specified image file
        var result = ocr.Read("ocr.png");

        // Output the recognized text to the console
        Console.WriteLine(result.Text);
    }
}
using IronOcr;
using System;

class Program
{
    static void Main()
    {
        // Create an instance of IronTesseract, the core OCR engine
        var ocr = new IronTesseract();

        // Perform OCR on the specified image file
        var result = ocr.Read("ocr.png");

        // Output the recognized text to the console
        Console.WriteLine(result.Text);
    }
}
Imports IronOcr
Imports System

Friend Class Program
	Shared Sub Main()
		' Create an instance of IronTesseract, the core OCR engine
		Dim ocr = New IronTesseract()

		' Perform OCR on the specified image file
		Dim result = ocr.Read("ocr.png")

		' Output the recognized text to the console
		Console.WriteLine(result.Text)
	End Sub
End Class
$vbLabelText   $csharpLabel

Archivo de imagen de entrada

Cómo obtener texto OCR de captura de pantalla en C#, Figura 4: Captura de pantalla de ejemplo utilizada como entrada Captura de pantalla de ejemplo utilizada como entrada

Salida de texto

- IRONOCR for NET
- The C# OCR Library
- OCR for C# to scan and read images & PDFs
- NET OCR library with 125+ global language packs
- Output as text, structured data, or searchable PDFs
- Supports NET 6, 5, Core, Standard, Framework

6. Uso de IronOCR para realizar OCR en una zona específica

IronOCR te permite realizar OCR en zonas específicas dentro de una imagen. Esto puede ser útil cuando la imagen contiene múltiples regiones de texto, y solo quieres reconocer el texto dentro de una región específica. Un ejemplo de código para esto se muestra a continuación.

using IronOcr;
using IronSoftware.Drawing;
using System;

class Program
{
    static void Main()
    {
        var ocrTesseract = new IronTesseract();

        using (var ocrInput = new OcrInput())
        {
            // Define the rectangle to crop the image for OCR
            var contentArea = new CropRectangle(x: 0, y: 0, width: 350, height: 150);

            // Add the image with the specified cropping area
            ocrInput.AddImage("ocr.png", contentArea);

            // Perform the OCR operation on the defined area
            var ocrResult = ocrTesseract.Read(ocrInput);

            // Output the recognized text
            Console.WriteLine(ocrResult.Text);
        }
    }
}
using IronOcr;
using IronSoftware.Drawing;
using System;

class Program
{
    static void Main()
    {
        var ocrTesseract = new IronTesseract();

        using (var ocrInput = new OcrInput())
        {
            // Define the rectangle to crop the image for OCR
            var contentArea = new CropRectangle(x: 0, y: 0, width: 350, height: 150);

            // Add the image with the specified cropping area
            ocrInput.AddImage("ocr.png", contentArea);

            // Perform the OCR operation on the defined area
            var ocrResult = ocrTesseract.Read(ocrInput);

            // Output the recognized text
            Console.WriteLine(ocrResult.Text);
        }
    }
}
Imports IronOcr
Imports IronSoftware.Drawing
Imports System

Friend Class Program
	Shared Sub Main()
		Dim ocrTesseract = New IronTesseract()

		Using ocrInput As New OcrInput()
			' Define the rectangle to crop the image for OCR
			Dim contentArea = New CropRectangle(x:= 0, y:= 0, width:= 350, height:= 150)

			' Add the image with the specified cropping area
			ocrInput.AddImage("ocr.png", contentArea)

			' Perform the OCR operation on the defined area
			Dim ocrResult = ocrTesseract.Read(ocrInput)

			' Output the recognized text
			Console.WriteLine(ocrResult.Text)
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Resultado

- IRONOCR for NET
- The C# OCR Library
- OCR for C# to scan and read images & PDFs
- NET OCR library with 125+ global language packs

7. Uso de IronOCR para realizar OCR en una imagen

Para realizar OCR en una imagen y guardar el texto reconocido en un archivo .txt, puedes usar el siguiente código.

using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocr = new IronTesseract();
        using (var input = new OcrInput("ocr.png"))
        {
            // Perform OCR on the image
            var result = ocr.Read(input);

            // Save the recognized text to a .txt file
            result.SaveAsTextFile("output.txt");
        }
    }
}
using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocr = new IronTesseract();
        using (var input = new OcrInput("ocr.png"))
        {
            // Perform OCR on the image
            var result = ocr.Read(input);

            // Save the recognized text to a .txt file
            result.SaveAsTextFile("output.txt");
        }
    }
}
Imports IronOcr
Imports System

Friend Class Program
	Shared Sub Main()
		Dim ocr = New IronTesseract()
		Using input = New OcrInput("ocr.png")
			' Perform OCR on the image
			Dim result = ocr.Read(input)

			' Save the recognized text to a .txt file
			result.SaveAsTextFile("output.txt")
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

El contenido del archivo de salida se muestra a continuación:

Cómo obtener texto OCR de captura de pantalla en C#, Figura 5: Contenido del archivo output.txt generado Contenido del archivo output.txt generado

8. Más información

Lee el tutorial de Extracción de Texto de Imagen para obtener más información sobre cómo realizar OCR en imágenes.

IronOCR es parte de un conjunto de cinco bibliotecas .NET diseñadas para trabajar con diferentes tipos de documentos. Puedes comprar las cinco bibliotecas por el precio de solo dos licencias.

Preguntas Frecuentes

¿Cómo puedo extraer texto de una captura de pantalla usando OCR en C#?

Puede usar IronOCR en C# para extraer texto de una captura de pantalla aprovechando su API simple para convertir la captura de pantalla en un formato digital editable. Primero, instale IronOCR a través de NuGet en Visual Studio, luego use ejemplos de código proporcionados por IronOCR para realizar OCR en la imagen de su captura de pantalla.

¿Qué es el Reconocimiento Óptico de Caracteres (OCR)?

El reconocimiento óptico de caracteres (OCR) es una tecnología que convierte diferentes tipos de documentos, como documentos de papel escaneados, archivos PDF o imágenes capturadas por una cámara digital, en datos editables y de búsqueda. IronOCR es una biblioteca de C# que facilita el OCR en aplicaciones.

¿Puede IronOCR manejar varios idiomas para OCR?

Sí, IronOCR admite el reconocimiento de texto en más de 60 idiomas, lo que lo hace versátil para aplicaciones internacionales. Proporciona opciones para establecer las preferencias de idioma para garantizar una extracción de texto precisa.

¿Qué formatos de imagen admite IronOCR para OCR?

IronOCR admite varios formatos de imagen para OCR, incluyendo PNG, JPG, TIFF y PDF. Esta flexibilidad permite a los desarrolladores trabajar con una amplia gama de fuentes de imagen sin necesidad de convertir los formatos manualmente.

¿Cómo afecta la orientación del texto a la precisión de OCR?

La orientación del texto puede impactar significativamente en la precisión del OCR. IronOCR detecta y corrige automáticamente la orientación del texto en las imágenes, garantizando que el texto girado o inclinado se reconozca y convierta con precisión en un formato digital.

¿Cómo instalo IronOCR en un proyecto C#?

Para instalar IronOCR en un proyecto C#, use el Administrador de paquetes NuGet en Visual Studio. Busque IronOCR e instálelo en su proyecto para comenzar a usar sus capacidades de OCR para la extracción de texto de imágenes.

¿Cuáles son las ventajas de usar IronOCR para el reconocimiento de texto?

IronOCR ofrece varias ventajas, incluyendo soporte robusto para varios idiomas, corrección automática de la orientación del texto, soporte para múltiples formatos de imagen y configuraciones personalizables para mejorar la precisión de reconocimiento. Su API simple facilita la integración fácil en aplicaciones C#.

¿Es IronOCR adecuado para reconocer texto en zonas específicas de una imagen?

Sí, IronOCR permite a los desarrolladores definir zonas específicas dentro de una imagen para realizar OCR, permitiendo la extracción de texto dirigida. Esta característica es útil para escenarios donde solo una parte de la imagen contiene el texto relevante.

¿Cuáles son algunos consejos comunes para la solución de problemas de OCR?

Los consejos comunes para la solución de problemas de OCR incluyen asegurarse de que la imagen sea clara y de alta resolución, verificar la orientación del texto, asegurarse de que el idioma correcto esté configurado y actualizar a la última versión de IronOCR para un rendimiento óptimo.

¿Cómo puedo convertir los resultados de OCR en un archivo .txt o .doc?

Con IronOCR, puede convertir los resultados de OCR en un archivo .txt o .doc extrayendo el texto de la imagen y guardándolo usando operaciones estándar de E/S de archivos en C#. Esto le permite crear documentos editables a partir de texto basado en imágenes.

Kannaopat Udonpant
Ingeniero de Software
Antes de convertirse en Ingeniero de Software, Kannapat completó un doctorado en Recursos Ambientales de la Universidad de Hokkaido en Japón. Mientras perseguía su grado, Kannapat también se convirtió en miembro del Laboratorio de Robótica de Vehículos, que es parte del Departamento de Ingeniería ...
Leer más