Cómo conseguir confianza en la lectura

por Chaknith Bin

Leer con confianza en OCR (Reconocimiento óptico de caracteres) se refiere al nivel de certeza o fiabilidad que el sistema OCR asigna a la exactitud del texto que ha reconocido en una imagen o documento. Es una medida de la confianza que tiene el sistema de OCR en que el texto reconocido es correcto.

Una puntuación de confianza alta indica un alto grado de certeza de que el reconocimiento es preciso, mientras que una puntuación de confianza baja sugiere que el reconocimiento puede ser menos fiable.


Biblioteca NuGet C# para OCR

Instalar con NuGet

Install-Package IronOcr
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

Ejemplo de confianza en la lectura

Tras realizar el OCR en la imagen de entrada, el nivel de confianza del texto se almacena en la propiedad Confidence. Utiliza la sentencia 'using' para deshacerte automáticamente de los objetos. Añade documentos como imágenes y PDFs con las clases OcrImageInput y OcrPdfInput, respectivamente. El método Read devolverá un objeto OcrResult que permite acceder a la propiedad Confidence.

:path=/static-assets/ocr/content-code-examples/how-to/tesseract-result-confidence-get-confidence.cs
using IronOcr;

//  Instanciar IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

//  Añadir imagen
using var imageInput = new OcrImageInput("sample.tiff");
//  Realizar OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

//  Obtener nivel de confianza
double confidence = ocrResult.Confidence;
Imports IronOcr

'  Instanciar IronTesseract
Private ocrTesseract As New IronTesseract()

'  Añadir imagen
Private imageInput = New OcrImageInput("sample.tiff")
'  Realizar OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)

'  Obtener nivel de confianza
Private confidence As Double = ocrResult.Confidence
VB   C#

Obtener confidencias de lectura a distintos niveles

No sólo puede recuperar el nivel de confianza de todo el documento, sino que también puede acceder a los niveles de confianza de cada página, párrafo, línea, palabra y carácter. Además, puede obtener la confianza de un bloque, que representa una colección de uno o varios párrafos situados muy próximos entre sí.

:path=/static-assets/ocr/content-code-examples/how-to/tesseract-result-confidence-confidence-level.cs
//  Obtener el nivel de confianza de la página
double pageConfidence = ocrResult.Pages[0].Confidence;

//  Obtener el nivel de confianza del párrafo
double paragraphConfidence = ocrResult.Paragraphs[0].Confidence;

//  Obtener el nivel de confianza de la línea
double lineConfidence = ocrResult.Lines[0].Confidence;

//  Obtener el nivel de confianza de la palabra
double wordConfidence = ocrResult.Words[0].Confidence;

//  Obtener el nivel de confianza del personaje
double characterConfidence = ocrResult.Characters[0].Confidence;

//  Obtener el nivel de confianza del bloque
double blockConfidence = ocrResult.Blocks[0].Confidence;
'  Obtener el nivel de confianza de la página
Dim pageConfidence As Double = ocrResult.Pages(0).Confidence

'  Obtener el nivel de confianza del párrafo
Dim paragraphConfidence As Double = ocrResult.Paragraphs(0).Confidence

'  Obtener el nivel de confianza de la línea
Dim lineConfidence As Double = ocrResult.Lines(0).Confidence

'  Obtener el nivel de confianza de la palabra
Dim wordConfidence As Double = ocrResult.Words(0).Confidence

'  Obtener el nivel de confianza del personaje
Dim characterConfidence As Double = ocrResult.Characters(0).Confidence

'  Obtener el nivel de confianza del bloque
Dim blockConfidence As Double = ocrResult.Blocks(0).Confidence
VB   C#

Obtener opciones de caracteres

Aparte del nivel de confianza, hay otra propiedad interesante llamada Opciones. Las opciones contienen una lista de opciones de palabras alternativas y su relevancia estadística. Esta información permite al usuario acceder a otros posibles caracteres.

:path=/static-assets/ocr/content-code-examples/how-to/tesseract-result-confidence-get-choices.cs
using IronOcr;
using static IronOcr.OcrResult;

//  Instanciar IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

//  Añadir imagen
using var imageInput = new OcrImageInput("Potter.tiff");
//  Realizar OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

//  Obtener opciones
Choice[] choices = ocrResult.Characters[0].Choices;
Imports IronOcr
Imports IronOcr.OcrResult

'  Instanciar IronTesseract
Private ocrTesseract As New IronTesseract()

'  Añadir imagen
Private imageInput = New OcrImageInput("Potter.tiff")
'  Realizar OCR
Private ocrResult As OcrResult = ocrTesseract.Read(imageInput)

'  Obtener opciones
Private choices() As Choice = ocrResult.Characters(0).Choices
VB   C#

Información recuperada

Opciones

Chaknith Bin

Ingeniero de software

Chaknith es el Sherlock Holmes de los desarrolladores. La primera vez que se le ocurrió que podría tener futuro en la ingeniería de software fue cuando hacía retos de código por diversión. Su trabajo se centra en IronXL e IronBarcode, pero se enorgullece de ayudar a los clientes con todos los productos. Chaknith aprovecha sus conocimientos, adquiridos hablando directamente con los clientes, para ayudar a mejorar los propios productos. Sus comentarios anecdóticos van más allá de los tickets de Jira y apoyan el desarrollo de productos, la documentación y el marketing, para mejorar la experiencia general del cliente.Cuando no está en la oficina, se le puede encontrar aprendiendo sobre aprendizaje automático, codificación y senderismo.