Cómo encontrar texto con visión por ordenador en C#
IronOCR utiliza la visión por ordenador OpenCV para detectar automáticamente regiones de texto en imágenes antes del procesamiento OCR. Esto mejora la precisión del texto con ruido, multirregión o deformado al centrar el reconocimiento de Tesseract solo en las áreas de texto identificadas, lo que mejora significativamente los resultados de extracción en comparación con el procesamiento de imágenes completas.
como-encabezado:2(Inicio rápido: Detectar y OCR la región principal de texto)
Este ejemplo demuestra la extracción inmediata de texto: carga una imagen, utiliza la visión por ordenador de IronOCR para autodetectar la región de texto principal con FindTextRegion() y, a continuación, ejecuta .Read(...) para extraer el texto en una línea.
Empieza a crear PDF con NuGet ahora:
Instalar IronOCR con el gestor de paquetes NuGet
Copie y ejecute este fragmento de código.
using var result = new IronTesseract().Read(new OcrInput().LoadImage("image.png").FindTextRegion());Despliegue para probar en su entorno real
Empieza a utilizar IronOCR en tu proyecto hoy mismo con una prueba gratuita
- Cómo hacer OCR de placas de matrícula en C# (Tutorial)
- Cómo obtener texto de facturas en C# Tutorial
- Cómo hacer OCR para obtener texto de capturas de pantalla en C#
- Cómo hacer OCR de subtítulos en C# (Tutorial)
Flujo de trabajo mínimo (5 pasos)
- Descargue la biblioteca C# para usar OCR con Computer Vision
- Utilice el método
FindTextRegionpara detectar automáticamente regiones de texto - Compruebe qué región de texto se detectó con el método
StampCropRectangleAndSaveAs - Utilice la visión artificial para separar la imagen original en imágenes basadas en regiones de texto con el método
FindMultipleTextRegions - Utilice el método
GetTextRegionspara obtener la lista de áreas de recorte donde se detectó texto
¿Cómo instalar IronOCR.ComputerVision mediante el paquete NuGet?
Métodos de OpenCV que realizan visión por computadora en IronOCR son visibles en el paquete regular de NuGet de IronOCR. Para obtener información detallada sobre la instalación, consulte nuestra Guía de instalación de NuGet.
¿Por qué IronOCR requiere un paquete de visión por ordenador independiente?
El uso de estos métodos requiere la instalación de NuGet de IronOcr.ComputerVision en la solución. Se le solicita descargarlo si no lo tiene instalado. La función de visión por ordenador utiliza algoritmos OpenCV que mejoran significativamente la precisión de la detección de texto, de forma similar a las técnicas utilizadas en nuestras funciones reconocimiento de matrículas y escaneado de pasaportes.
¿Qué paquete específico de la plataforma debo instalar?
- Windows:
IronOcr.ComputerVision.Windows- Consulte nuestra Guía de configuración de Windows - Linux:
IronOcr.ComputerVision.Linux- Consulte nuestro Tutorial de instalación de Linux - macOS:
IronOcr.ComputerVision.MacOS- Revise nuestras instrucciones de configuración de macOS - macOS ARM:
IronOcr.ComputerVision.MacOS.ARM
¿Cómo se instala con Package Manager Console?
Instale utilizando el Administrador de Paquetes NuGet o inserte lo siguiente en la Consola del Administrador de Paquetes:
Install-Package IronOcr.ComputerVision.Windows
Esto proporciona los ensamblajes necesarios para utilizar IronOCR Computer Vision con nuestro archivo de modelo.
¿Qué métodos de visión por ordenador están disponibles en IronOCR?
Más adelante se incluyen ejemplos de código. A continuación se ofrece una visión general de los métodos disponibles en la actualidad:
| Método | Explicación |
|---|---|
| BuscarRegiónDeTexto | Detecta regiones que contienen elementos de texto e indica a Tesseract que solo busque texto dentro del área en la que se detectó el texto. |
| Buscar múltiples regiones de texto | Detecta áreas que contienen elementos de texto y divide la página en imágenes separadas según las regiones de texto. |
| Obtener regiones de texto | Scans the image and returns a list of text regions as `List |
¿Cómo se utiliza FindTextRegion para detectar áreas de texto?
FindTextRegion utiliza visión por ordenador para detectar regiones que contienen elementos de texto en cada página de un objeto OcrInput. Este método es especialmente útil cuando se procesan imágenes con texto disperso o cuando se necesita mejorar el rendimiento centrándose únicamente en las áreas que contienen texto.
¿Cuál es el uso básico de FindTextRegion?
:path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findtextregion-1.csusing IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("/path/file.png");
input.FindTextRegion();
OcrResult result = ocr.Read(input);
string resultText = result.Text;IronOcr 2025.6.x y no acepta parámetros personalizados.¿Cómo puedo personalizar los parámetros de FindTextRegion?
Llame a este método con parámetros personalizados para ajustar la detección de texto. Estos parámetros funcionan de forma similar a nuestras configuraciones de filtros de imagen:
:path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findtextregion-2.csusing IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("/path/file.png");
input.FindTextRegion(Scale: 2.0, DilationAmount: 20, Binarize: true, Invert: true);
OcrResult result = ocr.Read(input);
string resultText = result.Text;¿Cómo es FindTextRegion en la práctica?
En este ejemplo, utilizo la siguiente imagen para un método que necesita recortar las áreas que contienen texto, pero las imágenes de entrada pueden variar en la ubicación del texto. Utilizo FindTextRegion para limitar el escaneo a un área en la que Computer Vision ha detectado texto. Este enfoque es similar a las técnicas utilizadas en nuestro tutorial áreas de contenido y regiones de cultivo. Esta es una imagen de ejemplo:

:path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findtextregion-3.csusing IronOcr;
using IronSoftware.Drawing;
using System;
using System.Linq;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("wh-words-sign.jpg");
// Find the text region using Computer Vision
Rectangle textCropArea = input.GetPages().First().FindTextRegion();
// For debugging and demonstration purposes, lets see what region it found:
input.StampCropRectangleAndSaveAs(textCropArea, Color.Red, "image_text_area", AnyBitmap.ImageFormat.Png);
// Looks good, so let us apply this region to hasten the read:
var ocrResult = ocr.Read("wh-words-sign.jpg", textCropArea);
Console.WriteLine(ocrResult.Text);¿Cómo depuro y verifico la detección de regiones de texto?
Este código tiene dos salidas. El primero es un archivo .png guardado por StampCropRectangleAndSaveAs utilizado para depuración. Esta técnica también se trata en nuestra guía de textos destacados para depuración. Podemos ver dónde IronCV (Computer Vision) detectó el texto:
La detección identifica con precisión el área de texto. El segundo resultado es el texto propiamente dicho:
IRONSOFTWARE
50,000+
Developers in our active community
10,777,061 19,313
NuGet downloads Support tickets resolved
50%+ 80%+
Engineering Team growth Support Team growth
$25,000+
Raised with #TEAMSEAS to clean our beaches & waterways¿Cómo se utiliza FindMultipleTextRegions para varias áreas de texto?
FindMultipleTextRegions toma todas las páginas de un objeto OcrInput y utiliza la visión por ordenador para detectar las áreas que contienen elementos de texto y, a continuación, divide la entrada en imágenes separadas en función de las regiones de texto. Esto resulta especialmente útil para procesar documentos con varias áreas de texto distintas, de forma similar a nuestra funcionalidad leer tabla en documento:
¿Cuál es el uso básico de FindMultipleTextRegions?
:path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findmultipletextregions-1.csusing IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("/path/file.png");
input.FindMultipleTextRegions();
OcrResult result = ocr.Read(input);
string resultText = result.Text;FindMultipleTextRegions ya no admite parámetros personalizados.¿Cómo puedo personalizar los parámetros de FindMultipleTextRegions?
Llame a este método con parámetros personalizados para controlar cómo se detectan y separan las regiones:
:path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findmultipletextregions-2.csusing IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("/path/file.png");
input.FindMultipleTextRegions(Scale: 2.0, DilationAmount: -1, Binarize: true, Invert: false);
OcrResult result = ocr.Read(input);
string resultText = result.Text;¿Cómo puedo procesar páginas individuales con FindMultipleTextRegions?
Otro método de sobrecarga de FindMultipleTextRegions toma una página OCR y devuelve una lista de páginas OCR, una por cada región de texto que contenga. Este enfoque ayuda cuando se trata de diseños complejos, de forma similar a las técnicas descritas en nuestra guía de procesamiento TIFF multipágina:
:path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findmultipletextregions-3.csusing IronOcr;
using System.Collections.Generic;
using System.Linq;
int pageIndex = 0;
using var input = new OcrInput();
input.LoadImage("/path/file.png");
var selectedPage = input.GetPages().ElementAt(pageIndex);
List<OcrInputPage> textRegionsOnPage = selectedPage.FindMultipleTextRegions();¿Cómo se utiliza GetTextRegions para obtener las coordenadas de la región de texto?
GetTextRegions devuelve una lista de áreas de recorte en las que se ha detectado texto en una página. Este método es especialmente útil cuando se necesitan las coordenadas de regiones de texto para su posterior procesamiento o cuando se implementan flujos de trabajo de OCR personalizados. Para más detalles sobre cómo trabajar con resultados, consulte nuestra documentación de la clase OcrResult:
¿Cuándo debo usar GetTextRegions en lugar de FindTextRegion?
/* :path=/static-assets/ocr/content-code-examples/how-to/computer-vision-gettextregions.cs */
using IronOcr;
using IronSoftware.Drawing;
using System;
using System.Collections.Generic;
using System.Linq;
// Create a new IronTesseract object for OCR
var ocr = new IronTesseract();
// Load an image into OcrInput
using var input = new OcrInput();
input.LoadImage("/path/file.png");
// Get the first page from the input
var firstPage = input.GetPages().First();
// Get all text regions detected on this page
List<Rectangle> textRegions = firstPage.GetTextRegions();
// Display information about each detected region
Console.WriteLine($"Found {textRegions.Count} text regions:");
foreach (var region in textRegions)
{
Console.WriteLine($"Region at X:{region.X}, Y:{region.Y}, Width:{region.Width}, Height:{region.Height}");
}
// You can also process each region individually
foreach (var region in textRegions)
{
var regionResult = ocr.Read(input, region);
Console.WriteLine($"Text in region: {regionResult.Text}");
}/* :path=/static-assets/ocr/content-code-examples/how-to/computer-vision-gettextregions.cs */
using IronOcr;
using IronSoftware.Drawing;
using System;
using System.Collections.Generic;
using System.Linq;
// Create a new IronTesseract object for OCR
var ocr = new IronTesseract();
// Load an image into OcrInput
using var input = new OcrInput();
input.LoadImage("/path/file.png");
// Get the first page from the input
var firstPage = input.GetPages().First();
// Get all text regions detected on this page
List<Rectangle> textRegions = firstPage.GetTextRegions();
// Display information about each detected region
Console.WriteLine($"Found {textRegions.Count} text regions:");
foreach (var region in textRegions)
{
Console.WriteLine($"Region at X:{region.X}, Y:{region.Y}, Width:{region.Width}, Height:{region.Height}");
}
// You can also process each region individually
foreach (var region in textRegions)
{
var regionResult = ocr.Read(input, region);
Console.WriteLine($"Text in region: {regionResult.Text}");
}¿Cuáles son los casos de uso habituales de la visión por ordenador en el reconocimiento óptico de caracteres?
La visión por ordenador mejora significativamente la precisión del reconocimiento óptico de caracteres en situaciones difíciles. He aquí algunas aplicaciones prácticas:
Análisis del diseño de documentos: Identifique y procese automáticamente diferentes secciones de documentos complejos. Especialmente útil con documentos escaneados.
Texto a varias columnas: Separe y lea columnas de forma independiente para periódicos o revistas. Utilice procesamiento multihilo para obtener resultados más rápidos.
Contenido mixto: Distinguir entre regiones de texto y gráficos en documentos. Útil para procesar fotos con texto incrustado.
Optimización del rendimiento: Centra el procesamiento de OCR solo en las áreas que contienen texto. Consulte nuestra guía de configuración de OCR rápido.
- Control de calidad: Verifique la detección de texto antes del procesamiento OCR completo. Nuestra función seguimiento del progreso supervisa cada etapa.
Con la configuración y los archivos de entrada adecuados, el OCR puede lograr una capacidad de lectura casi humana. Para obtener resultados óptimos, combina la visión por ordenador con nuestros filtros de optimización de imágenes para lograr la mayor precisión posible en el OCR. Cuando se trabaja con imágenes de baja calidad, nuestra guía sobre fijación de escaneados de baja calidad ofrece valiosas técnicas de preprocesamiento.
Técnicas avanzadas de visión por ordenador
Los desarrolladores que deseen superar los límites de la precisión del OCR deben tener en cuenta estos enfoques avanzados:
- Entrenamiento personalizado: entrene el motor de OCR para fuentes especializadas utilizando nuestra guía de archivos de idioma personalizados
- Soporte multilingüe: Procese documentos en varios idiomas con nuestra función de varios idiomas
- Integración de BarCode: Combine el reconocimiento de texto con la lectura de códigos de barras mediante nuestro OCR con funciones de lectura de códigos de barras
Preguntas Frecuentes
¿Qué es la visión por ordenador en OCR y cómo mejora la extracción de texto?
Computer Vision en IronOCR utiliza algoritmos OpenCV para detectar automáticamente regiones de texto en imágenes antes del procesamiento OCR. Esto mejora significativamente la precisión del texto con ruido, multirregión o deformado al centrar el reconocimiento de Tesseract solo en las áreas de texto identificadas, en lugar de procesar imágenes enteras.
¿Cómo puedo implementar rápidamente el OCR por visión computerizada en C#?
IronOCR le permite implementar OCR de visión por ordenador en una sola línea de código: utilice IronTesseract con el método FindTextRegion() para autodetectar la región de texto principal y, a continuación, ejecute .Read() para extraer el texto inmediatamente.
¿Por qué tengo que instalar un paquete de Visión Artificial aparte?
IronOCR requiere el paquete separado IronOcr.ComputerVision NuGet porque la funcionalidad de visión por ordenador aprovecha los algoritmos OpenCV. Estos algoritmos mejoran significativamente la precisión de la detección de texto y son esenciales para funciones como el reconocimiento de matrículas y el escaneado de pasaportes.
¿Qué paquete de Visión por Computador específico de la plataforma debo instalar?
IronOCR ofrece paquetes específicos para cada plataforma: IronOcr.ComputerVision.Windows para sistemas Windows, IronOcr.ComputerVision.Linux para distribuciones Linux y IronOcr.ComputerVision.MacOS para entornos macOS.
¿Cómo puedo detectar varias regiones de texto en una imagen?
IronOCR proporciona el método FindMultipleTextRegions para separar la imagen original en varias imágenes basándose en las regiones de texto detectadas. También puede utilizar GetTextRegions para recuperar una lista de las áreas de recorte en las que se detectó texto.
¿Puedo verificar qué regiones de texto se detectaron antes del procesamiento?
Sí, IronOCR incluye el método StampCropRectangleAndSaveAs que permite comprobar qué regiones de texto han sido detectadas por los algoritmos de Visión Artificial antes de ejecutar el proceso de OCR propiamente dicho.






