Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
Choisir la bonne reconnaissance optique de caractères(OCR) est essentiel pour toute personne souhaitant convertir des images de texte en données modifiables et consultables. Les deux options les plus courantes dans ce domaine sont les suivantesPaddle OCR etTesseract. Tous deux s'appuient sur une technologie d'OCR distincte et répondent à des besoins différents. Cette comparaison se concentre sur l'évaluation de différents moteurs d'OCR afin de vous aider à trouver l'option la plus adaptée à vos besoins.
Que vous travailliez sur une tâche simple ou que vous traitiez des documents complexes, la compréhension des capacités de Paddle OCR et de Tesseract pourrait être votre premier pas vers un traitement plus efficace des données. Nous introduirons également une bibliothèque parmi un ensemble de bibliothèques OCR,IronOCR pour offrir une comparaison plus large afin de vous aider à comprendre quel outil pourrait le mieux répondre à vos besoins.
Paddle OCR émerge comme une solution remarquable avec des modèles de reconnaissance de texte avancés conçus pour la reconnaissance de texte multilingue, tirant parti des capacités du cadre d'apprentissage profond PaddlePaddle. Le système d'OCR développé par PaddlePaddle est conçu pour de hautes performances et une prise en charge étendue des langues. Ce système se distingue par la prise en charge de plus de 50 langages, offrant une suite d'outils pour l'annotation des données, la synthèse et le déploiement de modèles sur différentes plateformes, notamment les serveurs, les appareils mobiles, les systèmes embarqués et les appareils IoT.
Paddle OCR offre de nombreuses fonctionnalités d'OCR avec une API conviviale pour diverses applications. Voici ses principales caractéristiques :
Support multilingue : Paddle OCR peut traiter des textes en plusieurs langues, en prenant en charge plus de 50 langues.
Algorithmes avancés : Il intègre des méthodes et des algorithmes d'OCR avancés pour la détection, la reconnaissance et la classification des textes. Il s'agit notamment des dernières recherches en matière d'apprentissage profond, telles que la classification temporelle connexionniste(CTC) qui joue un rôle crucial dans la prédiction et l'alignement précis des séquences de texte.
Paddle OCR est publié sous la licence Apache 2.0, ce qui garantit que son utilisation, sa modification et sa distribution sont libres. L'installation est simple, faisant généralement appel à des gestionnaires de paquets tels que pip pour Python. Les utilisateurs peuvent rapidement installer Paddle OCR et ses dépendances en quelques commandes, ce qui facilite l'intégration des projets.
L'intégration de PaddleOCR dans un projet C# dans Visual Studio peut être rationalisée par l'utilisation de PaddleSharp, un wrapper .NET pour l'API C# d'inférence Paddle. Cela permet d'utiliser directement les capacités d'apprentissage profond de PaddlePaddle dans un environnement .NET. Voici un guide étape par étape pour configurer PaddleSharp dans votre projet :
Prérequis :
Une compréhension du langage C# et une bonne connaissance de la gestion des paquets NuGet dans Visual Studio sont également indispensables.
Installer le package PaddleSharp :
Accédez à l'option "Manage NuGet Packages" en cliquant avec le bouton droit de la souris sur votre projet dans l'explorateur de solutions.
Installez ensuite les paquets suivants :
Scdb.PaddleOCR.Models.Online
Ajouter des packages natifs et d'infrastructure :
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 est un moteur d'OCR open-source largement reconnu et placé sous la licence Apache 2.0. Son développement a débuté dans les laboratoires Hewlett-Packard et s'est poursuivi sous l'égide de Google jusqu'en 2018, après quoi il a été mis en libre accès. Aujourd'hui, il est maintenu par une communauté de contributeurs. Ce moteur est réputé pour sa capacité à lire plus de 100 langues et pour sa prise en charge de divers formats d'image, notamment PNG, JPEG et TIFF. Il produit des sorties dans de multiples formats tels que le texte brut, hOCR(HTML)pDF, et plus encore.
Voici un aperçu de ses principales caractéristiques :
Prise en charge étendue des langues : Avec la capacité de reconnaître plus de 100 langues, Tesseract s'adresse à un public mondial. Le moteur prend en charge l'Unicode(UTF-8)permettant le traitement de documents multilingues.
Reconnaissance basée sur un réseau neuronal : Les versions 4 et supérieures de Tesseract ont introduit un réseau neuronal(LSTM) qui améliore la précision de la reconnaissance des lignes de texte par rapport aux méthodes traditionnelles de reconnaissance des caractères.
Tesseract OCR est publié sous la licence Apache 2.0. Cette licence est l'une des plus permissives et des plus ouvertes, car elle permet une liberté pratiquement illimitée d'utilisation, de modification et de distribution du logiciel, même dans le cadre de projets de logiciels propriétaires.
Pour installer Tesseract OCR dans un projet Visual Studio à l'aide de NuGet, procédez comme suit :
Ouvrez Visual Studio : Lancez Visual Studio et ouvrez votre projet ou créez-en un nouveau.
Faites un clic droit sur votre projet dans l'explorateur de solutions et sélectionnez Manage NuGet Packages... 3. Dans le gestionnaire de packages NuGet, passez à l'onglet Browse et recherchez 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 est un OCR avancé(Reconnaissance optique de caractères) qui améliore considérablement les capacités des développeurs .NET àextraire le texte des images et des PDF. S'appuyant sur les fondements du moteur OCR Tesseract, IronOCR offre une expérience native en C# qui offre une plus grande stabilité et une meilleure précision que le moteur OCR de baseBibliothèque Tesseract. Il est conçu pour s'intégrer de manière transparente dans les applications et les sites web .NET, permettant l'extraction de texte dans des formats de texte brut ou de données structurées, et est capable de comprendre un large éventail de langues étrangères. Utilisant des algorithmes d'apprentissage profond, l'IronOCR atteint une précision inégalée dans les tâches de reconnaissance de texte.
Cette bibliothèque excelle non seulement dans les tâches simples d'OCR, mais étend également ses fonctionnalités à un large éventail d'applications. Il prend en charge une variété de plateformes, notamment les versions .NET de 5 à 8, .NET Core 2x & 3x, et le Framework .NET 4.6.2 et plus.
Voici quelques-uns des principaux attributs et fonctionnalités qui distinguent IronOCR :
Moteur OCR avancé : Utilisant Tesseract 5, IronOCR offre un moteur d'OCR avancé qui prend en charge125+ langues. Cette capacité est cruciale pour les applications mondiales nécessitant un support multilingue. La bibliothèque propose des options de qualité élevée, moyenne et rapide pour la plupart des langues, y compris les langues personnalisées et la formation des polices, ce qui garantit la flexibilité et la précision de la reconnaissance de texte.
Traitement complet des documents : IronOCR peut traiter une grande variété de types et de formats de documents, y compris des images(JPG, PNG, GIF, TIFF, BMP)les objets System.Drawing, les flux et les PDF.
Traitement robuste des images : La bibliothèque comprend un ensemble puissant de filtres et d'outils de traitement d'image, tels que l'accentuation, l'amélioration de la résolution, la réduction du bruit et la correction des couleurs(binarisation, échelle de gris, inversion).
Sortie de données structurées et simples : IronOCR fournit des sorties de données structurées et simples(pages, blocs, paragraphes, lignes, mots, caractères) et une simple sortie de données(.NET de chaînes de texte, de données de codes-barres et de QR, d'images).
Traitement simultané et vision par ordinateur : La bibliothèque prend en charge les opérations asynchrones, simples ou multiples, et offre des fonctionnalités de vision par ordinateur pour identifier les zones de texte dans les images, améliorant ainsi la précision et l'efficacité de la reconnaissance de texte dans des images complexes ou bruitées.
Pour installer IronOCR for .NET dans votre projet, vous pouvez utiliser plusieurs méthodes, en fonction de votre environnement de développement et de vos préférences. Voici un guide simplifié pour vous aider à démarrer :
IronOCR propose diverses options de licence adaptées aux différents besoins des projets et des développeurs, garantissant ainsi flexibilité et évolutivité à ses utilisateurs. Les conditions de licence sont perpétuelles, ce qui signifie qu'une fois la licence achetée, il n'y a pas de frais récurrents. En outre, chaque licence comprend une garantie de remboursement de 30 jours, un an d'assistance et de mises à jour du produit, et est valable pour les environnements de développement, d'essai et de production. Le prix de la licence commence à 749 dollars. Vous pouvez obtenir uneessai gratuit avant d'acheter la licence.
Naviguez vers Tools -> NuGet Package Manager -> Package Manager Console.
Voici un exemple de code permettant d'extraire du texte d'une image à l'aide d'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)
Lors de l'évaluation d'IronOCR, de PaddleOCR et de Tesseract sur la base de divers facteurs importants pour la reconnaissance optique de caractères(OCR) il est essentiel de prendre en compte les points forts de chaque outil en termes de précision, de rapidité, de support linguistique, d'options de personnalisation et de soutien de la communauté.
PaddleOCR et Tesseract ont tous deux fait preuve d'une grande précision dans les tests de référence, mais la capacité d'IronOCR à affiner et à ajuster les étapes de prétraitement lui confère une longueur d'avance pour ce qui est de fournir des résultats supérieurs sur divers types de documents.
En ce qui concerne la vitesse de traitement, IronOCR se distingue par son traitement efficace des documents dans l'environnement .NET, offrant des performances optimisées pour une reconnaissance rapide du texte. PaddleOCR et Tesseract sont également connus pour leurs capacités de traitement en temps réel.
Tesseract prend en charge plus de 100 langues, ce qui en fait l'un des outils d'OCR les plus polyvalents en termes de couverture linguistique. PaddleOCR offre également une prise en charge linguistique impressionnante, en particulier pour les langues asiatiques. IronOCR, qui utilise le moteur de Tesseract, hérite de cette prise en charge étendue des langues, en la combinant avec des améliorations et des optimisations supplémentaires. Cette combinaison permet non seulement d'élargir la gamme des langues traitées efficacement, mais aussi d'améliorer la précision et la vitesse pour les langues directement prises en charge par les améliorations d'IronOCR.
IronOCR excelle dans cette personnalisation en offrant un large éventail d'options qui permettent aux développeurs d'affiner le processus d'OCR, notamment le prétraitement des images, le filtrage du texte et les dictionnaires personnalisés. Ce niveau de personnalisation est particulièrement précieux dans les scénarios d'OCR complexes, où les paramètres par défaut peuvent ne pas suffire. Alors que PaddleOCR et Tesseract offrent certaines capacités de personnalisation, l'accent mis par IronOCR sur les besoins des développeurs au sein de l'écosystème .NET garantit un plus haut degré de flexibilité.
Tandis que Tesseract jouit d'une communauté vaste et bien établie en raison de sa longue histoire et de sa nature open-source, et que la communauté de PaddleOCR se développe rapidement, IronOCR bénéficie d'une communauté ciblée de développeurs .NET.
En conclusion, alors que Tesseract offre une base solide pour les projets OCR grâce à sa personnalisation étendue et au large soutien de la communauté, et que PaddleOCR apporte une technologie d'apprentissage profond de pointe pour une précision et une vitesse élevées, IronOCR émerge comme une option convaincante pour les développeurs et les entreprises .NET. L'accent mis sur le déploiement sur site, la prise en charge complète des langues et le modèle de licence économique font d'IronOCR un choix intéressant pour ceux qui privilégient la sécurité des données, la prévisibilité financière et l'intégration avec les applications .NET.
IronOCR est particulièrement intéressant pour les entreprises en raison de la souplesse de ses options de licence, qui comprennent une licence d'utilisation de l'ordinateuressai gratuit pour une évaluation initiale et des licences à partir de 749 $, s'adressant aux organisations de toutes tailles à la recherche d'un équilibre entre performance et coût.
9 produits de l'API .NET pour vos documents de bureau