Contenu | Rechercher | Menus
Selon les tags présents sur cette page, celle-ci est ancienne et ne contient plus d'informations sur une des versions supportées d'Ubuntu.
Cette page est en cours de rédaction.
Apportez votre aide…

Cette page est obsolète. sauf cette partie. Il n'existe plus de .deb récent d'OCRopus.

OCRopus : pour une ROC avec prise en compte de la mise en page

OCRopus est en passe de devenir un outil performant de reconnaissance optique de caractères (ROC/OCR), utilisant notamment le moteur de ROC Tesseract, et capable d'analyser une mise en page complexe (contenant par exemple des colonnes et des encadrés). OCRopus ne reconstitue pas la mise en page dans un traitement de texte, mais effectue la ROC dans un ordre logique après avoir analysé la mise en page. Même si son utilisation en ligne de commande est très simple, OCRopus n'est pas encore disponible sous forme d'interface graphique, ni intégré dans un outil graphique déjà existant (comme gscan2pdf ou XSane…)… Cela viendra sans doute un jour, très probablement dans gscan2pdf dès Ubuntu 9.10 ou 10.04.

Installation d'OCRopus sur une version récente d'Ubuntu

Pré-requis

Commencez par Installez le paquet mercurial. Puis entrez succésivement ces commandes dans un terminal:

hg clone -r ocropus-0.7 https://code.google.com/p/ocropus
cd ocropus/ocropy
sudo apt-get install $(cat PACKAGES)
python setup.py download_models
sudo python setup.py install
./run-test

Voir ici.

Utilisation

FIXME ???

Installation d'OCRopus 0.2 par les paquets deb des dépôts

Pré-requis

Installer les dépendances disponibles dans les dépôts

Installez les paquets libc6, libedit2, libgcc1, libjpeg62, libpng12-0, libstdc++6, libtiff4, tesseract-ocr et tesseract-ocr-fra.
Il s'agit de dépendances nécessaires au fonctionnement d'OCRopus. Celles-ci sont empaquetées officiellement pour Ubuntu 8.10, 9.04 et suivants… et donc disponibles dans les dépôts.

Installer ocropus-data

Cette dépendance est également nécessaire, mais n'est dans les dépôts que depuis Ubuntu 9.10. Pour Ubuntu 8.10 et 9.04, il faut donc télécharger ocropus-data et l'installer par GDebi (ou autre installateur disponible sur votre système).

Installation d'OCRopus

Si vous avez installé Ubuntu en architecture amd64, le deb d'ocropus est ici. Si vous avez installé Ubuntu en architecture i386, le deb d'ocropus est là.

Installation d'OCRopus 0.2 par les paquets deb variante "b52"

Cette variante de l'installation permet à Ocropus d'utiliser la version "b52" de Tesseract. Comme indiqué dans la page Tesseract de la documentation Ubuntu francophone, cette version permet à Tesseract d'effectuer une ROC de qualité sur un plus grand nombre de types de documents. Il serait dommage qu'Ocropus s'en prive…

Pré-requis

Installer les dépendances disponibles dans les dépôts

Installez les paquets libc6, libedit2, libgcc1, libjpeg62, libpng12-0, libstdc++6 et libtiff4.
Il s'agit de dépendances nécessaires au fonctionnement d'OCRopus. Celles-ci sont empaquetées officiellement pour Ubuntu 8.10 et 9.04 et suivants… et donc disponibles dans les dépôts.

Installer Tesseract version "b52"

Depuis le 21 décembre 2009, les paquets de tesseract 2.04 sont disponibles :
tesseract 2.04 pour les architectures 32 bits.
tesseract 2.04 pour les architectures 64 bits.

Installer ocropus-data

Cette dépendance est également nécessaire, mais n'est dans les dépôts que depuis Ubuntu 9.10. Pour Ubuntu 8.10 et 9.04, il faut donc télécharger ocropus-data et l'installer par GDebi (ou autre installateur disponible sur votre système).

Installation d'OCRopus version "b52"

Si vous avez installé Ubuntu en architecture amd64, le deb d'ocropus b52 est ici. Si vous avez installé Ubuntu en architecture i386, le deb d'ocropus b52 est là.

Pour ceux qui veulent en savoir plus, le dossier complet d'Ocropus b52 ici.

Installation d'OCRopus 0.3 en compilant depuis les sources

Limitations

Ce mode d'installation alternatif d'OCRopus est un peu délicat et beaucoup plus long que l'installation à partir des paquets deb.

Par ailleurs, lors de nos premiers tests sur des pages en français, malgré l'utilisation de la commande précisant l'usage du français pour le post-traitement de la ROC, les résultats obtenus sont nettement moins bons que lorsque nous utilisons Tesseract seul.

Mais pour ceux qui veulent tester la dernière version d'OCRopus, notamment en vue de son amélioration, nous avons testé ce mode d'installation : il est fonctionnel sous Ubuntu 9.04 avec une architecture i386.

Ceux qui peuvent s'exprimer un peu en anglais ont la possibilité de signaler des bogues ("issues") sur la page des rapports de bogues du projet Ocropus (mettre en pièce jointe "Attach a file" le fichier PNG sur lequel vous rencontrez le problème que vous décrivez). Il suffit pour cela d'avoir un compte "Google code" ou d'en ouvrir un. Dans ce cas, merci de signaler aussi les bogues rapportés et les réponses obtenues sur Le fil de discussion du forum Ubuntu-fr dédié à la Reconnaissance Optique de Caractères.

Pré-requis

OCRopus a besoin de Tesseract pour pouvoir fonctionner, mais son installation est impossible par compilation avec une installation de Tesseract réalisée à partir des dépôts Ubuntu ou à partir du deb de b52. Si vous voulez installer OCRopus en compilant depuis les sources, il faut commencer par faire une désinstallation complète de tesseract-ocr (ou tesseract) par Synaptic (ou au moyen de votre choix). On réinstalle ensuite tesseract… et tout ce qu'il faut, comme indiqué plus loin.

Pour les habitués de l'outil "XSane + xsane2tess + tesseract", notez que celui-ci fonctionne tout aussi bien avec une installation de Tesseract faite comme il est précisé ci-dessous.

Installer aussi subversion et tout ce qui va avec avant de suivre la procédure d'installation d'OCRopus.

Installation

Il suffit de suivre méthodiquement les commandes indiquées (sans en oublier !). C'est assez simple, mais ça peut prendre un peu de temps (plus d'une heure dans certains cas, le plus long étant la compilation d'OpenFST. Il faut être un peu patient, pour ne pas arrêter une compilation en cours ;-) : après le lancement de chaque commande, il faut attendre le retour à l'invite de commande dans le terminal avant de lancer la commande suivante ; et ne jamais interrompre un travail en cours… c'est-à-dire ne pas fermer le terminal ni éteindre l'ordinateur pendant ce temps…)

N.B. : les indications qui suivent sont valables pour une architecture i386. Nous ne l'avons pas testé sur une architecture amd64. En corrigeant les "wget" pour effectuer les bons téléchargements, cela fonctionne peut-être sur amd64… mais c'est à tester.

1/ Pour ne pas s'encombrer inutilement de fichiers

qui ne servent qu'à l'installation, on se place dans /var/tmp

cd /var/tmp

2/ Installation de Tesseract

Comme indiqué plus haut, Tesseract est le moteur de ROC utilisé par OCRopus.

svn checkout http://tesseract-ocr.googlecode.com/svn/trunk/ tesseract-ocr-read-only
cd tesseract-ocr-read-only
./configure
make
sudo make install
cd ..

3/ Installation de iulib

iulib fournit des bibliothèques de traitement d'image utilisées par OCRopus

svn checkout http://iulib.googlecode.com/svn/trunk/ iulib
cd iulib
sudo apt-get install scons
sudo apt-get install libpng12-dev libjpeg62-dev libtiff4-dev libavcodec-dev libavformat-dev libsdl-gfx1.2-dev libsdl-image1.2-dev
sudo apt-get install imagemagick
scons
sudo scons install
cd ..

4/ Installation de Leptonica

Leptonica fournit d'autres outils de traitement d'image et d'analyse de la présentation

wget http://leptonica.googlecode.com/files/leptonlib-1.60.tar.gz
tar xvzf leptonlib-1.60.tar.gz
cd leptonlib-1.60
./configure
make
sudo make install
cd ..

5/ Installation d'OpenFST

OpenFST offre à OCRopus des moyens d'apprentissage des langues. L'installation de cet outil prend un peu de temps (jusqu'à une heure…). Soyez patients.

wget http://www.openfst.org/twiki/pub/FST/FstDownload/openfst-1.2.10.tar.gz
tar xvzf openfst-1.2.10.tar.gz
cd openfst-1.2.10
./configure
make
sudo make install
cd ..

6/ Installation d'OCRopus

Toutes les dépendances étant installées, on peut maintenant installer OCRopus. Mais attention, ne commencez pas l'installation à cette étape si vous n'avez pas installé auparavant Tesseract, iulib, Leptonica et OpenFST !

sudo apt-get install libeditline-dev
svn checkout http://ocropus.googlecode.com/svn/trunk/ ocropus
cd ocropus
wget http://xplus3.net/downloads/fix_ocropus_doctype.diff
patch -p0 -i fix_ocropus_doctype.diff
./configure
make
sudo make install

Utilisation

Indication de la langue du document à traiter

Par défaut, avec la commande indiquée dans le paragraphe suivant, OCRopus effectue un post-traitement de la ROC en anglais. Si le texte de la page est en français ou dans une autre langue, il faut auparavant indiquer l'environnement linguistique que devra utiliser OCRopus par la commande suivante :

  • pour le français :
export tesslanguage=fra
  • pour l'allemand, l'italien, l'espagnol et le néerlandais

la même commande que ci-dessus, en remplaçant "fra" par "deu" (allemand), "ita" (italien), "spa" (espagnol) ou "nld" (néerlandais).

N.B. : Ces langues sont disponibles pour le post-traitement lorsque Tesseract est installé par compilation comme indiqué sur cette page. Si vous avez installé OCRopus (et Tesseract) par les dépôts, installez les paquets pour ces langues : allemand, espagnol, italien, néerlandais.

  • pour revenir à l'anglais après avoir utilisé une autre langue
export tesslanguage=eng
  • pour le vieil-allemand, le portugais et le vietnamien :

Les paquets permettant le post-traitement de la ROC sont disponibles pour ces langues, mais il faut d'abord les installer :
> par les dépôts Ubuntu (par Synaptic, apt-get ou aptitude) si vous avez installé Tesseract et OCRopus par les dépôts (et paquets deb) : portugais,vietnamien,vieil allemand
> par contre, si vous avez installé OCRopus (et Tesseract) par compilation depuis les sources, n'installez pas ces paquets de langue par les dépôts, sinon ils ne seraient pas placés au bon endroit, et seraient donc inutiles; mais faites comme suit :

vietnamien :

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

portugais :

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

vieil-allemand

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

Pour traiter des pages en ces langues, lancez d'abord la même commande que celle indiquée plus haut pour le français, en remplaçant "fra" par "vie" (vietnamien), "por" (portugais) ou "deu-f" (vieil-allemand).

Commande de base

OCRopus s'utilise avec une simple ligne de commande. Après avoir indiqué la langue de la page à traiter, comme indiqué dans le paragraphe précédent, faites comme suit :

Placez d'abord le fichier sur lequel vous voulez effectuer la reconnaissance optique de caractère sur votre bureau. Vous pouvez obtenir ce fichier en le scannant avec XSane par exemple, en le mettant au format PNG, gris, 300 ppi (dans la configuration de XSane).

Si votre fichier se nomme "essai.png", et s'il se trouve sur votre bureau, ouvrez un terminal, puis lancez les commandes :

cd ~/Desktop

ou bien

cd ~/Bureau

(selon la façon dont le bureau est nommé dans votre système de fichier) Puis :

Si vous avez installé OCRopus 0.2 au moyen des paquets deb de Karmic Koala :

ocroscript rec-tess essai.png > essai.html

Si vous avez installé OCRopus 0.3 en compilant depuis les sources :

ocroscript recognize essai.png > essai.html

OCRopus travaille sur le fichier PNG et crée le fichier HTML que vous trouverez sur votre bureau. Ne l'ouvrez que lorsque la ROC est terminée (attendez le retour à l'invite dans le terminal)… selon la longueur et la complexité du fichier, la ROC peut prendre de quelques secondes jusqu'à une minute environ.

Vous pouvez ensuite ouvrir le fichier HTML avec votre navigateur (Firefox ou autre) et en copier-coller le contenu dans un traitement de texte pour poursuivre le travail.

Pour une reconnaissance optique directe dans Open Office Writer de fichiers PNG ou JPG

pour lancer l'OCR sur tous les documents PNG (ou JPG) présents sur le bureau

pour les documents PNG

Code:

#!/bin/bash
export tesslanguage=fra ;
cd ~/Bureau
# ou cd ~/Desktop
ocroscript rec-tess *.png > sortie.html ;
oowriter sortie.html ;
  • recopiez ce code dans un fichier texte que vous nommez par exemple "Ocropus-png2openofficewriter"
  • rendez exécutable ce fichier texte (clic droit sur le fichier > propriétés > cochez "Autoriser l'exécution du fichier comme un programme")… Vous avez créé un script exécutable.
  • placez-le dans /home/.gnome2/nautilus-scripts (ou dans tout autre dossier personnel de scripts, à votre convenance)
  • créez un lanceur ou une entrée dans le menu comme indiqué ci-dessous.
pour les documents JPG

Pour faire de même avec les fichiers images JPG (comportant du texte à reconnaître bien sûr), vous pouvez remplacer "png" par "jpg" dans le script pour créer un autre script nommé "Ocropus-jpg2openofficewriter".

Créer un lanceur ou une entrée dans le menu

pour créer un lanceur sur le bureau
  • clic droit sur le bureau "créer un lanceur"
  • donnez-lui un nom… par exemple : "Ocropus-png2openofficewriter", ou plus court "OCRopus-PNG2OOoW"
  • pointez vers le script en question, c'est à dire le fichier texte "Ocropus-png2openofficewriter" rendu exéctuable (commande : allez chercher votre script par le bouton "parcourir")
  • vous pouvez utiliser cette icône pour le script "OCRopus-PNG2OOoW" et celle-ci pour le script "OCRopus-JPG2OOoW".
  • vous pouvez ajouter un commentaire, mais ce n'est pas indispensable.
pour créer une entrée dans le menu
  • clic droit sur "Applications" > Editer les menus
  • dans "Bureautique", cliquez sur "nouvel élément".
  • donner-lui un nom… par exemple : Ocropus-png2openofficewriter, ou plus court "OCRopus-PNG2OOoW"
  • pointez vers le script en question (commande : allez chercher votre script par le bouton "parcourir")
  • vous pouvez utiliser les mêmes icônes que celles indiquées ci-dessus.
  • vous pouvez ajouter un commentaire, mais ce n'est pas indispensable.

Utilisation

  • enlevez du bureau les fichiers PNG sur lesquels vous ne voulez pas faire de ROC/OCR.
  • placez sur le bureau un scan de texte imprimé au format PNG (le mieux est un PNG en valeurs de gris et 300 dpi avec Xsane, mais vous pouvez essayer avec d'autres PNG déjà numérisés),
  • vous pouvez placer sur le bureau plusieurs fichiers PNG sur lesquels vous voulez procéder à la reconnaissance optique; mais ne dépassez pas 3-4 fichiers si vous voulez une opération relativement rapide. Les contenus des différents fichiers seront placés les uns à la suite des autres dans un même document Open Office.
  • cliquez sur le lanceur ou l'entrée du menu… patientez un peu… Open Office s'ouvrira avec affichage du texte tel qu'il a été reconnu.
  • il vous reste a effectuer les corrections orthographiques et à mettre en page.

Même méthode pour les fichiers au format JPG, en utilisant l'outil "Ocropus-jpg2openofficewriter".

N.B. : au passage, un document en .html est placé sur le bureau; c'est un document transitoire créé par Ocropus. On peut l'effacer, ou ajouter à la fin du script la ligne :

rm sortie.html

Problèmes connus

1/ Lorsque des lignes de texte ou une image sont en contact avec le bord de la page, la ROC ne s'effectue pas, et un message de ce type apparaît dans le terminal : "ocroscript: /usr/local/share/ocropus/scripts//recognize.lua:89: recognized bboxes are wrong"

Pour résoudre ce problème, il faut agrandir la page de quelques pixels avant de lancer de nouveau la commande ocroscript.

2/ (…)

Désinstallation

Si vous avez installé par les paquets deb, la désinstallation est aisée par Synaptic.

Si vous avez installé en compilant depuis les sources… il faut savoir comment désinstaller proprement. Pour cela :

cd /var/tmp

puis refaire dans l'ordre exactement les commandes indiquées plus haut en commençant par l'étape 6 (installation d'OCRopus), mais en remplaçant "sudo make install" par "sudo make uninstall". De même pour l'étape 5 (OpenFST), l'étape 4 (Leptonica)…

Puis pour l'étape 3 (iulib), faire comme indiqué lors de la phase d'installation en remplaçant "sudo scons install" par "sudo scons -c install"

Enfin, pour désinstaller Tesseract, faire comme indiqué dans la phase installation, en remplaçant "sudo make install" par "sudo make uninstall".

Références



Le contenu de ce wiki est sous licence : CC BY-SA v3.0