Aller au contenu principal

Tesseract OCR

Soumis par lulu le ven 24/03/2023 - 10:18

 

Tesseract OCR est un logiciel d'OCR gratuit et open source disponible pour Linux. Sponsorisé par Google et maintenu par de nombreux volontaires, il s'agit probablement de la suite OCR la plus complète disponible sur le marché, qui peut même battre certaines solutions propriétaires payantes. Elle fournit des outils en ligne de commande ainsi qu'une API que vous pouvez intégrer dans vos propres programmes. Elle peut détecter du texte dans de nombreuses langues avec une bonne précision. Il est livré avec un ensemble de données pré-entraînées qui peuvent être utilisées pour identifier et extraire du texte. Vous pouvez également utiliser vos propres données entraînées si vous avez besoin d'une solution personnalisée ou vous pouvez obtenir davantage de modèles auprès de tiers. Tesseract OCR est livré avec plusieurs moteurs de détection et vous pouvez les utiliser en fonction de vos besoins selon la méthode d'installation.

Pour installer Tesseract OCR dans Ubuntu, utilisez la commande spécifiée ci-dessous :

# Installer l'application   
$ sudo apt install tesseract-ocr   

# Installer la langue française   
# 'eng' pour l'anglais
# 'fra' pour le français
# 'deu' pour l'allemand
# 'ita' pour l'italien
$ sudo apt install tesseract-ocr-fra

Vous pouvez l'installer dans d'autres distributions Linux à partir des dépôts par défaut via le gestionnaire de paquets. Un fichier AppImage universel et plus d'instructions d'installation sont disponibles ici. Tesseract OCR est disponible sur github : https://github.com/tesseract-ocr/tesseract

Tesseract OCR est livré avec un support pour la détection de contenu en langue anglaise par défaut. Si vous souhaitez activer d'autres langues, vous devrez peut-être télécharger d'autres packs de langue. Le lien donné ci-dessus contient des instructions pour l'installation de packs de langues supplémentaires. Dans Ubuntu, vous pouvez trouver directement les paquets de langue en exécutant la commande ci-dessous :

$ apt-cache search tesseract-ocr-

La commande ci-dessus affichera les noms des paquets pour les différents packs de langue. Il suffit de les installer en exécutant une commande au format suivant :

$ sudo apt install <package-langue>

Vous pouvez obtenir une liste de tous les packs de langue installés en exécutant la commande ci-dessous :

$ tesseract --list-langs

Avec Ubuntu 22.04, les fichiers de langues sont installés dans le répertoire /usr/share/tesseract-ocr/4.00/tessdata/ (4.00 correspondant au numéro de version de Tesseract) :

$ ls -al /usr/share/tesseract-ocr/4.00/tessdata/

  -rw-r--r-- 1 root root  1525436 sept. 15  2017 deu.traineddata
  -rw-r--r-- 1 root root  4113088 sept. 15  2017 eng.traineddata
  -rw-r--r-- 1 root root  1130365 sept. 15  2017 fra.traineddata
  -rw-r--r-- 1 root root  2701314 sept. 15  2017 ita.traineddata
 

Il est utile de configurer la variable d'environnement TESSDATA_PREFIX pour qu'elle pointe vers le répertoire contenant les packs de langues :

$ vi ~/.bashrc

export TESSDATA_PREFIX="/usr/share/tesseract-ocr/4.00/tessdata"

Une fois que le paquet principal de l'OCR Tesseract et les paquets de langue supplémentaires ont été installés, vous pouvez commencer à détecter le texte des images et des fichiers PDF. Pour extraire le texte, utilisez les commandes aux formats suivants :

# 'fra' au lieu de 'eng' pour le français   
$ tesseract image.png output -l eng    

$ tesseract image.png output -l eng+spa  

$ tesseract image.png output -l eng pdf

La première commande va extraire le texte du fichier "image.png" en langue "eng" et le stocker dans un fichier appelé "output". La deuxième commande analysera l'image en utilisant plusieurs packs de langues. La troisième commande peut être utilisée pour créer un fichier PDF avec une couche de texte superposée au fichier image.

Et pour extraire le texte d'un ensemble de fichiers image :

for myFile in *.jpg   
do     
   tesseract "$myFile" "$(basename "$myFile").txt" -l fra ;   
done

Pour plus d'informations sur l'utilisation de la ligne de commande de Tesseract OCR, utilisez les deux commandes suivantes :

$ tesseract --help  

$ man tesseract