XSane2Tess : ou comment marier Tesseract et XSane.

Il y a plus d’un an, je parlais du logiciel « gImageReader », bien pratique pour avoir une interface « sociale » pour l’outil d’OCR Tesseract.

Cependant, le logiciel est depuis quelques temps au point mort (la dernière modification datant d’août dernier).

Et comme je suis le mainteneur du paquet sur AUR, j’ai reçu récemment un message m’informant que le logiciel ne se lançait plus du tout.

Could not load GTK modules: /usr/lib/python2.7/site-packages/poppler.so: undefined symbol: poppler_page_render_to_pixbuf_for_printing

Après quelques recherches, le bug se trouvant lié à poppler, j’ai rapporté l’information au développeur de gImageReader pour qu’un correctif soit appliqué.

Cependant, ayant parfois besoin de récupérer des textes via l’OCR (et tesseract effectuant un travail extraordinaire dans ce domaine), j’ai décidé d’adopter le paquet xsane2tess tout en le mettant à jour.

XSane2tess, c’est un petit script qui est bien pratique, et dont un guide bien pratique se trouve sur la documentation d’ubuntu-fr.

Voici les réglages à appliquer pour utiliser xsane2tess. Les captures d’écran qui suivent sont basées sur XSane 0.998.

Première étape, après avoir installé le paquet et lancé Xsane, on va dans Préférences / Configuration / OCR.

Et dans la ligne « Commande OCR », on insère :


xsane2tess -l fra

xsane2tess 01

fra étant pour le français, eng pour l’anglais, deu pour l’allemand, etc… La liste des langues supportées se trouve dans /usr/share/tessdata/.

On ferme le panneau de configuration. Ensuite, pour lancer une OCR, on choisit les options suivante : pour le type, on choisit « TEXT », on prend une numérisation en « gris » et pour la résolution, on choisit 300.

xsane2tess 02

Ensuite, on acquiert l’aperçu, on sélectionne la partie à travailler, et on clique sur Numériser. Le résultat est disponible dans le nom du fichier indiqué à coté de l’icone en forme de disquette.

C’est moins « facile » qu’avec gImageReader, mais au moins, cela fonctionne encore 😉

gImageReader : une interface légère pour Tesseract.

Il est parfois utile d’avoir un outil d’OCR. Il existe le très bon et très puissant moteur tesseract.

Cependant, toute sa puissance est exploitable uniquement en ligne de commande :(. Il y a bien un outil comme gscan2pdf, mais il demande un nombre assez important de dépendances lié à Perl.

Même si à une époque lointaine, je l’avais encensé 🙂

En faisant quelques recherches, je suis tombé sur gImageReader, un outil en python, n’ayant que peu de dépendances, en dehors de python et de tesseract :

imagemagick pycairo pygtk python-gtkspell

En m’inspirant de PKGBUILDs déjà existants pour contourner un problème de compilation, j’ai créé un paquet disponible sur AUR : gimagereader.

Le seul hic, c’est qu’il faut définir le chemin pour accéder aux dictionnaires de tesseract. Sur mon archlinux, ces derniers sont à l’endroit suivant :

/usr/share/tessdata

Configuration de gImageReader 0.6

Bien que ce ne soit qu’une version 0.6, l’interaction avec le moteur de tesseract est simple et le résultat (pour peu qu’on ait une image numérisée de qualité – minimum 300 ppp) donne de très bons résultats.

gImageReader 0.6 en action

Un bug cosmétique, c’est que le logiciel ne semble pas apprécier un système en UTF-8 🙂

En tout cas, c’est un logiciel sympa, le genre d’outil dont on a besoin de temps à autres et dont on est content d’avoir sous la souris 😉

Petit message pour Devil505 : libre à toi de t’inspirer de mon PKGBUILD pour faire un Frugalbuild 😉

Vous pouvez surfer l’esprit libre, il n’y a ni trackeurs ni cookies sur ce site. Plus d’informations

Les paramètres des cookies sur ce site sont définis sur « accepter les cookies » pour vous offrir la meilleure expérience de navigation possible. Si vous continuez à utiliser ce site sans changer vos paramètres de cookies ou si vous cliquez sur "Accepter" ci-dessous, vous consentez à cela.

Fermer