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 😉

En vrac’ rapide et libre avant le week-end.

Comme le week-end approche, un petit en vrac’ se justifie.

C’est tout pour aujourd’hui. Bon week-end

Dommage que Pino sente le sapin…

Mis à part le jeu de mots raté, et bien que je n’aime pas trop gwibber, il est désormais obligatoire de passer à sa version 2.31.91 pour accéder à Twitter. En effet, le service demande désormais une authentification.

Voila ce que cela donne :

autorisation pour utiliser gwibber avec Twitter

Quand à Pino, difficile de rester optimiste, lorsque l’on sait que la dernière modification du code source date du 3 juillet, et que celui-ci ne compile pas avec des versions récentes de vala…

Petite astuce pour Xorg-Server 1.9 et les pilotes propriétaires nVidia

La version 1.9 de Xorg-Server vient d’être rendu disponible sur Archlinux. Si on utilise le pilote propriétaie nVidia, il peut y avoir un problème de lancement de Xorg.

En me basant sur des infos trouvé sur le paquet AUR xorg-server-dev, il faut rajouter le fichier 10-ServerFlags.conf dans /etc/X11/xorg.conf.d/ avec le contenu suivant :

Section « ServerFlags »
Option « IgnoreABI » « True »
EndSection

Et normalement, après la mise à jour de Xorg-server en version 1.9, aucun problème 😉

v8 ou Nitro… Lequel des deux est le plus rapide et le plus respectueux de JavaScript et de ses normes ?

Dans un article récent, je parlais du progrès fait par la pré-beta5 de Mozilla Firefox 4.0, alias Minefield.

J’ai voulu voir où en était les deux autres grands noms des moteurs de rendu du logiciel libre, à savoir Chromium (et son moteur de Javascript v8), et Webkit (et son moteur de Javascript Nitro).

J’ai donc fait compilé les deux via AUR, aussi bien pour chromium-browser-svn et webkitgtk-svn. En sachant que pour le second, je ne l’ai pas installé, histoire d’éviter des conflits avec les logiciels de ma machine.

La compilation du code source de Chromium demande pas mal d’espace… 4,5 Go environ…


[fred@fredo-arch chromium-browser-svn]$ pwd
/home/fred/download/chromium-browser-svn
[fred@fredo-arch chromium-browser-svn]$ du -sh src/
4,5G src/

Webkit est quant à lui, largement moins gourmand : à peine 720 Mo.


[fred@fredo-arch webkitgtk-svn]$ pwd
/home/fred/download/webkitgtk-svn
[fred@fredo-arch webkitgtk-svn]$ du -sh src/
722M src/

Une fois les deux logiciels compilés, j’ai utilisé v8 benchmark, sputnik (pour vérifier le niveau de compatibilité avec les normes définies du langage javascript), et html5test, pour finir, histoire de voir le niveau d’avancement de ce nouveau standard du langage html.

Chromium, qui se définit comme une version 7.0.501 (7ième version, déjà, en l’espace de quoi, deux ans ?), explose largement le score au niveau du Javascript… 4961 points, soit 4,45 fois plus rapide que Mozilla Firefox 4.0b5pre… Autant dire que la Fondation Mozilla a de la marge.

Score de v8 avec Chromium

Coté respect des normes javascript, le score est plutôt bon : 5109/5246, soit un niveau de respect de… 97,38%.

Score de Sputnik avec Chromium

Enfin, en ce qui concerne html5test, Chromium fait mieux que Mozilla Firefox, avec un score de 222 points et 10 points de bonus.

Score de html5test avec Chromium

En ce qui concerne Webkit, j’ai utilisé l’outil GtkLauncher, qui offre une interface basique pour Webkit.

[fred@fredo-arch Programs]$ pwd
/homefred/download/webkitgtk-svn/src/webkit-build/Programs
[fred@fredo-arch Programs]$ ./GtkLauncher &

Le score du moteur de Javascript bien que moindre que celui de v8 reste honorable : 2984 points au benchmark v8, soit 2,67 fois le score de Mozilla Firefox 4.0b5pre. On comprend pourquoi la Fondation Mozilla veut intégrer Nitro dans son code source 😉

Score de v8 avec Webkit

Coté sputnik, le score est vraiment bon : 5069/5246, soit un niveau de respect de 96,62%

Score de Sputnik avec Webkit

Enfin, en ce qui concerne html5, le score est inférieur à celui de Mozilla Firefox et de Chromium, avec seulement 195 points et 12 points de bonus.

Score de html5test avec Webkit

J’allais oublier, le score de Mozilla Firefox 4.0b5pre pour sputnik : 4978/5246, soit un niveau de respect de 94,89%

Score de Sputnik avec Mozilla Firefox 4.0b5pre

Mis à part la vitesse d’exécution, le respect du html5 et des normes javascript sont une marque de fabrique de moteurs de rendu libre. Les moteurs de rendus non-libre ? Je ne saurais dire, je ne les utilise pas 😉