Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
Reconnaissance optique de caractères(OCR)est la technologie qui aide à traiter les documents, tels que les documents papier numérisés, les fichiers PDF ou les images haute résolution capturées par caméra, en données imprimables et consultables. La reconnaissance des caractéristiques du texte extrait et les opérations morphologiques permettentOCRpour automatiser la saisie de données, ce qui accélère le processus de traitement de l'information et le rend plus précis.
L'OCR scanne le document, reconnaît les caractères, tels que les lettres, chiffres ou symboles, et les traduit en un format lisible par machine. Ses utilisations incluent la numérisation de livres, le traitement de formulaires, l'automatisation du flux de travail des documents et l'amélioration de l'accessibilité pour les personnes aveugles. Avec le développement de l'apprentissage profond et de l'intelligence artificielle, les moteurs OCR sont devenus très précis dans la reconnaissance de formats complexes, tels que l'écriture manuscrite, les documents multilingues et même les images de mauvaise qualité.
Les outils et bibliothèques OCR populaires, comme EasyOCR, Tesseract OCR, Keras-OCR et IronOCR, sont couramment utilisés pour intégrer cette fonctionnalité dans les applications modernes.
EasyOCRest une bibliothèque Python open-source qui vise à rendre l'extraction de texte à partir d'images simple et efficace. Il utilise des techniques d'apprentissage profond et prend en charge plus de 80 langues, y compris le latin, le chinois, l'arabe, et bien d'autres. Son API est suffisamment simple pour que n'importe qui puisse facilement intégrer la fonctionnalité de prédiction OCR dans ses applications sans beaucoup de configuration. Avec EasyOCR Tesseract, on peut effectuer une numérisation de documents simple, la reconnaissance de plaques d'immatriculation, ou même extraire du texte d'une image.
Image cassée Ajouter depuis Pixabay, sélectionner depuis vos fichiers ou glisser-déposer une image ici.
EasyOCR est bien connu pour sa reconnaissance de texte imprimé et manuscrit. La plupart des autres solutions OCR n'offrent pas cette fonctionnalité. Il gère également le texte multiligne et fonctionne sur n'importe quel type d'image, même de faible qualité. Par conséquent, il est robuste pour les cas d'utilisation réels, ne reposant que sur quelques dépendances. Il est léger et fonctionne efficacement sans nécessiter de GPU sur du matériel moderne. Cela rend EasyOCR particulièrement attractif pour les développeurs qui pourraient avoir besoin de capacités OCR flexibles.
De nombreuses fonctionnalités font d'EasyOCR un utilitaire OCR complet et véritablement puissant :
Reconnaît plus de 80 langues : EasyOCR peut lire le chinois, le japonais, le coréen, l'arabe, les langues basées sur le latin, et bien d'autres encore, écrivant des mots complexes et des langues compliquées.
Il reconnaîtra à la fois les textes manuscrits et imprimés à partir d'images, élargissant ainsi davantage le champ des applications potentielles.
Basé sur l'apprentissage profond avancé : La reconnaissance prend en charge de puissants algorithmes des techniques avancées d'apprentissage profond avec des niveaux élevés de performance et de précision, en particulier dans les mises en page de texte et les images bruyantes ou déformées.
API simple : Très facile à implémenter avec une API très facile à utiliser qui permet aux utilisateurs d'obtenir rapidement des capacités OCR au sein d'une application sans configuration supplémentaire.
Détection de texte multiligne : Reconnaissance de plusieurs lignes de texte ; utile pour les documents, les livres ou les enseignes multi-lignes.
Léger : Il fonctionne bien sur le CPU et peut tirer parti d'un GPU pour améliorer les performances, tout en étant utilisable avec du matériel basique.
Prétraitement d'image : Contient les principaux outils de prétraitement d'image pour nettoyer les résultats de l'OCR issus d'images bruitées ou de basse résolution.
Déploiement flexible : Fonctionne sur de nombreuses plateformes et s'intègre relativement facilement dans les applications Python.
EasyOCR peut être installé via pip, qui est le gestionnaire de paquets pour Python. Tout d'abord, assurez-vous que toutes les dépendances ont été satisfaites.
Tout d'abord, parmi ceux-ci, se trouvent les bibliothèques PyTorch : torch et torchvision. Torch et torchvision peuvent être installés ensemble avec EasyOCR :
Installer EasyOCR : Pour l'installer, ouvrez simplement un terminal ou une ligne de commande et entrez la commande suivante :
pip install easyocr
pip install easyocr
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'pip install easyocr
Image cassée Ajouter depuis Pixabay, sélectionner depuis vos fichiers ou glisser-déposer une image ici.
Installer PyTorch, si non installé(requis par EasyOCR): EasyOCR fonctionne sur PyTorch. Si installé automatiquement dans votre environnement, installez une version spécifique ; suivez l'installation officielle de PyTorchguide.
Vous êtes maintenant prêt à utiliser EasyOCR pour les tâches d'extraction de texte.
import easyocr
import matplotlib.pyplot as plt
import cv2
# Initialize the EasyOCR reader
reader = easyocr.Reader(['en']) # Specify the languages (e.g., 'en' for English)
# Load the image
image_path = 'sample_image.png' # Path to the image
image = cv2.imread(image_path)
# Perform OCR on the image
result = reader.readtext(image_path)
# Print the detected text and its bounding boxes
for (bbox, text, prob) in result:
print(f"Detected Text: {text} (Confidence: {prob:.4f})")
# Optionally, display the image with bounding boxes around the detected text
for (bbox, text, prob) in result:
# Unpack the bounding box
top_left, top_right, bottom_right, bottom_left = bbox
top_left = tuple(map(int, top_left))
bottom_right = tuple(map(int, bottom_right))
# Draw a rectangle around the text
cv2.rectangle(image, top_left, bottom_right, (0, 255, 0), 2)
# Convert the image to RGB (since OpenCV loads images in BGR by default)
image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
# Display the image with bounding boxes
plt.imshow(image_rgb)
plt.axis('off')
plt.show()
import easyocr
import matplotlib.pyplot as plt
import cv2
# Initialize the EasyOCR reader
reader = easyocr.Reader(['en']) # Specify the languages (e.g., 'en' for English)
# Load the image
image_path = 'sample_image.png' # Path to the image
image = cv2.imread(image_path)
# Perform OCR on the image
result = reader.readtext(image_path)
# Print the detected text and its bounding boxes
for (bbox, text, prob) in result:
print(f"Detected Text: {text} (Confidence: {prob:.4f})")
# Optionally, display the image with bounding boxes around the detected text
for (bbox, text, prob) in result:
# Unpack the bounding box
top_left, top_right, bottom_right, bottom_left = bbox
top_left = tuple(map(int, top_left))
bottom_right = tuple(map(int, bottom_right))
# Draw a rectangle around the text
cv2.rectangle(image, top_left, bottom_right, (0, 255, 0), 2)
# Convert the image to RGB (since OpenCV loads images in BGR by default)
image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
# Display the image with bounding boxes
plt.imshow(image_rgb)
plt.axis('off')
plt.show()
#Initialize the EasyOCR reader
#Load the image
#Perform OCR on the image
#Print the detected text and its bounding boxes
#Optionally, display the image with bounding boxes around the detected text
#Unpack the bounding box
#Draw a rectangle around the text
#Convert the image to RGB (since OpenCV loads images in BGR by default)
#Display the image with bounding boxes
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'import easyocr import TryCast(matplotlib.pyplot, plt) import cv2 reader = easyocr.Reader(['en']) # Specify the languages(e.g., 'en' for English) image_path = 'sample_image.png' # Path @to the image image = cv2.imread(image_path) result = reader.readtext(image_path) for(bbox, text, prob) in result: print(f"Detected Text: {text} (Confidence: {prob:.4f})") for(bbox, text, prob) in result: top_left, top_right, bottom_right, bottom_left = bbox top_left = tuple(map(int, top_left)) bottom_right = tuple(map(int, bottom_right)) cv2.rectangle(image, top_left, bottom_right, (0, 255, 0), 2) image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) plt.imshow(image_rgb) plt.axis('off') plt.show()
L'image ci-dessous est le résultat généré par le code ci-dessus.
Tesseractest parmi les moteurs de reconnaissance optique de caractères open-source les plus populaires, offrant une gamme d'options pour les hyperparamètres. Il peut être accédé depuis des applications Python en utilisant pytesseract. Le développement de Tesseract a été initié par Hewlett-Packard mais a ensuite été amélioré par Google. Il est extrêmement polyvalent et peut extraire le texte des images et des PDF dans plus de 100 langues. Le wrapper en Python permet une interaction fluide avec Tesseract via pytesseract.
Tesseract est un leader dans la détection et l'extraction de texte imprimé par machine, possède des capacités de reconnaissance multi-langues, prend en charge l'entraînement sur de nouvelles polices et effectue également une analyse de mise en page du texte. Il prend principalement en charge le texte imprimé, bien qu'il se débrouille assez bien avec le texte manuscrit, mais le niveau de précision est modérément élevé. Tesseract est largement utilisé pour la numérisation de documents, le scan de reçus, l'automatisation de la saisie de données et la création de PDF consultables. Mettre toute cette flexibilité à disposition de Python et Tesseract peut constituer une combinaison assez puissante entre les mains des développeurs travaillant sur des tâches liées à l'OCR.
Certaines des fonctionnalités les plus importantes de pytesseract sont :
Support multilingue : Tesseract peut lire plus de 100 langues, et pytesseract offre un support OCR multilingue assez simple au sein des scripts Python. Il prend également en charge la formation pour des polices ou langues personnalisées supplémentaires, élargissant ainsi les capacités à plus de langues ou de polices.
Utilisation pour la conversion d'image en texte : pytesseract extrait le contenu textuel de plusieurs formats d'images comme PNG, JPEG, BMP, GIF et TIFF pour exécuter l'OCR sur de nombreux types de sources différents.
Transformation de PDF en PDF consultable : Tesseract lira le texte d'un fichier PDF et rendra ce PDF consultable. Les utilisateurs peuvent rechercher et indexer le contenu de documents numérisés.
Il peut lire des mises en page de texte complexes incluant des documents multi-colonnes, des tableaux et un contenu mixte de texte et d'images. Ainsi, il peut extraire du texte à partir de mises en page non standard de manière plus précise.
Capacité de reconnaissance de texte manuscrit : pytesseract est principalement destiné au texte imprimé ; Cependant, le niveau de précision dépend de la qualité et de la clarté de l'écriture manuscrite utilisée.
Configuration personnalisée : les utilisateurs peuvent transmettre des paramètres de configuration Tesseract personnalisés via pytesseract afin d'ajuster finement les performances de l'OCR, ainsi que d'utiliser des modes de reconnaissance appropriés ou des images pour attribuer certaines caractéristiques aux textes selon les besoins.
API simple : C'est une API simple pour pytesseract, donc facile pour les développeurs d'ajouter l'OCR à leurs projets Python avec moins de code pour son interaction.
Cette bibliothèque fonctionnerait bien avec d'autres bibliothèques, telles que OpenCV PIL.(Bibliothèque d'Imagerie Python), ou NumPy pour traiter le prétraitement des images afin d'améliorer la précision de l'OCR.
Une fois Tesseract installé, installez le package pytesseract en utilisant pip :
pip install pytesseract
pip install pytesseract
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'pip install pytesseract
import pytesseract
from PIL import Image
pytesseract.pytesseract.tesseract_cmd = r'<full_path_to_your_tesseract_executable>'
# Example: Read text from an image
image = Image.open('sample_image.png')
text = pytesseract.image_to_string(image)
print(text)
import pytesseract
from PIL import Image
pytesseract.pytesseract.tesseract_cmd = r'<full_path_to_your_tesseract_executable>'
# Example: Read text from an image
image = Image.open('sample_image.png')
text = pytesseract.image_to_string(image)
print(text)
#Example: Read text from an image
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'import pytesseract from PIL import Image pytesseract.pytesseract.tesseract_cmd = r'<full_path_to_your_tesseract_executable>' image = Image.open('sample_image.png') text = pytesseract.image_to_string(image) print(text)
Voici le résultat généré par le code ci-dessus.
Une puissante bibliothèque de reconnaissance optique de caractères permet aux développeurs .NET d'exploiter la puissance deIronOCRpour une extraction efficace de texte à partir d'images, de PDF et de nombreux autres formats de documents. Des algorithmes avancés garantissent une très grande précision même pour des mises en page complexes ou des environnements multilingues. Prend en charge les formats JPEG, PNG, GIF et TIFF. La bibliothèque propose des réglages variables, permettant de peaufiner le processus du moteur OCR à l'aide de paramètres tels que la résolution ou l'orientation de l'image pour le texte.
La fonctionnalité de prétraitement des images garantit que des images d'entrée de meilleure qualité peuvent être traduites en une précision de reconnaissance plus élevée et en documents de sortie supplémentaires sous forme de conversion en PDF consultable pour une récupération d'information plus facile. Ainsi, compte tenu de son intégration facile dans les applications web, IronOCR est le meilleur outil pour les développeurs souhaitant mettre en œuvre les solutions d'extraction de texte et de numérisation de documents les plus fiables dans plusieurs domaines.
Haute précision : Il utilise des algorithmes avancés et complexes pour offrir des niveaux de précision élevés dans la reconnaissance de texte, quelle que soit la complexité du document ou l'utilisation de différentes polices.
Accepte plusieurs formats : Il accepte les formats d'image tels que JPEG, PNG, GIF et TIFF en plus des PDF pour garantir qu'il puisse exécuter les fonctions prévues dans diverses applications.
Prend en charge la reconnaissance multilingue : Il est multilingue, offrant des résultats précis pour une extraction de texte réussie dans divers contextes linguistiques.
Préservation de la Mise en Page du Texte : Cela préserve la disposition originale du document de sorte que le texte extrait conserve la même mise en page, ce qui est important pour une lecture claire.
OCR configurable : Il offre des paramètres configurables de résolution d'image, de direction du texte et plus encore, permettant au développeur d'optimiser l'outil OCR spécifique à l'image jusqu'à un certain point.
Prétraitement d'image : Il est fourni avec des outils de base conçus pour améliorer les images, à commencer par la suppression du bruit, l'ajustement du contraste ainsi que le redimensionnement, le tout dans le but d'augmenter la précision de l'OCR.
PDF Recherchable : Les images et documents numérisés peuvent être directement convertis en PDFs recherchables pour une gestion et une récupération efficaces des données.
Intégration facile : Elle permet une intégration facile dans .NET, ce qui permet à un utilisateur d'ajouter la fonctionnalité OCR très simplement.
Traitement par lots : Il est utile pour le traitement simultané de plusieurs images ou documents. Il est extrêmement utile pour traiter de grandes quantités de données.
L'installation est assez simple : ouvrez le gestionnaire de packages NuGet pour les solutions et démarrez un nouveau projet Visual Studio. Il suffit de taper "IronOCR" et de rechercher la liste. Ensuite, sélectionnez la dernière version de IronOCR et cliquez sur Installer.
using IronOcr;
class Program
{
static void Main(string[] args)
{
// Initialize IronTesseract engine
var Ocr = new IronTesseract();
// Add multiple languages
Ocr.Language = OcrLanguage.English;
// Path to the image
var inputFile = @"path\to\your\image.png";
// Read the image and perform OCR
using (var input = new OcrInput(inputFile))
{
// Perform OCR
var result = Ocr.Read(input);
// Display the result
Console.WriteLine("Text:");
Console.WriteLine(result.Text);
}
}
}
using IronOcr;
class Program
{
static void Main(string[] args)
{
// Initialize IronTesseract engine
var Ocr = new IronTesseract();
// Add multiple languages
Ocr.Language = OcrLanguage.English;
// Path to the image
var inputFile = @"path\to\your\image.png";
// Read the image and perform OCR
using (var input = new OcrInput(inputFile))
{
// Perform OCR
var result = Ocr.Read(input);
// Display the result
Console.WriteLine("Text:");
Console.WriteLine(result.Text);
}
}
}
Imports IronOcr
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Initialize IronTesseract engine
Dim Ocr = New IronTesseract()
' Add multiple languages
Ocr.Language = OcrLanguage.English
' Path to the image
Dim inputFile = "path\to\your\image.png"
' Read the image and perform OCR
Using input = New OcrInput(inputFile)
' Perform OCR
Dim result = Ocr.Read(input)
' Display the result
Console.WriteLine("Text:")
Console.WriteLine(result.Text)
End Using
End Sub
End Class
IronOCR est plus précis avec des mises en page complexes, des images bruyantes et des textes basse résolution que ses concurrents les plus proches, Tesseract ou EasyOCR. Les outils de prétraitement d'image intégrés, tels que la réduction du bruit et les ajustements de contraste, augmentent toutes les possibilités d'obtenir une précision dans les applications du monde réel.
IronOCR surpasse les deux ici, car il traite facilement tous types de formats d'image, de fichiers PDF et de mises en page à plusieurs colonnes tout en préservant la structure et le formatage du document original. Par conséquent, cela devient le meilleur choix pour les projets de numérisation plus traditionnels où la préservation de la mise en page est un atout.
Il présente un énorme avantage en ce qu'il convertit les images et les documents numérisés directement en PDF entièrement consultables sans dépendance à des outils ou bibliothèques supplémentaires, contrairement à Tesseract et EasyOCR.
Même les images de très mauvaise qualité produisent une haute précision de reconnaissance optique de caractères grâce à cette fonctionnalité. Cela minimise la dépendance à d'autres bibliothèques comme OpenCV et en fait ainsi une solution complète pour l'extraction de texte de qualité.
Optimisé pour la reconnaissance optique de caractères à haute vitesse et à faible consommation de ressources, IronOCR garantit l'évolutivité pour le traitement de gros volumes de documents - la priorité de toute application d'entreprise.
IronOCR offre un support commercial, ce qui se traduit positivement par une augmentation des mises à jour et des corrections de bogues ainsi qu'une assistance dédiée à long terme, offrant ainsi une assurance de fiabilité à long terme et des avancées récentes dans l'OCR, absentes chez les concurrents open source comme Tesseract et EasyOCR.
Parmi les bibliothèques OCR les plus critiques, la meilleure est sans conteste IronOCR pour sa précision supérieure et sa facilité d'intégration, sans oublier d'autres fonctionnalités comme le prétraitement de l'image et la création d'un PDF consultable. Il peut gérer des mises en page complexes et des images plus bruyantes avec précision tout en maintenant la structure du document intacte, et il prend en charge plusieurs langues dès le départ, par rapport à des solutions open-source comme Tesseract et EasyOCR.
Les outils inclus et l'intégration transparente avec .NET et Python garantissent que cet ensemble tout-en-un est destiné aux développeurs qui souhaitent intégrer une OCR de haute qualité dans tout type de projet. Sa bonne performance à elle seule, sa scalabilité et son support commercial le positionnent également bien pour certains projets de numérisation de documents à petite et grande échelle, en faisant ainsi le choix ultime pour une reconnaissance de texte fiable et efficace.
Pour en savoir plus sur IronOCR et son fonctionnement, vous pouvez visiter ce sitepage de documentation, où IronOCR propose un essai gratuit. Pour en savoir plus sur les produits Iron Software, consultezpage de suite de bibliothèque.
10 produits API .NET pour vos documents de bureau