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 :
- 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)
- 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 ]