Cómo definir una región específica de OCR de una imagen en C#
Para extraer texto de una región específica de una imagen en C#, utilice el objeto Rectangle de IronOCR para definir el área exacta especificando las coordenadas x/y, width y height, luego páselo al método LoadImage para el procesamiento OCR específico.
como-encabezado:2(Quickstart: Extraer texto de una región específica de la imagen)
Empieza a crear PDF con NuGet ahora:
Instalar IronOCR con el gestor de paquetes NuGet
Copie y ejecute este fragmento de código.
using IronOcr; using IronSoftware.Drawing; // 1. Install IronOCR via NuGet: Install-Package IronOcr var ocr = new IronTesseract(); using var input = new OcrInput(); // 2. Create a Rectangle with coordinates var region = new Rectangle(x: 215, y: 1250, width: 1335, height: 280); // 3. Load image with region input.LoadImage("image.png", region); // 4. Extract text var result = ocr.Read(input); Console.WriteLine(result.Text);Despliegue para probar en su entorno real
Empieza a utilizar IronOCR en tu proyecto hoy mismo con una prueba gratuita
A menudo, solo es necesario extraer texto de una pequeña parte de una imagen, como el importe total de una factura o un campo específico de un formulario. Escanear el documento completo es ineficiente y puede introducir errores al capturar texto irrelevante.
IronOCR le permite mejorar la precisión, el rendimiento y la exactitud al especificar la región rectangular exacta a escanear. Esta guía proporciona un tutorial paso a paso sobre cómo definir una región de OCR específica, extraer texto de ella y verificar visualmente que sus coordenadas sean correctas para sus tareas de OCR.
Comience a usar IronOCR
Comience a usar IronOCR en su proyecto hoy con una prueba gratuita.
Cómo definir una región OCR específica de una imagen
- Descargue la biblioteca C# para definir la región OCR
- Crear una instancia del motor de OCR
- Especifique la región de OCR con un rectángulo
- Cargue la imagen con
LoadImagejunto con el rectángulo definido - Acceda a la propiedad
OcrResultpara ver y manipular los datos extraídos
¿Cómo realizar un OCR en una región específica?
Para definir una región de OCR específica, cree un objeto Rectangle desde el espacio de nombres IronSoftware.Drawing. Este objeto requiere cuatro valores: la coordenada x, la coordenada y, el ancho y el alto, todos en píxeles. Las coordenadas (x, y) representan la esquina superior izquierda del área deseada.
Cuando carga su imagen usando LoadImage , pasa este Rectangle como segundo parámetro. Luego, IronOCR restringirá su proceso de OCR únicamente a los píxeles dentro de ese cuadro delimitador.
El OCR regional es especialmente útil cuando se trabaja con documentos estructurados como facturas, formularios escaneados, o documentos de identidad en los que siempre aparece información específica en lugares predecibles. Al limitar el OCR a las áreas relevantes, se puede mejorar significativamente la velocidad de procesamiento y reducir los falsos positivos de texto no relacionado.
Para encontrar las coordenadas de su Rectángulo, puede utilizar un editor de imágenes sencillo como MS Paint. Abra la imagen de entrada, pase el ratón por las esquinas superior izquierda e inferior derecha de la región especificada y anote las coordenadas de píxeles (x, y). A continuación, puede calcular las propiedades del rectángulo: (x1, y1, ancho, alto), donde ancho = x2-x1 y alto = y2-y1.
¿Qué imagen debo utilizar para las pruebas?
Usaremos una imagen de muestra con tres párrafos. Nuestro objetivo es extraer solo el segundo párrafo e ignorar el resto del texto. Esto demuestra un escenario común en el que es necesario extraer campos o secciones específicos de un documento más amplio.

¿Cómo implementar el OCR regional en código?
La implementación consiste en crear un objeto OcrInput y cargar su imagen con la región rectangular especificada. Este enfoque funciona con varios formatos de imagen, incluidos JPG, PNG, GIF, TIFF y BMP.
:path=/static-assets/ocr/content-code-examples/how-to/ocr-region-of-an-image.csusing IronOcr;
using IronSoftware.Drawing;
using System;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
// Define the specific region as a Rectangle
// (x, y) is the top-left corner.
var ContentArea = new Rectangle(x: 215, y: 1250, width: 1335, height: 280);
ocrInput.LoadImage("region-input.png", ContentArea);
var ocrResult = ocrTesseract.Read(ocrInput);
// Print the extracted text
Console.WriteLine(ocrResult.Text);IRON VB CONVERTER ERROR developers@ironsoftware.comPara situaciones más complejas, puede definir varias regiones dentro de la misma imagen. Esto resulta especialmente útil al procesar formularios con múltiples campos o tablas en documentos:
using IronOcr;
using IronSoftware.Drawing;
var ocr = new IronTesseract();
using var input = new OcrInput();
// Define multiple regions for different form fields
var nameField = new Rectangle(x: 100, y: 200, width: 300, height: 50);
var dateField = new Rectangle(x: 100, y: 300, width: 200, height: 50);
var amountField = new Rectangle(x: 400, y: 500, width: 150, height: 50);
// Load the same image multiple times with different regions
input.LoadImage("form.png", nameField);
var nameResult = ocr.Read(input);
input.Clear();
input.LoadImage("form.png", dateField);
var dateResult = ocr.Read(input);
input.Clear();
input.LoadImage("form.png", amountField);
var amountResult = ocr.Read(input);
// Process each field separately
Console.WriteLine($"Name: {nameResult.Text}");
Console.WriteLine($"Date: {dateResult.Text}");
Console.WriteLine($"Amount: {amountResult.Text}");using IronOcr;
using IronSoftware.Drawing;
var ocr = new IronTesseract();
using var input = new OcrInput();
// Define multiple regions for different form fields
var nameField = new Rectangle(x: 100, y: 200, width: 300, height: 50);
var dateField = new Rectangle(x: 100, y: 300, width: 200, height: 50);
var amountField = new Rectangle(x: 400, y: 500, width: 150, height: 50);
// Load the same image multiple times with different regions
input.LoadImage("form.png", nameField);
var nameResult = ocr.Read(input);
input.Clear();
input.LoadImage("form.png", dateField);
var dateResult = ocr.Read(input);
input.Clear();
input.LoadImage("form.png", amountField);
var amountResult = ocr.Read(input);
// Process each field separately
Console.WriteLine($"Name: {nameResult.Text}");
Console.WriteLine($"Date: {dateResult.Text}");
Console.WriteLine($"Amount: {amountResult.Text}");IRON VB CONVERTER ERROR developers@ironsoftware.com¿Qué resultados puedo esperar?
Como puede ver en la salida de la consola, el OCR solo procesa el segundo párrafo. Este enfoque específico garantiza que el texto irrelevante de otras partes de la imagen no interfiera en los resultados.

La precisión del OCR regional depende de varios factores:
- Calidad de imagen: Las imágenes de mayor resolución suelen dar mejores resultados. Considere la posibilidad de utilizar ajustes de DPI para optimizar sus imágenes.
- Orientación del texto: asegúrese de que el texto esté correctamente alineado. Utilice detección de rotación de página si es necesario.
- Contraste y claridad: Aplica filtros de corrección de imagen para mejorar la legibilidad del texto.
¿Cómo puedo comprobar si mis coordenadas son correctas?
Para asegurarse de haber seleccionado las coordenadas correctas para la imagen de entrada, puede visualizar el ContentArea que definió. Una manera simple de hacer esto es dibujar el rectángulo en la imagen de entrada y guardarlo como un nuevo archivo con StampCropRectangleAndSaveAs. Esto lo ayuda a depurar y ajustar las coordenadas para un rendimiento óptimo.
Esta técnica de visualización es especialmente útil cuando se trabaja con diseños complejos o cuando se necesita resaltar áreas de texto específicas con fines de control de calidad.
Aquí está la imagen de salida después de dibujar el cuadro delimitador especificado en nuestra imagen de entrada de ejemplo de arriba.
¿Cómo visualizo la región seleccionada?
:path=/static-assets/ocr/content-code-examples/how-to/ocr-region-of-an-image-highlighted.csusing IronOcr;
using IronSoftware.Drawing;
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
// Define the specific rectangular area to scan within the image.
// The coordinates are in pixels: (x, y) is the top-left corner of the rectangle.
var ContentArea = new Rectangle(x: 4, y: 59, width: 365, height: 26);
ocrInput.LoadImage("region-input.png", ContentArea);
var ocrResult = ocrTesseract.Read(ocrInput);
// Draws the rectangle from above in a blue bounding box on the image for visualization.
ocrInput.StampCropRectangleAndSaveAs(ContentArea, Color.Aqua, "region-input.png");IRON VB CONVERTER ERROR developers@ironsoftware.com¿Qué aspecto tiene la visualización?

El rectángulo azul claro confirma que hemos aislado correctamente el segundo párrafo para su procesamiento.
¿Cuándo debo utilizar el OCR regional?
El OCR regional es ideal para varias situaciones habituales:
- Procesamiento de formularios: Al extraer campos específicos de formularios estandarizados en los que los datos aparecen en ubicaciones coherentes.
- Procesamiento de facturas: Para extraer valores específicos como totales, fechas o números de factura sin procesar todo el documento.
- Placas de licencia: Cuando utilices reconocimiento de matrículas, céntrate solo en la zona de la matrícula.
- Documentos de identidad: Extraer campos específicos de pasaportes o documentos de identidad.
- Capturas de pantalla: Al capturar texto de elementos específicos de la interfaz de usuario en capturas de pantalla.
Prácticas recomendadas para el OCR regional
Para lograr resultados óptimos con OCR regional:
- Añade relleno: incluye un pequeño búfer alrededor del texto para asegurarte de que no se cortan caracteres en los bordes.
- Prueba con imágenes de muestra: Verifique siempre sus coordenadas con muestras representativas antes de procesar grandes lotes.
- Manejar variaciones: Tenga en cuenta las ligeras variaciones de posición en los documentos escaneados haciendo sus regiones ligeramente más grandes de lo necesario.
- Optimizar el rendimiento: Para procesamiento multihilo, procesa diferentes regiones en paralelo.
- Monitorizar la confianza: Comprueba las puntuaciones de confianza de los resultados para garantizar la precisión.
Al centrar el procesamiento de OCR en regiones específicas, puede mejorar significativamente tanto la velocidad como la precisión de sus tareas de extracción de texto. Este enfoque específico es esencial para crear flujos de trabajo eficientes de procesamiento de documentos en sus aplicaciones .NET.
Preguntas Frecuentes
¿Cómo puedo extraer texto de sólo una parte específica de una imagen en C#?
Con IronOCR, puede extraer texto de una región específica creando un objeto Rectángulo con coordenadas x/y, valores de anchura y altura. Pase este Rectángulo como segundo parámetro al método LoadImage, e IronOCR restringirá su procesamiento OCR sólo a esa área definida.
¿Cuáles son las ventajas de definir una región de OCR en lugar de escanear toda la imagen?
Al definir una región de OCR específica con IronOCR, puede mejorar la velocidad de procesamiento, aumentar la precisión y reducir los errores derivados de la captura de texto irrelevante. Esto es especialmente útil para documentos estructurados en los que la información aparece en lugares predecibles.
¿Qué parámetros necesito para crear un rectángulo para OCR regional?
Para crear un rectángulo para el OCR regional de IronOCR, necesita cuatro valores en píxeles: coordenada x, coordenada y, anchura y altura. Las coordenadas (x, y) representan la esquina superior izquierda del área de escaneado deseada.
¿Qué espacio de nombres contiene el objeto Rectangle para las regiones OCR?
El objeto Rectangle utilizado para definir regiones de OCR en IronOCR se encuentra en el espacio de nombres IronSoftware.Drawing.
¿Qué tipos de documentos se benefician más del procesamiento regional de OCR?
El OCR regional de IronOCR es especialmente eficaz para documentos estructurados como facturas, formularios escaneados y documentos de identidad en los que la información específica aparece siempre en los mismos lugares.






