Featured image of post Comment utiliser Tesseract pour extraire du texte à partir d'images

Comment utiliser Tesseract pour extraire du texte à partir d'images

Introduction à Tesseract

Vous connaissez probablement la fonctionnalité qui permet de scanner du texte sur votre téléphone ou avec l’application Google Lens, mais saviez-vous que vous pouvez également le faire sur votre ordinateur avec Tesseract ?

Tesseract est un outil de reconnaissance de caractères qui permet de convertir du texte contenu dans des images en texte brut. Cet outil est particulièrement utile pour extraire du texte à partir d’images de documents scannés ou de captures d’écran.

Installation

Vous pouvez utiliser la commande suivante pour installer Tesseract et les bibliothèques de développement associées :

1sudo apt install tesseract-ocr tesseract-ocr-fra libtesseract-dev

Installez également les bibliothèques Python nécessaires en utilisant la commande suivante :

1pip3 install pytesseract opencv-python

Extraire du texte à partir d’une image

Une fois Tesseract installée, vous pouvez commencer à extraire du texte à partir d’images. Voici un exemple de code Python qui montre comment faire :

 1import sys, pytesseract, cv2
 2
 3# Récupérer le nom de l'image depuis la ligne de commande
 4image_name = sys.argv[1]
 5
 6# Charger l'image en utilisant cv2
 7image = cv2.imread(image_name)
 8
 9# Convertir l'image en niveaux de gris
10gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
11
12# Extraire le texte de l'image
13text = pytesseract.image_to_string(gray)
14
15# Exporter le texte extrait dans un fichier results.txt
16with open('results.txt', 'w') as f:
17  f.write(text)

Pour utiliser ce script, vous devez l’appeler avec le nom de l’image en argument de la ligne de commande, comme ceci:

1python3 main.py image.png

Améliorer la qualité des résultats

Il existe plusieurs moyens d’améliorer la qualité des résultats obtenus avec Tesseract. Voici quelques astuces que vous pouvez essayer :

  1. Utilisez le moteur LSTM de Google

Le moteur LSTM (Long Short-Term Memory) de Google est un moteur de reconnaissance de caractères avancé qui peut améliorer la qualité des résultats obtenus avec Tesseract. Pour l’utiliser, ajoutez les options suivantes à votre code Python :

1# Configurez pytesseract pour utiliser le moteur LSTM de Google et le mode de page pour les colonnes de texte
2config = ('--oem 1 --psm 6')
3
4# Extraire le texte de l'image
5text = pytesseract.image_to_string(gray, config=config)
  1. Optimiser la reconnaissance de caractères en spécifiant la langue

Il est également possible d’optimiser la reconnaissance de caractères en spécifiant la langue de l’image. Par exemple, si vous travaillez avec du texte en français, vous pouvez spécifier la langue en utilisant le code suivant :

1config = ('-l fra')

Enfin, il est important de noter que la qualité des résultats dépend en grande partie de la qualité de l’image d’origine. Pour obtenir les meilleurs résultats, assurez-vous que l’image est nette et de bonne qualité.

[ SOURCE ]

Licensed under CC BY-NC-SA 4.0
Généré avec Hugo
Thème Stack conçu par Jimmy