Dominique Meeùs
Dernière modification le   
retour à la table des matières — à l’index — à ma page de départ

Tesseract en ligne de commande

Pour reconnaître une page d’un livre en français, disons image.tiff, on commande

tesseract image.tiff textedelimage -l fra

(où bien sûr -l fra veut dire langue : français — je suppose qu’on a les fichiers de données de langue pour le français) et ça donne en trois secondes le fichier textedelimage.txt du texte d’image.tiff sans une seule faute. (Enfin, pour les textes de bonne qualité et si les lignes sont bien horizontales sur le scanner. Sinon voir Deskew à propos de xSane.) Qu’on se le dise, maintenant sous Linux il y a un vrai grand OCR gratuit mais de qualité professionnelle, à l’égal des plus chers !

Attention à la langue : une option -l avec une autre langue donne une moins bonne reconnaissance ; avec une langue inexistante, ça ne donne rien, sans message d’erreur, et on ne comprend pas ce qui ne va pas. Des codes de langue comme eng ou fra sont assez évidents. Il m’arrive aussi de faire de la reconnaissance en néerlandais et de m’arracher les cheveux parce que ça ne marche pas, mais c’est parce que j’ai écrit ndl au lieu de nld.

Pour les Tesseract jusqu’à la version 2, les conditions étaient strictes. On devait scanner :

La sortie de Tesseract est par défaut un fichier texte. C’est toujours le programme qui ajoute l’extension de la sortie. Avec la commande

tesseract image.png article -l fra

on obtient obtient le texte (supposé en français) article.txt. Si on préfère une sortie hOCR, on doit commander

tesseract image.png article -l fra hocr

Le fichier de sortie est maintenant article.hocr, un fichier XHTML qui présente l’avantage de la suppression (plus ou moins réussie) des retours de chariot fixes du fichier article.txt. (Cependant, cela ne supprime pas les éventuels traits de césure présents dans l’image de texte image.png. Cette prouesse intéressante est réalisée aussi par OCRFeeder.) Les fichiers hOCR s’ouvrent dans les browsers si on veut lire le texte. Ils servent surtout à positionner le texte dans les DjVu et les PDF.

Si on veut directement un PDF, texte inclus, on doit commander

tesseract image.png article -l fra pdf

En entrée, Tesseract n’accepte que des images, pas du PDF. J’ai pu reconnaître cependant par Tesseract un PDF pure image en le convertissant en image avec GhostScript ou avec Imagemagick. Par Imagemagick (qui fournit la commande convert), j’ai fait : convert -density 300 mijnPDF.pdf" -depth 8 mijnPDF.png, ce qui a permis ensuite d’en tirer le texte : tesseract mijnPDF.png mijnPDF -l nld. Mais il y a maintenant divers programmes gérant Tesseract qui acceptent le PDF en entrée.

On peut combiner la reconnaissance de caractère et la saisie par le scanner en interfaçant xSane et xsane2tess.pl. Divers autres logiciels proposent aussi de combiner scan et OCR.

Dominique Meeùs . Date: 2011… 2016