Passer au contenu du pied de page
OUTILS OCR

Comment construire un OCR en Python

Le monde regorge d'informations textuelles. Il existe une multitude de contenus précieux qui pourraient être extrêmement utiles s'ils étaient un peu plus accessibles.

C'est là qu'intervient la technologie de reconnaissance optique de caractères (OCR). Imaginez un ordinateur capable de " lire " du texte à partir d'images, tout comme un humain ; il s'agit là de la vision par ordinateur, une branche de l'informatique où l'on entraîne les ordinateurs à reconnaître et identifier différents sujets dans une image.

Dans ce tutoriel, nous vous guiderons tout au long du processus de création de votre propre système OCR en utilisant Python, un langage de programmation reconnu pour sa simplicité et sa polyvalence. Grâce à des bibliothèques comme Tesseract, IronOCR et OpenCV, vous pourrez bientôt exploiter tout le potentiel d'extraction, de manipulation et de traitement du texte à partir d'images de documents.

Prérequis du moteur OCR (reconnaissance optique de caractères)

Avant de nous plonger dans les détails de la construction de notre système OCR, voici quelques éléments dont vous aurez besoin :

  1. Python : assurez-vous d'avoir Python installé sur votre ordinateur. Vous pouvez le télécharger depuis le site web officiel de Python .
  2. Installez Tesseract OCR : Tesseract OCR est un moteur OCR open-source développé par Google. C'est un outil puissant que nous utiliserons dans notre projet. Vous pouvez télécharger la bibliothèque Tesseract depuis GitHub et consulter la procédure d'installation de Tesseract OCR.
  3. Bibliothèques Python : Nous utiliserons deux bibliothèques Python importantes pour ce projet : pytesseract et la bibliothèque opencv-python . Vous pouvez les installer en utilisant la commande suivante dans votre invite de commandes ou votre terminal :

    pip install pytesseract opencv-python
    pip install pytesseract opencv-python
    SHELL

Comment créer un système OCR en Python : Figure 1

Étapes de la construction du système OCR

Vous pouvez facilement créer un système OCR en utilisant du code Python grâce aux bibliothèques OCR Python et à un simple script Python.

Étape 1 : Importer les bibliothèques

Avant toute chose, vous devrez importer les bibliothèques nécessaires :

import cv2  # OpenCV library for computer vision
import pytesseract  # Tesseract library for OCR
import cv2  # OpenCV library for computer vision
import pytesseract  # Tesseract library for OCR
PYTHON

Étape 2 : Lire et traiter une image

Chargez l'image à l'aide d'OpenCV et prétraitez-la pour améliorer la précision de la reconnaissance optique de caractères (OCR) :

# Load the image using OpenCV
image = cv2.imread('sample_image.png') 

# Convert the image to grayscale
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 

# Apply thresholding or other preprocessing techniques if needed
# This step helps in enhancing the quality for better OCR results
# Load the image using OpenCV
image = cv2.imread('sample_image.png') 

# Convert the image to grayscale
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 

# Apply thresholding or other preprocessing techniques if needed
# This step helps in enhancing the quality for better OCR results
PYTHON

Étape 3 : Utiliser Tesseract pour la reconnaissance optique de caractères (OCR)

Il est maintenant temps d'utiliser le moteur OCR Tesseract pour effectuer la reconnaissance optique de caractères (OCR) sur l'image traitée :

# Set the path to the Tesseract executable
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files (x86)\Tesseract-OCR\tesseract.exe'

# Use pytesseract to perform OCR on the grayscale image
text = pytesseract.image_to_string(gray_image)
# Set the path to the Tesseract executable
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files (x86)\Tesseract-OCR\tesseract.exe'

# Use pytesseract to perform OCR on the grayscale image
text = pytesseract.image_to_string(gray_image)
PYTHON

Étape 4 : Afficher les résultats

Si vous souhaitez visualiser l'image originale et le texte extrait, vous pouvez utiliser OpenCV pour les afficher :

# Display the original image using OpenCV
cv2.imshow('Original Image', image) 
cv2.waitKey(0) 

# Print the extracted text to the console
print("Extracted Text:", text) 

cv2.destroyAllWindows()  # Close the OpenCV window
# Display the original image using OpenCV
cv2.imshow('Original Image', image) 
cv2.waitKey(0) 

# Print the extracted text to the console
print("Extracted Text:", text) 

cv2.destroyAllWindows()  # Close the OpenCV window
PYTHON

Image originale

Comment créer un système OCR en Python : Figure 2

Texte extrait

Comment créer un système OCR en Python : Figure 3

Comme vous pouvez le constater, le résultat peut varier en fonction de la qualité et de la complexité de l'image, et dans certains cas, un entraînement supplémentaire (semblable à l'apprentissage automatique) peut être nécessaire pour les images présentant des structures complexes, comme celles contenant des tableaux.

IronOCR

Dans un monde inondé de données, la capacité de convertir sans effort un texte imprimé en contenu lisible par machine est une capacité transformatrice.

Découvrez IronOCR – une technologie de pointe qui permet aux développeurs d'intégrer facilement des fonctionnalités robustes de reconnaissance optique de caractères (OCR) dans leurs applications.

Que vous extrayiez des données de documents numérisés, automatisiez la saisie de données ou amélioriez l'accessibilité, IronOCR offre une solution complète qui transcende les limites de la reconnaissance de texte traditionnelle.

Dans cette exploration, nous plongeons dans l'univers d'IronOCR, découvrant ses fonctionnalités polyvalentes et soulignant son potentiel pour combler le fossé entre les mondes physique et numérique.

Installation d'IronOCR

Vous pouvez facilement installer IronOCR à l'aide de la console du gestionnaire de packages NuGet, en exécutant simplement la commande suivante.

Install-Package IronOcr

IronOCR est également disponible en téléchargement sur le site Web officiel de NuGet .

Extraction de texte à partir d'une image à l'aide d'IronOCR

Dans cette section, nous verrons comment extraire facilement du texte à partir d'images grâce à IronOCR. Ci-dessous figure le code source qui extrait le texte de l'image.

using IronOcr;
using System;

var ocr = new IronTesseract();

using (var input = new OcrInput())
{
    input.AddImage("r3.png");
    OcrResult result = ocr.Read(input);
    string text = result.Text;
    Console.WriteLine(result.Text);
}
using IronOcr;
using System;

var ocr = new IronTesseract();

using (var input = new OcrInput())
{
    input.AddImage("r3.png");
    OcrResult result = ocr.Read(input);
    string text = result.Text;
    Console.WriteLine(result.Text);
}
$vbLabelText   $csharpLabel

Sortie

Comment créer un système OCR en Python : Figure 4

Conclusion

Dans ce tutoriel, nous avons exploré le processus de construction d'un système de reconnaissance optique de caractères (OCR) en Python, révélant la capacité d'extraire du texte à partir d'images avec une facilité remarquable.

En tirant parti de bibliothèques comme Tesseract et OpenCV, nous avons franchi les étapes essentielles, du chargement et du prétraitement des images à l'utilisation du moteur OCR Tesseract pour l'extraction de texte.

Nous avons également abordé les défis potentiels tels que les limitations de précision, que des solutions avancées comme IronOCR visent à résoudre.

Que vous optiez pour une solution artisanale ou que vous adoptiez des outils sophistiqués, le monde de la reconnaissance optique de caractères (OCR) vous promet de transformer les images en texte exploitable, de rationaliser la saisie des données et d'améliorer l'accessibilité. Grâce à ces nouvelles connaissances, vous êtes prêt à entreprendre un voyage qui fusionne harmonieusement les mondes visuel et numérique.

Pour commencer à utiliser IronOCR, veuillez consulter le lien suivant. Pour consulter le tutoriel complet sur l'extraction de texte à partir d'images, cliquez ici .

Si vous souhaitez essayer IronOCR gratuitement dès aujourd'hui, assurez-vous de vous inscrire à l' essai proposé par IronOCR pour explorer toutes ses utilisations et son potentiel dans un environnement commercial sans filigrane. Pour continuer à l'utiliser une fois les 15 jours écoulés, il suffit d'acheter une licence .

Kannaopat Udonpant
Ingénieur logiciel
Avant de devenir ingénieur logiciel, Kannapat a obtenu un doctorat en ressources environnementales à l'université d'Hokkaido au Japon. Pendant qu'il poursuivait son diplôme, Kannapat est également devenu membre du laboratoire de robotique de véhicules, qui fait partie du département de bioproduction. En 2022, il a utilisé ses compé...
Lire la suite