OCR

Installation de Tesseract OCR sous Linux

Installation de Tesseract OCR sous Linux
Tesseract OCR (Optical Character Recognition) est un moteur et un programme de ligne de commande gratuits et open source permettant d'extraire du texte à partir d'images à l'aide de la technologie et d'algorithmes de reconnaissance optique de caractères. Le projet est soutenu par Google et à ce jour, il est considéré comme le meilleur moteur OCR open source disponible. Il peut détecter et extraire du texte dans de nombreuses langues avec une grande précision.

Installation de Tesseract OCR sous Linux

Tesseract OCR est disponible par défaut sur la plupart des distributions Linux. Vous pouvez l'installer dans Ubuntu en utilisant la commande ci-dessous :

$ sudo apt installer tesseract-ocr

Des instructions détaillées pour d'autres distributions sont disponibles ici. Même si Tesseract OCR est disponible par défaut dans les référentiels de nombreuses distributions Linux, il est recommandé d'installer la dernière version à partir du lien mentionné ci-dessus pour une meilleure précision et une meilleure analyse.

Installation de la prise en charge de langues supplémentaires dans Tesseract OCR

Tesseract OCR inclut la prise en charge de la détection de texte dans plus de 100 langues. Cependant, vous ne bénéficiez d'une assistance pour la détection de texte en anglais qu'avec l'installation par défaut dans Ubuntu. Pour ajouter la prise en charge de l'analyse de langues supplémentaires dans Ubuntu, exécutez une commande au format suivant :

$ sudo apt installer tesseract-ocr-hin

La commande ci-dessus ajoutera la prise en charge de la langue hindi à Tesseract OCR. Parfois, vous pouvez obtenir une meilleure précision et de meilleurs résultats en installant la prise en charge des scripts de langue. Par exemple, l'installation et l'utilisation du package tesseract pour le script Devanagari « tesseract-ocr-script-deva » m'ont donné des résultats beaucoup plus précis que l'utilisation du package « tesseract-ocr-hin ».

Dans Ubuntu, vous pouvez trouver les noms de packages corrects pour toutes les langues et tous les scripts en exécutant la commande ci-dessous :

$ apt-cache recherche tesseract-

Une fois que vous avez identifié le bon nom de package à installer, remplacez la chaîne « tesseract-ocr-hin » par celui-ci dans la première commande spécifiée ci-dessus.

Utilisation de Tesseract OCR pour extraire du texte à partir d'images

Prenons l'exemple d'une image ci-dessous (tirée de la page Wikipedia pour Linux) :

Pour extraire le texte de l'image ci-dessus, vous devez exécuter une commande au format suivant :

$ capture tesseract.sortie png -l eng

L'exécution de la commande ci-dessus donne le résultat suivant :

Dans la commande ci-dessus, "capturer.png” fait référence à l'image dont vous souhaitez extraire le texte. La sortie capturée est ensuite stockée dans la « sortie.txt" fichier. Vous pouvez changer la langue en remplaçant l'argument "eng" par votre propre choix. Pour voir toutes les langues valides, exécutez la commande ci-dessous :

$ tesseract --list-langs

Il affichera les codes d'abréviation pour toutes les langues prises en charge par Tesseract OCR sur votre système. Par défaut, il n'affichera que "eng" en sortie. Cependant, si vous installez des packages pour des langues supplémentaires comme expliqué ci-dessus, cette commande répertorie plus de langues que vous pouvez utiliser pour détecter le texte (en tant que codes de langue ISO 639 à 3 lettres).

Si l'image contient du texte dans plusieurs langues, définissez d'abord la langue principale, suivie des langues supplémentaires séparées par des signes plus.

$ capture tesseract.sortie png -l eng+fra

Si vous souhaitez stocker la sortie sous forme de fichier PDF interrogeable, exécutez une commande au format suivant :

$ capture tesseract.sortie png -l eng pdf

Notez que le fichier PDF interrogeable ne contiendra aucun texte modifiable. Il comprend l'image originale, avec un calque supplémentaire contenant le texte reconnu superposé à l'image. Ainsi, même si vous pourrez rechercher avec précision du texte dans le fichier PDF à l'aide de n'importe quel lecteur PDF, vous ne pourrez pas modifier le texte.

Autre point à noter que la précision de la détection de texte augmente considérablement si le fichier image est de haute qualité. Si vous avez le choix, utilisez toujours des formats de fichiers sans perte ou des fichiers PNG. L'utilisation de fichiers JPG peut ne pas donner les meilleurs résultats.

Extraction de texte à partir d'un fichier PDF de plusieurs pages

Tesseract OCR ne prend pas en charge nativement l'extraction de texte à partir de fichiers PDF. Cependant, il est possible d'extraire du texte d'un fichier PDF de plusieurs pages en convertissant chaque page en un fichier image. Exécutez la commande ci-dessous pour convertir un fichier PDF en un ensemble d'images :

$ pdftoppm -fichier png.sortie pdf

Pour chaque page du fichier PDF, vous obtiendrez un "output-1" correspondant.png", "sortie-2.png", et ainsi de suite.

Maintenant, pour extraire du texte de ces images en utilisant une seule commande, vous devrez utiliser une « boucle for » dans une commande bash :

$ pour i dans *.png; do tesseract "$i" "output-$i" -l eng; Fini;

L'exécution de la commande ci-dessus extraira le texte de tous les ".png" trouvés dans le répertoire de travail et stockez le texte reconnu dans "output-original_filename.txt" fichiers. Vous pouvez modifier la partie centrale de la commande selon vos besoins.

Si vous souhaitez combiner tous les fichiers texte contenant le texte reconnu, exécutez la commande ci-dessous :

$ chat *.txt > rejoint.SMS

Le processus d'extraction de texte d'un fichier PDF de plusieurs pages dans des fichiers PDF interrogeables est presque le même. Vous devez fournir un argument « pdf » supplémentaire à la commande :

$ pour i dans *.png; do tesseract "$i" "output-$i" -l eng pdf; Fini;

Si vous souhaitez combiner tous les fichiers PDF interrogeables contenant le texte reconnu, exécutez la commande ci-dessous :

$ pdfunir *.pdf joint.pdf

"pdftoppm" et "pdfunite" sont installés par défaut sur la dernière version stable d'Ubuntu.

Avantages et inconvénients de l'extraction de texte dans des fichiers TXT et PDF interrogeables

Si vous extrayez du texte reconnu dans des fichiers TXT, vous obtiendrez une sortie de texte modifiable. Cependant, tout formatage de document sera perdu (caractères gras, italiques, etc.). Les fichiers PDF interrogeables conserveront le formatage d'origine, mais vous perdrez les capacités d'édition de texte (vous pouvez toujours copier du texte brut). Si vous ouvrez le fichier PDF interrogeable dans n'importe quel éditeur PDF, vous obtiendrez des images intégrées dans le fichier et non une sortie de texte brut. La conversion des fichiers PDF interrogeables en HTML ou EPUB vous donnera également des images intégrées.

Conclusion

Tesseract OCR est l'un des moteurs OCR les plus utilisés aujourd'hui. C'est un logiciel libre, open-source et prend en charge plus d'une centaine de langues. Lorsque vous utilisez Tesseract OCR, assurez-vous d'utiliser des images haute résolution et des codes de langue corrects dans les arguments de ligne de commande pour améliorer la précision de la détection de texte.

Tutoriel Bataille pour Wesnoth
The Battle for Wesnoth est l'un des jeux de stratégie open source les plus populaires auxquels vous pouvez jouer en ce moment. Non seulement ce jeu es...
0 A.ré. Didacticiel
Sur les nombreux jeux de stratégie disponibles, 0 A.ré. parvient à se démarquer comme un titre complet et un jeu tactique très profond bien qu'il soit...
Tutoriel Unity3D
Introduction à Unity 3D Unity 3D est un puissant moteur de développement de jeux. C'est une plateforme multiplateforme qui vous permet de créer des je...