Guía de uso de IronOCR Computer Vision
Introducción
IronOCR utiliza OpenCV para utilizar la visión por ordenador para detectar las áreas donde existe texto en una imagen. Esto es útil para imágenes que contienen mucho ruido, imágenes con texto en muchos lugares diferentes e imágenes en las que el texto está deformado. El uso de la visión por ordenador en IronOCR determinará dónde existen regiones de texto y luego utilizará Tesseract para intentar leer esas regiones.
Comience con IronOCR
Comience a usar IronOCR en su proyecto hoy con una prueba gratuita.
Instalación de IronOCR.ComputerVision mediante el paquete NuGet
Los métodos OpenCV que realizan Visión por Computador en IronOCR son visibles en el paquete regular IronOCR NuGet.
El uso de estos métodos requiere la instalación de NuGet de IronOcr.ComputerVision
en la solución; se le pedirá que lo descargue si no lo tiene instalado.
- Windows:
IronOcr.ComputerVision.Windows
- Linux:
IronOcr.ComputerVision.Linux
- macOS:
IronOcr.ComputerVision.MacOS
macOS ARM:
IronOcr.ComputerVision.MacOS.ARM
Instale utilizando el gestor de paquetes NuGet o pegue lo siguiente en la consola del gestor de paquetes:
PM> Install-Package IronOcr.ComputerVision.Windows
Esto proporcionará los ensamblajes necesarios para utilizar IronOCR Computer Vision con nuestro archivo de modelo.
Funcionalidad y API
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:
Method | Explanation |
---|---|
FindTextRegion | Detect regions which contain text elements and instruct Tesseract to only search for text within the area in which text was detected. |
FindMultipleTextRegions | Detect areas which contain text elements and divide the page into separate images based on text regions. |
GetTextRegions | Scans the image and returns a list of text regions as `List |
Ejemplos de código
BuscarRegiónDeTexto
El uso de FindTextRegion
utilizará la visión por computadora para detectar regiones que contienen elementos de texto en cada página de un objeto OcrInput.
:path=/static-assets/ocr/content-code-examples/tutorials/csharp-recognize-text-from-image-computer-vision-1.cs
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
// Load at least one image
input.LoadImage("/path/file.png");
input.FindTextRegion();
OcrResult result = ocr.Read(input);
string resultText = result.Text;
Imports IronOcr
Private ocr = New IronTesseract()
Private input = New OcrInput()
' Load at least one image
input.LoadImage("/path/file.png")
input.FindTextRegion()
Dim result As OcrResult = ocr.Read(input)
Dim resultText As String = result.Text
Puede llamarse opcionalmente con parámetros personalizados:
:path=/static-assets/ocr/content-code-examples/tutorials/csharp-recognize-text-from-image-computer-vision-2.cs
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
// Load at least one image
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;
Imports IronOcr
Private ocr = New IronTesseract()
Private input = New OcrInput()
' Load at least one image
input.LoadImage("/path/file.png")
input.FindTextRegion(Scale:= 2.0, DilationAmount:= 20, Binarize:= True, Invert:= True)
Dim result As OcrResult = ocr.Read(input)
Dim resultText As String = result.Text
La sobrecarga también se puede utilizar para devolver la región de texto como un rectángulo:
:path=/static-assets/ocr/content-code-examples/tutorials/csharp-recognize-text-from-image-computer-vision-3.cs
using IronOcr;
using var input = new OcrInput();
// Load at least one image
input.LoadImage("/path/file.png");
input.FindTextRegion(Scale: 2.0, Binarize: true);
Imports IronOcr
Private input = New OcrInput()
' Load at least one image
input.LoadImage("/path/file.png")
input.FindTextRegion(Scale:= 2.0, Binarize:= True)
BuscarRegionesDeTextoMúltiples
El uso de FindMultipleTextRegions
toma todas las páginas de un objeto OcrInput
y utiliza visión por computadora para detectar áreas que contienen elementos de texto y dividir la entrada en imágenes separadas basadas en las regiones de texto:
:path=/static-assets/ocr/content-code-examples/tutorials/csharp-recognize-text-from-image-computer-vision-4.cs
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
// Load at least one image
input.LoadImage("/path/file.png");
input.FindMultipleTextRegions();
OcrResult result = ocr.Read(input);
string resultText = result.Text;
Imports IronOcr
Private ocr = New IronTesseract()
Private input = New OcrInput()
' Load at least one image
input.LoadImage("/path/file.png")
input.FindMultipleTextRegions()
Dim result As OcrResult = ocr.Read(input)
Dim resultText As String = result.Text
Puede llamarse opcionalmente con parámetros personalizados:
:path=/static-assets/ocr/content-code-examples/tutorials/csharp-recognize-text-from-image-computer-vision-5.cs
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
// Load at least one image
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;
Imports IronOcr
Private ocr = New IronTesseract()
Private input = New OcrInput()
' Load at least one image
input.LoadImage("/path/file.png")
input.FindMultipleTextRegions(Scale:= 2.0, DilationAmount:= -1, Binarize:= True, Invert:= False)
Dim result As OcrResult = ocr.Read(input)
Dim resultText As String = result.Text
Otro método sobrecargado de FindMultipleTextRegions
toma una Página de OCR y devuelve una lista de Páginas de OCR, una para cada región de texto en ella:
:path=/static-assets/ocr/content-code-examples/tutorials/csharp-recognize-text-from-image-computer-vision-6.cs
using IronOcr;
using System.Collections.Generic;
using System.Linq;
int pageIndex = 0;
using var input = new OcrInput();
// Load at least one image
input.LoadImage("/path/file.png");
var selectedPage = input.GetPages().ElementAt(pageIndex);
List<OcrInputPage> textRegionsOnPage = selectedPage.FindMultipleTextRegions();
Imports IronOcr
Imports System.Collections.Generic
Imports System.Linq
Private pageIndex As Integer = 0
Private input = New OcrInput()
' Load at least one image
input.LoadImage("/path/file.png")
Dim selectedPage = input.GetPages().ElementAt(pageIndex)
Dim textRegionsOnPage As List(Of OcrInputPage) = selectedPage.FindMultipleTextRegions()
GetTextRegions
El uso de GetTextRegions
devuelve una lista de áreas recortadas donde se detectó texto en una página:
:path=/static-assets/ocr/content-code-examples/tutorials/csharp-recognize-text-from-image-computer-vision-7.cs
using IronOcr;
using IronSoftware.Drawing;
using System.Collections.Generic;
using System.Linq;
int pageIndex = 0;
using var input = new OcrInput();
// Load at least one image
input.LoadImage("/path/file.png");
var selectedPage = input.GetPages().ElementAt(pageIndex);
var regions = selectedPage.GetTextRegions();
Imports IronOcr
Imports IronSoftware.Drawing
Imports System.Collections.Generic
Imports System.Linq
Private pageIndex As Integer = 0
Private input = New OcrInput()
' Load at least one image
input.LoadImage("/path/file.png")
Dim selectedPage = input.GetPages().ElementAt(pageIndex)
Dim regions = selectedPage.GetTextRegions()