Ceci est une ancienne révision du document !



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

OCRopus est un outil performant de reconnaissance optique de caractères (ROC/OCR), utilisant 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.

Pour l'instant, l'installation d'OCRopus est un peu délicate, car ce logiciel et ses dépendances ne sont pas directement disponibles dans les dépôts Ubuntu, et ne peuvent donc pas être installés par Synaptic.

Par ailleurs, nous n'avons pas encore réussi à réaliser une ROC utilisant les outils de reconnaissance de la langue française, pourtant disponibles pour Tesseract. OCRopus peut donc être utilisé efficacement pour des textes en anglais avec une mise en page complexe. Pour une installation permettant une bonne reconnaissance du français, nous cherchons encore.

Enfin, 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 XSane…)… Cela viendra sans doute un jour.

Mais pour ceux qui veulent tester… ou qui en auraient besoin pour des pages complexes en anglais, OCRopus peut déjà être utilisé avec avantage !

Jusqu'à Jaunty inclus, OCRopus n'est pas disponible dans les dépôts Ubuntu. Il n'y a pas encore de paquet deb permettant son installation sous Ubuntu. OCRopus a besoin de tesseract pour pouvoir fonctionner, mais son installation est impossible avec une installation de tesseract réalisée à partir des dépôts Ubuntu ou à partir du deb de b52. Si vous voulez tester OCRopus, 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.

Pour l'instant, l'installation se fait en compilant les dépendances nécessaires en terminant par la compilation d'OCRopus. 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 le compilation d'OpenFST. Il faut être un peu patient, pour ne pas arrêter une compilation en cours ;-) )

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 logiciel 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://mohri-lt.cs.nyu.edu/twiki/pub/FST/FstDownload/openfst-1.1.tar.gz
tar xvzf openfst-1.1.tar.gz
cd openfst-1.1
./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

OCRopus s'utilise avec une simple ligne de commande.

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 :

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.

Quand on installe en compilant, comme ici, 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 installation en remplaçant "sudo scons install" par "sudo scons -c install"

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

  • ocropus.1242498854.txt.gz
  • Dernière modification: Le 18/04/2011, 14:56
  • (modification externe)