COMPARACIóN CON OTROS COMPONENTES

Paddle OCR vs Tesseract (Comparación de funciones OCR)

Actualizado 29 de abril, 2024
Compartir:

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 son Paddle OCR y Tesseract. 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.

Pádel OCR

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.

Características principales

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:

  1. Soporte multilingüe: Paddle OCR puede procesar texto en múltiples idiomas, ofreciendo soporte para más de 50 idiomas.
  2. 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.
  3. Eficacia y velocidad: Optimizado tanto para la velocidad como para la precisión, Paddle OCR es capaz de procesar grandes volúmenes de imágenes rápidamente, por lo que es adecuado para aplicaciones de alto rendimiento.

Licencia

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.

Instalar PaddleSharp

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:

  • Asegúrese de tener Visual Studio instalado en su sistema, con compatibilidad con .NET Framework o .NET Core, en función de los requisitos de su proyecto.
  • 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:

  • Abra su proyecto en Visual Studio.
  • 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.

    • Busque Sdcb.PaddleInference e instale el paquete. Este es el enlace principal que permite a las aplicaciones .NET utilizar el motor de Inferencia de Paddle.

    Paddle OCR vs Tesseract (Comparación de características OCR): Figura 1 - Búsqueda de Sdcb.PaddleInference en el gestor de paquetes NuGet

    • A continuación, instale los siguientes paquetes:
      • Scdb.PaddleOCR
      • OpenCvSharp4
      • Scdb.PaddleOCR.Models.Online
        • OpenCvSharp4.runtime.win

    Añadir paquetes nativos y de infraestructura:

  • En función de la plataforma de destino (Windows/Linux) y requisitos (CPU/GPU)puede que sea necesario instalar paquetes adicionales. Para Windows, puede que necesites paquetes como Sdcb.PaddleInference.runtime.win64.mkl para soporte MKL o **Sdcb.PaddleInference.runtime.win64.cuda*** para soporte GPU.
  • Instálelos también a través del gestor de paquetes NuGet, garantizando la compatibilidad con sus entornos de desarrollo y ejecución de destino.

Ejemplo de código

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
VB   C#

Paddle OCR vs Tesseract (Comparación de características OCR): Figura 2 - Salida de la consola del código anterior.

Tesseract OCR

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.

Características principales

Aquí tienes un resumen de sus principales características:

  1. 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.
  2. 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.
  3. Formatos de salida versátiles: Tesseract soporta varios formatos de salida incluyendo texto plano, hOCR (HTML)PDF y TSV, lo que lo hace adaptable a diferentes casos de uso.

Licencia

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.

Instalar Tesseract

Para instalar Tesseract OCR en un proyecto de Visual Studio utilizando NuGet, sigue estos pasos:

  1. Abre Visual Studio: Inicia Visual Studio y abre tu proyecto o crea uno nuevo.
    1. 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.
    2. Instala el gestor de paquetes NuGet de Tesseract.

    Paddle OCR vs Tesseract (Comparación de características OCR): Figura 3 - Instalación de Tesseract con el gestor de paquetes NuGet

  2. Descargue Tessdata desde aquí **Enlace. Es importante utilizar Tesseract OCR.

Ejemplo de código

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
VB   C#

Paddle OCR vs Tesseract (Comparación de características OCR): Figura 4 - Salida de la consola del ejemplo de código anterior

IronOCR

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.

Características principales

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:

Licencia

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.

Instalar IronOCR

  1. Vaya a Herramientas -> Administrador de Paquetes NuGet -> Consola del Administrador de Paquetes.

    1. Introduzca el comando Install-Package IronOcr y ejecútelo. Este comando recupera e instala IronOCR en su proyecto, dejándolo listo para su uso.

    Paddle OCR vs Tesseract (Comparación de funciones OCR): Figura 5 - Uso de la consola del gestor de paquetes para instalar IronOCR

Ejemplo de código

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)
VB   C#

Paddle OCR vs Tesseract (Comparación de características OCR): Figura 6 - Salida de la consola del ejemplo de código anterior

Comparación

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.

Precisión

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.

Velocidad

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.

Apoyo lingüístico

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.

Opciones de personalización

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.

Apoyo comunitario

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.

Conclusión

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.

SIGUIENTE >
Abbyy Finereader vs Tesseract (comparación de funciones OCR)

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 2,012,139 Ver licencias >
123