Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Elegir el reconocimiento óptico de caracteres adecuado(OCR) es crucial para cualquiera que desee convertir imágenes de texto en datos editables y con capacidad de búsqueda. Dos opciones populares en este campo sonPaddle OCR yTesseract. Ambos utilizan tecnologías de OCR distintas y responden a necesidades diferentes. Esta comparativa se centra en la evaluación de diferentes motores de OCR para ayudarle a encontrar la opción más adecuada a sus necesidades.
Tanto si está trabajando en una tarea sencilla como si se trata de documentos complejos, comprender las capacidades de Paddle OCR y Tesseract podría ser su primer paso hacia un procesamiento de datos más eficaz. También introduciremos una biblioteca de un grupo de bibliotecas OCR,IronOCR a la mezcla, ofreciendo una comparación más amplia para ayudarle a comprender qué herramienta podría adaptarse mejor a sus necesidades.
Paddle OCR emerge como una solución notable con modelos avanzados de reconocimiento de texto diseñados para el reconocimiento de texto multilingüe, aprovechando las capacidades del marco de aprendizaje profundo PaddlePaddle. El sistema OCR desarrollado por PaddlePaddle está diseñado para ofrecer un alto rendimiento y una amplia compatibilidad lingüística. Este sistema se distingue por su compatibilidad con más de 50 idiomas y ofrece un conjunto de herramientas para la anotación de datos, la síntesis y el despliegue de modelos en diversas plataformas, como servidores, dispositivos móviles, sistemas integrados y dispositivos IoT.
Paddle OCR presenta sus numerosas funciones de OCR con una API fácil de usar para diversas aplicaciones. Estas son sus características más destacadas:
Soporte multilingüe: Paddle OCR puede procesar texto en múltiples idiomas, ofreciendo soporte para más de 50 idiomas.
Algoritmos avanzados: Incorpora métodos y algoritmos OCR avanzados para la detección, reconocimiento y clasificación de texto. Entre ellas se incluyen las últimas investigaciones en aprendizaje profundo, como la Clasificación Temporal Conexionista(CTC) que desempeña un papel crucial en la predicción y alineación precisas de secuencias de texto.
Paddle OCR se publica bajo la Licencia Apache 2.0, lo que garantiza su libre uso, modificación y distribución. La instalación es sencilla, normalmente con gestores de paquetes como pip para Python. Los usuarios pueden instalar rápidamente Paddle OCR y sus dependencias con unos pocos comandos, lo que facilita la integración del proyecto.
La integración de PaddleOCR en un proyecto C# en Visual Studio puede agilizarse con el uso de PaddleSharp, una envoltura .NET para la API C# de Paddle Inference. Esto permite el uso directo de las capacidades de aprendizaje profundo de PaddlePaddle dentro de un entorno .NET. Aquí tienes una guía paso a paso para configurar PaddleSharp en tu proyecto:
Requisitos previos:
También es esencial tener conocimientos de C# y estar familiarizado con la gestión de paquetes NuGet en Visual Studio.
Instalar el paquete PaddleSharp:
Vaya a la opción "Gestionar paquetes NuGet" haciendo clic con el botón derecho del ratón en su proyecto en el Explorador de soluciones.
A continuación, instale los siguientes paquetes:
Scdb.PaddleOCR
OpenCvSharp4
Añadir paquetes nativos y de infraestructura:
using System;
FullOcrModel model = await OnlineFullModels.EnglishV3.DownloadAsync();
using (PaddleOcrAll all = new(model)
{
AllowRotateDetection = true,
Enable180Classification = false,
})
using (Mat imgSrc = Cv2.ImRead(@"read.jpg"))
{
Stopwatch stopWatch = Stopwatch.StartNew();
PaddleOcrResult result = all.Run(imgSrc);
Console.WriteLine($"lapsed={sw.ElapsedMilliseconds} ms");
Console.WriteLine(result.Text);
}
using System;
FullOcrModel model = await OnlineFullModels.EnglishV3.DownloadAsync();
using (PaddleOcrAll all = new(model)
{
AllowRotateDetection = true,
Enable180Classification = false,
})
using (Mat imgSrc = Cv2.ImRead(@"read.jpg"))
{
Stopwatch stopWatch = Stopwatch.StartNew();
PaddleOcrResult result = all.Run(imgSrc);
Console.WriteLine($"lapsed={sw.ElapsedMilliseconds} ms");
Console.WriteLine(result.Text);
}
Imports System
Private model As FullOcrModel = await OnlineFullModels.EnglishV3.DownloadAsync()
Using all As New PaddleOcrAll(model) With {
.AllowRotateDetection = True,
.Enable180Classification = False
}
Using imgSrc As Mat = Cv2.ImRead("read.jpg")
Dim stopWatch As Stopwatch = Stopwatch.StartNew()
Dim result As PaddleOcrResult = all.Run(imgSrc)
Console.WriteLine($"lapsed={sw.ElapsedMilliseconds} ms")
Console.WriteLine(result.Text)
End Using
End Using
Tesseract es un motor OCR de código abierto ampliamente reconocido y licenciado bajo la licencia Apache 2.0. Su desarrollo comenzó en los laboratorios Hewlett-Packard y continuó bajo la tutela de Google hasta 2018, tras lo cual pasó a ser de código abierto. Ahora lo mantiene una comunidad de colaboradores. El motor es famoso por su capacidad para leer más de 100 idiomas y su compatibilidad con varios formatos de imagen, como PNG, JPEG y TIFF. Genera resultados en varios formatos, como texto sin formato, hOCR(HTML)PDF y mucho más.
Aquí tienes un resumen de sus principales características:
Amplio soporte de idiomas: Con la capacidad de reconocer más de 100 idiomas, Tesseract atiende a un público global. El motor es compatible con Unicode(UTF-8)que permite el tratamiento de documentos multilingües.
Reconocimiento basado en redes neuronales: La versión 4 y superiores de Tesseract introdujeron una red neuronal(LSTM) mejorando su precisión en el reconocimiento de líneas de texto con respecto a los métodos tradicionales de reconocimiento de patrones de caracteres.
Tesseract OCR se publica bajo la Licencia Apache 2.0. Esta licencia es una de las más permisivas y abiertas, ya que permite una libertad prácticamente ilimitada para utilizar, modificar y distribuir el software, incluso en proyectos de software propietario.
Para instalar Tesseract OCR en un proyecto de Visual Studio utilizando NuGet, sigue estos pasos:
Abre Visual Studio: Inicia Visual Studio y abre tu proyecto o crea uno nuevo.
Haga clic con el botón derecho en su proyecto en el Explorador de soluciones y seleccione Administrar paquetes NuGet... 3. En el Administrador de paquetes NuGet, cambie a la pestaña Explorar y busque Tesseract.
using Tesseract;
using (var engine = new TesseractEngine(@".\tessdata-main", "eng", EngineMode.Default))
{
using (var img = Pix.LoadFromFile(@"read.jpg"))
{
using (var page = engine.Process(img))
{
var text = page.GetText();
Console.WriteLine(text);
}
}
}
using Tesseract;
using (var engine = new TesseractEngine(@".\tessdata-main", "eng", EngineMode.Default))
{
using (var img = Pix.LoadFromFile(@"read.jpg"))
{
using (var page = engine.Process(img))
{
var text = page.GetText();
Console.WriteLine(text);
}
}
}
Imports Tesseract
Using engine = New TesseractEngine(".\tessdata-main", "eng", EngineMode.Default)
Using img = Pix.LoadFromFile("read.jpg")
Using page = engine.Process(img)
Dim text = page.GetText()
Console.WriteLine(text)
End Using
End Using
End Using
IronOCR es un OCR avanzado(Reconocimiento óptico de caracteres) que mejora significativamente las capacidades de los desarrolladores .NET para**Extraer texto de imágenes y PDF. Sobre la base del motor de OCR Tesseract, IronOCR ofrece una experiencia nativa en C# que proporciona mayor estabilidad y precisión que el motor de base.**Biblioteca Teseracto. Está diseñado para integrarse perfectamente en aplicaciones y sitios web .NET, permite la extracción de texto en formatos de texto sin formato o de datos estructurados, y es capaz de comprender una amplia gama de lenguas extranjeras. Utilizando algoritmos de aprendizaje profundo, el IronOCR logra una precisión sin precedentes en tareas de reconocimiento de texto.
Esta biblioteca destaca no sólo en tareas sencillas de OCR, sino que extiende su funcionalidad a un amplio espectro de aplicaciones. Es compatible con diversas plataformas, incluidas las versiones .NET 5 a 8, .NET Core 2x y 3x, y .NET Framework 4.6.2 y superiores.
Estos son algunos de los principales atributos y funcionalidades que distinguen a IronOCR:
Motor OCR avanzado: Utilizando Tesseract 5, IronOCR ofrece un avanzado motor OCR que soporta**Más de 125 idiomas. Esta capacidad es crucial para las aplicaciones globales que requieren soporte multilingüe. La biblioteca ofrece opciones de calidad alta, media y rápida para la mayoría de los idiomas, incluidos los idiomas personalizados y la formación de fuentes, lo que garantiza flexibilidad y gran precisión en el reconocimiento de textos.
Tratamiento integral de documentos: IronOCR puede procesar una gran variedad de tipos y formatos de documentos, incluyendo imágenes(JPG, PNG, GIF, TIFF, BMP)objetos System.Drawing, flujos y PDFs.
Procesamiento de imágenes: La biblioteca incluye un potente conjunto de filtros y herramientas de procesamiento de imágenes, como nitidez, mejora de la resolución, reducción del ruido y corrección del color.(binarizar, escala de grises, invertir).
Salida de datos estructurada y simple: IronOCR proporciona tanto salida de datos estructurados(páginas, bloques, párrafos, líneas, palabras, caracteres) y salida de datos simple(.NET cadenas de texto, datos de códigos de barras y QR, imágenes).
Procesamiento concurrente y visión por ordenador: La biblioteca admite subprocesos simples y múltiples, operaciones asíncronas y ofrece funciones de visión por ordenador para identificar regiones de texto dentro de las imágenes, mejorando la precisión y la eficacia del reconocimiento de texto en imágenes complejas o con ruido.
Para instalar IronOCR en su proyecto .NET, puede utilizar varios métodos, en función de su entorno de desarrollo y sus preferencias. Aquí tienes una guía simplificada para empezar:
IronOCR ofrece varias opciones de licencia adaptadas a las distintas necesidades de proyectos y desarrolladores, lo que garantiza flexibilidad y escalabilidad a sus usuarios. Los términos de la licencia son perpetuos, lo que significa que una vez que adquieres una licencia, no hay cuotas recurrentes. Además, cada licencia incluye una garantía de devolución del dinero de 30 días, un año de soporte y actualizaciones del producto, y es válida para entornos de desarrollo, ensayo y producción. El precio de la licencia es a partir de 749 $. Puede obtener una**Prueba gratuita antes de comprar la licencia.
Vaya a Herramientas -> Administrador de Paquetes NuGet -> Consola del Administrador de Paquetes.
A continuación se muestra un ejemplo de código de cómo se puede extraer texto de una imagen utilizando IronOCR:
using IronOcr;
IronOcr.License.LicenseKey = "License-Key";
var ocrMode = new IronTesseract();
var resultText = ocrMode.Read("read.jpg");
Console.WriteLine(resultText.Text);
using IronOcr;
IronOcr.License.LicenseKey = "License-Key";
var ocrMode = new IronTesseract();
var resultText = ocrMode.Read("read.jpg");
Console.WriteLine(resultText.Text);
Imports IronOcr
IronOcr.License.LicenseKey = "License-Key"
Dim ocrMode = New IronTesseract()
Dim resultText = ocrMode.Read("read.jpg")
Console.WriteLine(resultText.Text)
Al evaluar IronOCR, PaddleOCR y Tesseract en función de varios factores importantes para el reconocimiento óptico de caracteres(OCR) es fundamental tener en cuenta los puntos fuertes de cada herramienta en el contexto de la precisión, la velocidad, la compatibilidad lingüística, las opciones de personalización y el apoyo de la comunidad.
Tanto PaddleOCR como Tesseract han demostrado una gran precisión en las pruebas comparativas, pero la capacidad de IronOCR para afinar y ajustar los pasos de preprocesamiento le da una ventaja a la hora de ofrecer resultados superiores en diversos tipos de documentos.
En lo que respecta a la velocidad de procesamiento, IronOCR destaca por su eficaz tratamiento de documentos dentro del entorno .NET, ofreciendo un rendimiento optimizado para el reconocimiento rápido de textos. Mientras que PaddleOCR y Tesseract también son conocidos por sus capacidades de procesamiento en tiempo real.
Tesseract es compatible con más de 100 idiomas, lo que la convierte en una de las herramientas de OCR más versátiles en cuanto a cobertura lingüística. PaddleOCR también ofrece un impresionante soporte lingüístico, especialmente para las lenguas asiáticas. IronOCR, que utiliza el motor de Tesseract, hereda este amplio soporte de lenguaje, combinándolo con mejoras y optimizaciones adicionales. Esta combinación no sólo amplía la gama de idiomas que se manejan eficazmente, sino que también mejora la precisión y la velocidad de los idiomas directamente compatibles con las mejoras de IronOCR.
IronOCR destaca en esta personalización al proporcionar una amplia gama de opciones que permiten a los desarrolladores ajustar el proceso de OCR, incluido el preprocesamiento de imágenes, el filtrado de texto y los diccionarios personalizados. Este nivel de personalización es especialmente valioso en escenarios de OCR complejos, en los que la configuración predeterminada puede no ser suficiente. Aunque PaddleOCR y Tesseract ofrecen algunas posibilidades de personalización, el hecho de que IronOCR se centre en las necesidades de los desarrolladores dentro del ecosistema .NET garantiza un mayor grado de flexibilidad.
Mientras que Tesseract goza de una comunidad amplia y consolidada debido a su larga historia y a su naturaleza de código abierto, y la comunidad de PaddleOCR crece rápidamente, IronOCR se beneficia de una comunidad centrada en desarrolladores .NET.
En conclusión, mientras que Tesseract ofrece una base sólida para los proyectos de OCR gracias a su amplia personalización y al amplio apoyo de la comunidad, y PaddleOCR aporta una tecnología puntera de aprendizaje profundo para lograr una gran precisión y velocidad, IronOCR se perfila como una opción convincente para los desarrolladores .NET y las empresas. Su enfoque en la implantación local, su amplia compatibilidad lingüística y su rentable modelo de licencias convierten a IronOCR en una opción atractiva para quienes dan prioridad a la seguridad de los datos, la previsibilidad financiera y la integración con aplicaciones .NET.
IronOCR resulta especialmente atractivo para las empresas gracias a sus flexibles opciones de licencia, que incluyen un**Prueba gratuita para una evaluación inicial y licencias a partir de 749 dólares, destinadas a organizaciones de todos los tamaños que buscan un equilibrio entre rendimiento y coste.
9 productos API .NET para sus documentos de oficina