Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#326 Le 17/04/2009, à 20:34

Sorbus

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

J'ai essayé ce soir d'installer Ocropus en compilant, comme indiqué ici.

Donc, installation successivement (ça prend pas loin d'une heure) de :
- Tesseract
- iulib
- Leptonica
- OpenFST
- OCRopus

(en fait, j'ai sauté l'installation de Tesseract, puisque déjà installé chez moi)

Hélas, lorsque j'ai voulu faire un premier essai de reconnaissance optique de caractères, j'ai obtenu ceci dans le terminal :

$ ocroscript recognize essai0004.png > essai0004.html
ocroscript: /usr/local/share/ocropus/scripts//recognize.lua:180: cannot open file for reading
$

Il est question de ce problème ici pour quelqu'un qui est sous Mac (ce n'est pas mon cas)... et je ne sais pas quoi faire de la réponse proposée :

For now, you need to set the OCROSCRIPTS and OCRODATA environment variables to the
right paths if they are not in /usr/local/...

Bon... c'était juste une tentative. sad

Hors ligne

#327 Le 16/05/2009, à 09:35

Sorbus

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

Un mois après, j'ai réessayé. Cette fois, je suis sous Ubuntu jaunty. Avec tesseract installé par les dépôts Jaunty.

La fois précédente, j'étais sous Ubuntu intrepid, avec tesseract installé par le deb de b52.

J'ai donc de nouveau suivi la méthode indiquée ici.

Donc, tesseract étant déjà installé, installation successive (ça prend pas loin d'une heure) de :
- iulib
- Leptonica
- OpenFST
- OCRopus

J'ai bloqué sur l'installation d'OCRopus.
"./configure" ne marche pas... ne produit pas de "make"... donc, impossible de lancer "make".

Il y a un mois, j'avais pu aller au bout. Je crois avoir l'explication :
- le tesseract des dépôts Ubuntu est nommé "tesseract-ocr"...
- alors qu'à l'origine (sur Google), tesseract se nomme seulement "tesseract"... et la compilation d'OCRopus, qui nécessite tesseract le cherche sous ce nom.
- donc, ça marche avec le paquet de b52 dans lequel tesseract est nommé "tesseract".

J'ai donc fait une seconde tentative sous Jaunty :
- suppression du tesseract-ocr des dépôts
- installation du tesseract de b52.
- reprise de l'installation d'OCRopus à partir de
./configure
puis
make
puis
sudo make install

Cette fois-ci, make a pu opérer... et sudo make install aussi... mais avec des erreurs affichées dans le terminal.

Résultat final pire que lors de la première expérience :

bash: ocroscript : commande introuvable

Conclusions :

1/ impossible pour l'instant avec cette méthode d'installer OCRopus sous Ubuntu jaunty si tesseract est installé à l'origine avec le tesseract-ocr des dépôts.

2/ impossible pour l'instant avec cette méthode d'installer OCRopus sous Ubuntu jaunty si tesseract est installé a posteriori avec le tesseract de b52.

3/ il est probable que ça ne marche pas non plus si les choses sont faites dans l'ordre en installant en premier tesseract avec le deb de b52... et en installant ensuite iulib et le reste. (c'est ce que j'avais fait il y a un mois)

4/ il reste à essayer cette solution : désinstaller tout tesseract installé par les dépôts ou par le deb de b52... et reprendre intégralement l'installation en commençant par l'installation de tesseract en le compilant, comme indiqué sur la page en question (dans ce cas, si ça marche, je suppose que ça ne marche que pour des texte en anglais... pour les texte en français, il faut en plus installer le paquet français en le compilant aussi (comme indiqué dans la doc Ubuntu sur tesseract)... et pas par les dépôts...).

A tester... plus tard tongue

Dernière modification par Sorbus (Le 16/05/2009, à 09:39)

Hors ligne

#328 Le 16/05/2009, à 10:47

Sorbus

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

C'est testé...


Après avoir désinstallé méthodiquement (un à un) OCRopus, OpenFST, Leptonica et iulib par
make
sudo make uninstall
(et
skons
sudo skons -c install
(pour iulib))

et après avoir désinstallé le tesseract du deb de b52

... j'ai pu installer Ocropus correctement... en suivant à la lettre les indications de cette fameuse page.

J'ai donc pu tester OCRopus sur une page d'une revue scannée avec Xsane au format png.

ficher essai.png placé sur le bureau :

cd ~/Bureau
ocroscript recognize essai.png > essai.html

Une page bien compliquée, avec 4 colonnes en haut, pas toutes de la même largeur, pas toutes de la même hauteur (puisque l'une commence en dessous d'une photo...), avec des titres faisant toute la largeur de la page, avec 3 colonnes en bas... dont un titre dans la seconde colonne qui n'est séparé que par moins de 2 mm de la colonne précédente.
... OCRopus ne s'est presque pas trompé. Tout est reconnu dans l'ordre, à part la seconde colonne du haut (qui ne commence qu'après la photo).

Hélas, la reconnaissance elle-même n'est pas de bonne qualité... mais c'est sans doute parce que je n'ai pas encore installé le français. Je le fais de ce pas et je réédite ce message.

Bon... non, pas mieux.
J'ai l'impression que les fichiers de langues deu, eng, fra, ita, spa et nld sont déjà tous au complet dans le répertoire /usr/local/share/tessdata dès l'installation par défaut de tesseract (compilé).

J'ai quand même fait :

cd /var/tmp
wget http://tesseract-ocr.googlecode.com/files/tesseract-2.00.fra.tar.gz
tar -zxvf tesseract-2.00.fra.tar.gz
cd tessdata
sudo cp * /usr/local/share/tessdata

Mais je pense que ça n'a rien changé, car ces paquets de langue française devaient déjà être installés.

J'ai réessayé de lancer ocroscript sur ma page compliquée. C'est tout aussi bon en ce qui concerne la reconnaissance de la disposition du texte, mais visiblement c'est reconnu comme un texte anglais (pas d'accent... reconnaissance très imparfaite)... il semblerait que pour l'instant, OCRopus n'utilise pas les paquets français pour tesseract... du moins pas avec l'installation telle que je l'ai faite... Mais on n'est pas loin du but.

Petite vérification complémentaire "Xsane + xsane2tess + tesseract" fonctionne toujours parfaitement avec tesseract installé par compilation de cette façon.

J'arrête là cette série de test... pour l'instant. Mais c'est encourageant wink

Dernière modification par Sorbus (Le 16/05/2009, à 12:51)

Hors ligne

#329 Le 16/05/2009, à 16:14

Bushman02

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

Encourageant, en effet... Je ne peux en dire plus, ne me sentant pas assez compétent pour effectuer toutes les manœuvres indiquées sur la "fameuse page" dont tu donnes à nouveau le lien.
Cela dit j'ai un peu l'impression de "sucer les roues", comme on dit en jargon cycliste, puisque j'assiste aux évènements sans participer. J'espère que d'autres, plus techniciens que moi, pourront t'apporter leur aide.
J'arrête là les états d'âme, en attendant de pouvoir me rendre utile.

Hors ligne

#330 Le 16/05/2009, à 19:47

Sorbus

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

Ça viendra...
... quand les choses auront avancé encore un peu, il y aura de quoi tester avec OCRopus...

Pour l'instant, mon principal souci est d'essayer de comprendre pourquoi le français n'est pas reconnu comme tel. Si on en trouve la raison, on pourra trouver de l'aide pour qu'un deb soit réalisé afin de faciliter l'installation d'OCRopus et de toutes ses dépendances.

En attendant, puisqu'il y a une pierre de plus à l'édifice, et pour garder en mémoire cette petite avancée, j'ai réalisée une page OCRopus pour la documentation Ubuntu francophone. Ça permettra à d'autres de tester.

P.S. : mais je vois une nouvelle façon d'installer OCRopus sur le site officiel... adpatée à Ubuntu 9.04, et semble-t-il plus simple. Je teste...

J'ai testé. Il s'agit de la méthode d'installation proposée à cette page (après avoir totalement désinstallé tout ce que j'avais installé par l'autre méthode).
Il y a de longs temps d'attente (jusqu'à près d'une demi-heure) sur ces commandes :

$ hg clone http://mercurial.iupr.org/iulib
$ hg clone http://mercurial.iupr.org/ocropus

... mais ça passe. Il suffit d'être patient.

Mais l'installation avec la nouvelle méthode n'a pas marché à partir de cette partie :

Next, install OCRopus itself:

$ cd ocropus
$ scons
$ sudo scons install

... précisément, dans cette partie, à partir de la commande "scons"... qui n'a pas voulu installer OCRopus.

Je suis donc revenu en arrière pour tout réinstaller comme précédemment... et comme indiqué dans la documentation Ubuntu francophone.

Dernière modification par Sorbus (Le 16/05/2009, à 22:15)

Hors ligne

#331 Le 16/05/2009, à 22:27

Sorbus

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

Bref... j'ai profité des temps d'attente pour me documenter sur la reconnaissance par OCRopus d'autres langues que l'anglais. Et c'est trouvé.

Lors de l'utilisation d'OCRopus, avant de lancer la commande :

cd ~/Bureau
ocroscript recognize essai.png > essai.html

Il faut indiquer l'environnement linguistique à utiliser pour le post-traitement de la ROC... par cette commande :

export tesslanguage=fra

pour le français.

Par défaut, les langues installées avec ce mode d'installation de tesseract par compilation sont deu, eng, fra, ita, nld et spa.

OCRopus utilise par défaut l'anglais... Pour que le post-traitement de la ROC utilise une autre langue, il suffit de passer une commande

export tesslanguage=...

avec le code de la langue voulue, avant de lancer "ocroscript recognize ..."
et c'est bon.

J'ajoute ça dans la doc. Pour la page de test que j'ai utilisée, c'est mieux comme ça pour le français. Il me semble cependant que la ROC est moins bonne que lorsque j'utilise tesseract seul (sur cette page à présentation complexe, pour utiliser tesseract, ça suppose bien sûr de scanner morceau par morceau).

Voilà... j'arrête la cette journée de test.

Hors ligne

#332 Le 18/05/2009, à 09:35

Sorbus

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

Bon... je résume et j'ajoute encore un élément nouveau.

Une page sur l'installation d'OCRopus et sur son utilisation est créée dans la doc Ubuntu francophone :
http://doc.ubuntu-fr.org/ocropus

Elle va cependant rapidement évoluer, car je viens de découvrir que depuis le 11 mai 2009, des paquets deb OCRopus sont disponibles pour Ubuntu karmic.J'ai testé sur mon portable (Ubuntu Intrepid amd64) les deb amd64 de Debian sid (je n'avais pas encore vu les paquets pour Ubuntu karmic), et ça marche très bien.

Cette fois-ci, j'ai une ROC à peu près d'aussi bonne qualité que celle de Tesseract, mais avec la commande :

ocroscript rec-tess essai.png > essai.html

au lieu de :

ocroscript recognize essai.png > essai.html

wink

Donc, ceux qui veulent tester, n'installez pas tout de suite depuis les sources mais plutôt depuis les deb prévus pour Ubuntu karmic.

Autre bonne nouvelle :
A propos de Gscan2pdf :
11 days ago    Jeffrey Ratcliffe    + o … age option

En clair, ocropus est en cours d'intégration dans gscan2pdf... et il est probable que dans une proche version (sans doute la 0.9.30) de cet outil graphique, on puisse réaliser la ROC sur des textes à mise en page complexe. On a de bonnes chances d'avoir une telle version de gscan2pdf dans les dépôts d'Ubuntu karmic.
smile

Dernière modification par Sorbus (Le 18/05/2009, à 14:03)

Hors ligne

#333 Le 18/05/2009, à 13:46

Bushman02

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

Avant d'aller plus loin et pour être sûr de ne pas faire d'erreur :
-- je vérifie que les dépendances données sur la page .deb d'Ubuntu-Karmic sont bien installées,
-- j'installe le paquet .deb Ocropus
... et je peux ensuite faire l'essai  ? C'est ça ?
Merci d'avance !

Hors ligne

#334 Le 18/05/2009, à 14:36

Sorbus

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

Bonjour Bushman02,

Oui. Je viens de désintaller sur mon portable (qui est sous Ubuntu Intrepid) OCRopus que j'avais installé avec les deb pour Debian sid... et j'ai réinstallé avec les deb pour Ubuntu karmic. Ça marche tout aussi bien... et l'installation est rapide.

Mais un petit avertissement d'abord : sous Ubuntu Intrepid ou Jaunty, ces paquets d'installation ne sont pas "officiels"... c'est à dire qu'ils n'ont pas été testés sous toutes les coutures pour Intrepid ou Jaunty. Il peut exister quelques bogues ou incompatibilités avec d'autres logiciels. Ces paquets seront officiels à partir d'Ubuntu Karmic (ils seront alors disponibles dans les dépôts.)

Mais si tu veux tester, en connaissance de cause, comme je l'ai fait :

1/ tu vérifies que les dépendances données sur la page .deb d'Ubuntu-Karmic sont bien installées,
(j'ai vérifié chez moi : elles étaient toutes déjà installées, sauf ocropus-data... Elles sont d'ailleurs toutes disponibles sous Ubuntu Intrepid et Jaunty, donc toutes instalables facilement par apt-get ou Synaptic (ou aptitude), sauf ocropus-data)

2/ une fois vérifié que toutes les dépendances disponibles dans les dépôts sont installées, il faut télécharger celle qui manque : ocropus-data et l'installer par GDebi

3/ ceci fait, il faut télécharger ocropus et l'installer par GDebi.
Si tu as installé Ubuntu en architecture amd64, le deb d'ocropus est ici.
Si tu as installé Ubuntu en architecture i386, le deb d'ocropus est là.

... et puis tester tout ça wink

Dernière modification par Sorbus (Le 18/05/2009, à 14:39)

Hors ligne

#335 Le 18/05/2009, à 20:23

Bushman02

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

Bonsoir Sorbus,
Merci pour tes précisions. J'avais trouvé et installé des deux bons paquets en tenant compte des conseils donnés dans ton post n°332.
--J'ai ensuite repris la liste des dépendances pour faire la même constatation que toi : elles étaient toutes installées, à l'exception d'ocropus-data.
--J'ai bien vérifié que tes liens pointaient vers les paquets que j'avais téléchargés et installés (architecture i386).
-- J'ai scanné avec une résolution de 300 dpi, en gris et en png, un texte avec chapeau et trois colonnes (chapeau en Arial corps 12 et colonnes en Times corps 10 ou 11...). J'ai nommé ce texte "essai" pour être original.
-- J'ai suivi à la lettre les conseils que tu donnes ci-dessus, c'est-à-dire les commandes "export tesslanguage=fr", puis "ocroscript rec-tess essai.png > essai.html".
-- Et j'ai obtenu un texte reconnu aussi bien qu'avec xsane2tess... mais sans que le chapeau et les trois colonnes originelles soient conservés (est-ce possible ? est-ce l'objectif ?).

Résumé : sous Jaunty, installation rapide des paquets et, pour un texte d'aspect courant, très bonne reconnaissance sans conservation de la mise en forme.

Je vais réessayer avec des caractères plus petits, ainsi qu'avec des pages contenant des images.
Je te tiens au courant.

Hors ligne

#336 Le 18/05/2009, à 21:24

Sorbus

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

Et j'ai obtenu un texte reconnu aussi bien qu'avec xsane2tess... mais sans que le chapeau et les trois colonnes originelles soient conservés (est-ce possible ? est-ce l'objectif ?).

Résumé : (...) pour un texte d'aspect courant, très bonne reconnaissance sans conservation de la mise en forme.

Oui. C'est possible et c'est bien l'objectif. Avec Xsane+xsane2tess+tesseract, il faut scanner la page que tu donnes en exemple en 4 fois pour effectuer la ROC. En sélectionnant d'abord le chapeau, puis la première colonne, puis la deuxième, puis la troisième. OCRopus analyse la mise en page pour effectuer la ROC dans l'ordre : chapeau, 1ère colonne, 2ème colonne et 3ème colonne. Il suffit donc de scanner la page une fois.

Le but n'est pas de reconstituer la mise en forme d'origine après avoir effectué la ROC, mais seulement de simplifier le travail lorsque la mise en page est complexe.

Quand OCRopus sera intégré dans des interfaces graphiques comme XSane ou gscan2pdf (comme l'est déjà tesseract), ça sera plus pratique.

Et merci pour les tests wink

Il nous faudra chercher un peu car OCRopus doit pouvoir être utilisé en ligne de commande avec un certain nombre d'options intéressantes. J'ai déniché pour l'instant les commandes essentielles (commande de base et pour la reconnaissance de la langue), mais il y a d'autres choses. Voir dans un terminal ce que raconte :

man ocropus

Quelques commandes sont déjà indiquées, mais faut-il encore en comprendre l'usage... Il y a aussi cette note :

You  can  see a list of all available commands by looking in the $OCROSCRIPTS path

Ce sont les commandes qui correspondent aux noms des scripts qui sont dans /usr/share/ocropus/scripts. J'en vois 17, parmi lesquelles rec-tess... Il y en a 16 autres à découvrir...


C'est sur ce terrain qu'il nous reste à travailler pour préparer le "sortie officielle" d'OCRopus sous Ubuntu 9.10

Dernière modification par Sorbus (Le 18/05/2009, à 21:38)

Hors ligne

#337 Le 18/05/2009, à 21:46

Bushman02

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

Je viens de lire ton message tout frais car j'achevais mes essais de la soirée :
-- une page contenant des images et trois colonnes est bien reconnue ; les images sont seulement remplacées par des lignes de caractères indéchiffrables mais facilement supprimables.
-- deux pages de test pris dans mon livre de référence (voir plus haut au mois d'avril) sont moins bien reconnues que par xsane2tess... mais elles sont bout à bout.
-- les extensions png, jpg et jpeg sont reconnues, pas le tif.

En supplément : un petit script (copié sur un autre servant au son) et auquel j'ai ajouté les deux commandes nécessaires :

#!/bin/bash

pgrep '\ocropus' >/dev/null	# Regarde si un processus ocropus existe.

if [ "$?" = "0" ]; then		# Si un processus ocropus existe alors on le coupe.
	echo -e "Un processus \"ocropus\" est en cours. Kill de \"ocropus\"."
	killall ocropus
else				# Si aucun processus ocropus n'existe alors on le démarre.
	echo -e "Aucun processus \"ocropus\" en cours. Démarrage de \"ocropus\"."
	sleep 1
	export tesslanguage=fra ;
        ocroscript rec-tess *.png > *.html &
fi

-- si on veut reconnaître du jpeg, on remplace "png" par "jpeg"
-- il permet de reconnaître un fichier quel que soit son nom (le fichier de sortie peut être renommé à volonté)
-- il permet de reconnaître les fichiers d'un dossier : j'en ai mis 4, tous contenant des textes avec des colonnes et ça marche.
-- Attention : si on le lance dans un dossier (ou sur le bureau), il reconnaît évidemment tous les fichiers portant l'extension "png" ou "jpeg"...

À améliorer si cela peut être utile : je ne fais que tâtonner dans ce domaine-là comme dans les autres.
Demain ou après-demain j'irai voir dans "man ocropus".
À bientôt.

Hors ligne

#338 Le 19/05/2009, à 01:17

Nepenthes

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

Je viens de tester ocropus en le compilant à partir du site officiel sur Google code. J'ai utilisé les commandes décrites après l'installation pour faire une reconnaissance sur deux pages. Le résultat est mauvais, car le français n'était pas utilisé... Bref pas top, j'ai hâte que ça soit intégré dans une interface graphique préconfigurée si le logiciel est si puissant.

Par contre, quand Sorbus affirme

"Le but n'est pas de reconstituer la mise en forme d'origine après avoir effectué la ROC, mais seulement de simplifier le travail lorsque la mise en page est complexe."

, je n'en suis pas si sur.
J'ai étudié le format de sortie HTML rendu par ocropus, et je me suis apperçu que chaque ligne et chaque élément était stocké dans un "<span>", dont les attributs me semblent être des informations de position, pouvant ultérieurement permettre la reconstruction du document à l'identique. De plus, en observant la manière dont le logiciel traite les documents, j'ai l'impression qu'il sépare les images et le texte (j'ai testé sur la 4ème de couverture d'un livre, le code bare et une autre image ont été "mis de côté"). Il serait donc possible de mémoriser la position des images dans le document d'origine, puis de les réintégrer dans le document rendu avec juste une feuille de css (du moins lorsque le moteur d'ocropus inserera des repère correspondants en html dans le squelette du texte) ! Il manque juste la reconnaissance de la taille, de la couleur et de la police du texte pour qu'un document puisse être reconstruit à l'identique, en html, et converti en .odt par exemple. Il reste beaucoup de travail mais ça serait une énorme avancée, et vu la direction que prennent les travaux, je pense que c'est l'objectif.

Hors ligne

#339 Le 19/05/2009, à 16:27

Sorbus

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

@ Nepenthes,
Merci pour ces précisions et pour la rectification.
Mon affirmation était rapide... J'avais un peu confondu l'objectif et l'état des lieux hmm

Tant mieux !

Le résultat est mauvais, car le français n'était pas utilisé...

As-tu utilisé la commande pour l'utilisation du français ?
Si oui, il faudrait comprendre pourquoi il n'a pas été utilisé. Lors de mes essais, il est utilisé pour le post traitement. Je vois nettement la différence si je ne lance pas la commande pour le français.

Les interfaces graphiques ne donneront rien de mieux quant au résultat... Mais bien sûr, on peut espérer qu'un certain nombre de choses puissent être un jour automatisées... y compris la reconnaissance directe de la langue de la page... le contraste, l'alignement, etc.

Ceci dit, j'ai testé ocropus complié sur mon fixe, et le résultat de la ROC n'est pas bon, même avec la commande pour le français. Par contre, avec Ocropus 0.2 installé avec les deb sur mon portable, le résultat est bon... à peu près équivalent à celui obtenu avec xsane2tess (tesseract).

P.S. : Peux-tu donner des précisions sur ces deux points :

Je viens de tester ocropus en le compilant à partir du site officiel sur Google code. J'ai utilisé les commandes décrites après l'installation pour faire une reconnaissance sur deux pages.

Le processus d'installation que tu as suivi est-il celui-ci ? Sur quelle page as-tu trouvé les commandes décrites (et lesquelles as-tu utilisées) ?

Dernière modification par Sorbus (Le 20/05/2009, à 12:23)

Hors ligne

#340 Le 20/05/2009, à 06:25

Sorbus

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

@ Bushman02

deux pages de test pris dans mon livre de référence (voir plus haut au mois d'avril) sont moins bien reconnues que par xsane2tess...

Il est ennuyeux qu'elles soient moins bien reconnues. Puisque OCRopus utilise Tesseract, ça devrait être équivalent. S'il y a de grosses différences pour un fichier utilisé dans nos tests, il faudrait peut-être le transmettre dans les "issues" d'OCRopus en le signalant.

D'après la FAQ du site officiel OCRopus :

Should I use OCRopus or Tesseract?

You might consider using OCRopus right now if you require layout analysis, if you want to contribute to it, if you find its output format more convenient (HTML with embedded OR information), and/or if you anticipate requiring some of its other capabilities in the future (pluggability, multiple scripts, statistical language models, etc.).

In terms of character error rates, OCRopus performs similar to Tesseract. In terms of layout analysis, OCRopus is significantly better than Tesseract.

The main reasons not to use OCRopus yet is that it hasn't been packaged yet, that it has limited multi-platform support, and that it runs somewhat slower. We hope to address all those issues by the beta release.

Traduction partielle et approximative :
   

Devrais-je utiliser OCRopus ou bien Tesseract?

Vous pouvez utiliser OCRopus dès maintenant si vous avez besoin d'analyse de la mise en page, si vous voulez contribuer, si vous trouvez la sortie de son format plus pratique (HTML) (...).

En termes de taux d'erreur de reconnaissance des caractères, OCRopus a des performances similaires à celles de Tesseract. En termes d'analyse de la mise en page, OCRopus est nettement meilleur que Tesseract.

Les principales raisons de ne pas encore utiliser OCRopus, c'est qu'il n'a pas encore été empaqueté, qu'il n'est pas multi-plateforme, et qu'il est un peu plus lent. Nous espérons résoudre ces questions par la version bêta.

PS : j'ai essayé ton script. Il fonctionne si je commente la ligne 8 (qui commence par "else"). L'utilisation de l'astérisque dans le fichier de sortie ne semble pas nécessaire. On obtient un fichier "*.html" qui rassemble la reconnaissance de tous les fichiers PNG. Autant le nommer "resultat.html". Ce petit script est très intéressant pour effectuer la ROC d'un coup pour un document comprenant de nombreuses pages... Il suffit que les fichiers scannés de ces pages soient numérotés dans l'ordre...

Dernière modification par Sorbus (Le 26/05/2009, à 21:56)

Hors ligne

#341 Le 20/05/2009, à 10:09

Bushman02

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

Avant de transmettre quoi que ce soit aux "issues" d'Ocropus, quelques remarques :
Je me suis penché un peu plus longuement sur la question : il semble que les problèmes soient liés à une partie de l'image scannée. Mon image de référence comporte en effet, entre les deux pages qu'elle représente, une zone grisâtre aux contours inégaux, ce qui arrive régulièrement quand on scanne un livre à plat. De là différents problèmes : mots mal reconnus et fragments de lignes mal placés.
J'ai donc partagé mon scan (1) en deux parties (2) et (3) en éliminant la zone incriminée :
a/ les résultats de chaque page (obtenus en une seule opération grâce au script) sont bien meilleurs et, à quelques sauts de lignes intempestifs près, tout à fait comparables à ce qu'on peut obtenir avec xsane2tess.
b/ N.B. : si je traite séparément (2) et (3) avec gscan2pdf, les résultats sont beaucoup plus mauvais qu'avec Ocrupus (rien de comparable même).
Conclusion : il semble donc qu'une zone non identifiable par ocropus perturbe son fonctionnement. Curieusement, cela n'arrive pas avec une page de magazine parfaitement plate et contenant des photos aux formes géométriques parfaitement nettes.

Ces problèmes seront peut-être résolus quand seront éclaircies les fonctions des 17 scripts présents dans /usr/share/ocropus/scripts. J'y ai jeté un coup d'œil et j'ai tenté d'en utiliser deux ou trois (une fois les dépendances vérifiées et installées), mais je vois mal comment intégrer l'une ou l'autre dans l'enchaînement des deux commandes "de base" (tesslanguage et rec-tess). Je n'arrive même pas à formuler les commandes qui pourraient mettre en mouvement l'un ou l'autre de ces 17 nouveaux outils !
À suivre...

Hors ligne

#342 Le 20/05/2009, à 18:17

Sorbus

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

A propos des commandes/scripts :

1/ L'emplacement du fichier des scripts n'est pas le même dans la version 0.2 installée par les paquets "deb" que dans la version compilée (selon la méthode indiquée dans la doc Ubuntu).

- dans le premier cas :
/usr/share/ocropus/scripts
(de même que dans ce cas, les fichiers de langue sont dans /usr/share/tesseract-ocr/tessdata)

- dans le second cas :
/usr/local/share/ocropus/scripts
(de même que dans ce cas, les fichiers de langue sont dans /usr/local/share/tessdata)

2/ le contenu du répertoire "scripts" diffère.

- 17 dans le premier cas : align, align-line, align-tesseract, align-transcription, build-ngram-model, degrade, eval-bpnet-on-words, hocr-to-text, line-clean, rec-bpnet, rec-ltess, rec-minimal, rec-tess, sauvola, segment-line, text-to-hocr, train-bpnet-isolated (pas de "recognize").

- 34 dans le second cas : align, align-lines-wordwise, align-tesseract, align-transcription, build-ngram-model, check-train-valid-bpnet-feature, degrade, deskew, editdist, erod3, eval-bpnet-on-words, eval-editdist-layout, eval-on-word-list, extract-lines, hocr-to-text, line-clean, matra-clipping, rec-bpnet, rec-bpnet-isolated, rec-guided, rec-line, rec-ltess, rec-minimal, recognize, rec-tess-complete, reflow, sauvola, segment-line, show, showseg, strict, text-to-hocr, train-bpnet-isolated, train-bpnet-lines. (pas de "rec-tess")

3/ quelques liens utiles :

- la page commandes du site officiel (qui en reste à la version alpha)
- une autre page présentant brièvement ces scripts/commande... correspondant semble-t-il à peu près à la version 0.2.
- la page sur "recognize" et ses options (à noter une autre façon d'indiquer la langue... à tester).

Dernière modification par Sorbus (Le 20/05/2009, à 23:04)

Hors ligne

#343 Le 20/05/2009, à 18:52

Sorbus

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

Je rectifie, pour qu'on puisse s'y retrouver un peu hmm

La version 0.2 empaquetée n'est pas la bêta, mais "l'alpha 2", sortie en mai 2008.

Il y a eu ensuite une version 0.3 ("alpha 3"), en octobre 2008, et aussitôt une 0.3.1 (en octobre 2008 aussi). C'est la dernière en téléchargement en "tar.gz". Ces dernières ne sont pas disponibles en deb.

Et je n'ai pas trop pigé quelle version on installe en compilant (la 0.3.1 d'octobre ou bien l'état actuel du développement au moment où on installe) ? Puisque subversion est utilisé, je pense que c'est plutôt l'état actuel du développement ? C'est à dire la "pre-0.4 (alpha-4)" de mai 2009.

Donc... nous n'avons toujours pas la bêta (qui fut annoncée je crois pour 2008), et qui si j'ai bien compris, devrait être la 0.5. cf. ici.

Hors ligne

#344 Le 24/05/2009, à 09:18

Bushman02

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

Petit supplément.
J'ai passé un peu de temps sur le dossier ocroscripts. Je n'ai, pour l'instant, réussi qu'à faire fonctionner "ocroscript hocr-to-text" (il suffit d'ajouter le paquet "tidy" via synaptic).
Le fichier .html est alors transformé en fichier .txt beaucoup plus proche de l'original que le fichier .html. En effet, la "mise en lignes" est respectée à un détail près,(et qui a, hélas, son importance) : les lignes sont coupées en deux, comme si un retour à la ligne était venu se glisser dans chacune d'entre elles.
J'ai essayé d'utiliser les différents ocroscripts contenant "align" dans leur intitulé, mais je n'ai pu en faire fonctionner aucun, malgré l'installation des paquets "lua" et "liblua"+ dépendances.
À suivre

Hors ligne

#345 Le 26/05/2009, à 20:36

Sorbus

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

Que permet de faire le paquet tidy ?
Je viens de tester hocr-to-text, alors que tidy n'était pas installé.
Avec un fichier html obtenu par une ROC avec ocroscript sur mon bureau, j'ai lancé :

/Bureau$ ocroscript hocr-to-text essai0010.html > essai0010.txt

J'obtiens un document texte dont le contenu correspond au document d'origine (aux erreurs de ROC près)... mais dans lequel les deux colonnes du document d'origine sont placées à la suite l'une de l'autre. Par contre, les lignes ne sont pas coupées en deux. La longueur (le contenu) de chaque ligne correspond à la longueur (au contenu) de chaque ligne des colonnes du document original.

Dernière modification par Sorbus (Le 26/05/2009, à 20:38)

Hors ligne

#346 Le 26/05/2009, à 20:59

7he

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

Discussion fort intéressante !!  Il faudra que je passe un peu de temps à tester tout ça! Ceci dit, je tiens à vous remercier pour le temps que vous passez à tout écrire, synthétiser et clarifier!

"keep on the great work"

Antoine

Hors ligne

#347 Le 26/05/2009, à 21:52

Sorbus

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

Merci 7he

@Bushman02
mea culpa... J'ai exactement le même résultat que toi avec Ocropus 0.2 installé par les dépôt (sur mon portable).

première tentative :
~/Desktop/labo-ROC$ ocroscript hocr-to-text essai.html > essai.txt
tidy not found

-> installation de tidy

deuxième tentative :
~/Desktop/labo-ROC$ ocroscript hocr-to-text essai.html > essai.txt

J'obtiens  un fichier "essai.txt" dont les lignes sont coupées en deux par rapport aux lignes de l'original. Là, il y a en effet un problème.

Dans mon message précédent, le test avait été fait sur mon fixe, avec la version d'ocropus compilée (selon la méthode indiquée dans la doc Ubuntu).

Hors ligne

#348 Le 27/05/2009, à 07:54

Bushman02

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

À retenir, donc, qu'une différence existe entre les deux installations possibles d'Ocropus.

Poursuivant mon exploration des ocroscripts, j'ai tenté d'utiliser "align", "align-line", "align-tesseract" et "align-transcription" ... sans succès. Mes quatre essais portent sur le fichier .txt obtenu en sortie.
Rien de positif. Seule l'utilisation de "align" me procure le renseignement suivant :

Usage: align <input hocr> <output dir>

... que je ne comprends pas et dont je ne tire rien. As-tu une suggestion ?

En désespoir de cause, et sans rien espérer, j'ai aussi utilisé "text-to-hocr" et j'ai remarqué que le fichier sortie2.html obtenu présentait une légère différence avec celui que procure "rec-tess" (sortie1.html) : ce dernier contient des sauts de ligne alors que sortie2.html n'en contient pas. Curieux mais plus esthétique (ce qui est maigre !).

J'ai aussi tenté d'utiliser "segment-line" :
-- il ne me donne rien si je l'applique au fichier sortie.txt
-- appliqué au fichier sortie.html, j'obtiens :

jlc@jlc-laptop:~/Bureau/DOSS/OCR_CROPUS/nouveau_dossier_3$ ocroscript segment-line sortie.hocr > sortie2.hocr
ocroscript: /usr/share/ocropus/scripts//segment-line.lua:24: module 'getopt' not found:
	no field package.preload['getopt']
	no file '/usr/share/ocropus/scripts//getopt.lua'
	no file './getopt.lua'
	no file '/usr/local/share/lua/5.1/getopt.lua'
	no file '/usr/local/share/lua/5.1/getopt/init.lua'
	no file '/usr/local/lib/lua/5.1/getopt.lua'
	no file '/usr/local/lib/lua/5.1/getopt/init.lua'
	no file './getopt.so'
	no file '/usr/local/lib/lua/5.1/getopt.so'
	no file '/usr/local/lib/lua/5.1/loadall.so'

Je suis donc allé chercher getop dans Synaptic et me suis trouvé face à seize entrées possibles dont deux déjà installées (libgetop++1 et libmono-getoptions2.0-cil) ... ce qui m'a laissé perplexe.
J'en suis là.
À suivre !

Hors ligne

#349 Le 27/05/2009, à 08:22

Sorbus

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

Usage: align <input hocr> <output dir>

Input : données en entrée d'un programme informatique.

Tu dis avoir effectué les essais sur le fichier txt.
Ne faudrait-il pas les faire sur le fichier html ?

Hors ligne

#350 Le 27/05/2009, à 09:20

Bushman02

Re : Open Office, Reconnaissance de caractères, Xsane, Kooka et Cie...

Essais avec le fichier de sortie au format html :

jlc@jlc-laptop:~/Bureau/DOSS/OCR_CROPUS/nouveau_dossier_3$ ocroscript align-line sortie.html > sortie2.html
ocroscript: /usr/share/ocropus/scripts//align-line.lua:14: file format not recognized
jlc@jlc-laptop:~/Bureau/DOSS/OCR_CROPUS/nouveau_dossier_3$ ocroscript align-tesseract sortie.html > sortie2.html
ocroscript: /usr/share/ocropus/scripts//align-tesseract.lua:32: file format not recognized
jlc@jlc-laptop:~/Bureau/DOSS/OCR_CROPUS/nouveau_dossier_3$ ocroscript align-transcription sortie.html > sortie2.html
ocroscript: error loading module 'align-transcription' from file '/usr/share/ocropus/scripts//align-transcription.lua':
	/usr/share/ocropus/scripts//align-transcription.lua:58: unexpected symbol near '"../data/models/neural-net-file.nn"'
jlc@jlc-laptop:~/Bureau/DOSS/OCR_CROPUS/nouveau_dossier_3$ ocroscript align sortie.html > sortie2.html
jlc@jlc-laptop:~/Bureau/DOSS/OCR_CROPUS/nouveau_dossier_3$

la dernière commande débouche, comme les autres, sur un fichier vide ne contenant qu'une ligne : "Usage : align" suivie d'une petite fenêtre où l'on peut écrire (mais quoi ?) puisque si je pointe sur cette fenêtre, mon curseur y clignote.

Je crois que j'atteins mon maximum d'incompétence !

Hors ligne