Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
ocropus [Le 17/05/2009, 08:13]
Sorbus
ocropus [Le 11/09/2022, 11:34] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
-{{tag> ​Jaunty ​scanner graphisme ocr brouillon}}+{{tag>Xenial ​scanner graphisme ocr}}
  
 ---- ----
  
-====== ​OCRopus ​: pour une ROC avec prise en compte de la mise en page ======+====== ​OCRopy ​: pour une ROC avec prise en compte de la mise en page ======
  
-**OCRopus** est en phase de devenir 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.+**OCRopy**, autrefois ​**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]]...)...
  
-===== Limitations ​=====+=====Pré-requis===== 
 +  * Disposer des [[:​sudo|droits d'​administration]]. 
 +  * Disposer d'une connexion à Internet configurée et activée. 
 +  * Avoir [[:​tutoriel:​comment_installer_un_paquet|installé]] [[:git]].
  
-Pour l'​instant,​ l'​installation d'​OCRopus est un peu délicatecar ce logiciel et ses dépendances ne sont pas directement disponibles ​dans les dépôts Ubuntuet ne peuvent donc pas être installés ​par Synaptic+=====Installation===== 
 +Pour installer Ocropy entrez successivement ces commandes dans un  ​[[:​terminal]] :​ <​code>​mkdir ocropy/ 
 +cd ocropy/ 
 +git init . 
 +git pull https://​github.com/​tmbdev/​ocropy 
 +sudo apt-get install $(cat PACKAGES) 
 +wget -nd http://​www.tmbdev.net/​en-default.pyrnn.gz 
 +mv en-default.pyrnn.gz models/ 
 +sudo python setup.py install 
 +</​code>​ 
 +====Utilisation==== 
 +Pour tester si cela fontionnelancez la commande (toujours ​dans le dossier **ocropy** :​ <​code>​./​run-test</​code>​ 
 +Pour utiliser ocropylancez successivement les commandes suivantes (en remplaçant test/​ersch.png ​par le chemin de votre image à reconnaître) :​ <code bash> 
 +# perform binarization 
 +./​ocropus-nlbin tests/ersch.png -o book
  
-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.+# perform page layout analysis 
 +./ocropus-gpageseg '​book/????​.bin.png'</​code>​
  
-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 à présentation complexeOCRopus peut déjà être utilisé... notamment en vue de son amélioration !+Si ça ne fonctionne pas essayer avec : 
 +<code bash> 
 +./​ocropus-gpageseg --minscale 8.0 --maxlines 800  '​book/????​.bin.png'​ 
 +</​code>​ 
 +Continuez avec (en adaptant le modèle ​à votre langue) :​ 
 +<code bash> 
 +# perform text line recognition (on four coreswith a fraktur model) 
 +./​ocropus-rpred -Q 4 -m models/​fraktur.pyrnn.gz '​book/????/??????​.bin.png'​ 
 +# generate HTML output 
 +./​ocropus-hocr '​book/????​.bin.png'​ -o ersch.html
  
-<note tip>Ceux qui peuvent s'​exprimer un peu en anglais ont la possibilité de signaler des bogues ("​issues"​) sur [[http://​code.google.com/​p/​ocropus/​issues/​entry|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 [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=78804| Le fil de discussion du forum Ubuntu-fr dédié à la Reconnaissance Optique de Caractères.]]</​note>​ +# display the output 
- +firefox ersch.html 
-===== Pré-requis ===== +</​code>​
- +
-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. +
- +
-<note tip>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.</note> +
- +
-Installer aussi **subversion** et tout ce qui va avec avant de suivre la procédure d'​installation d'​OCRopus. +
- +
-===== Installation ===== +
- +
-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 ;-) : 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...) +
- +
-<note important>​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.</​note>​ +
- +
-==== 1/ Pour ne pas s'​encombrer inutilement de fichiers ==== +
- +
- qui ne servent qu'à l'​installation,​ on se place dans /var/tmp +
-<code>cd /​var/​tmp</​code>​ +
- +
-==== 2/ Installation de Tesseract ==== +
- +
-Comme indiqué plus haut, Tesseract est le logiciel de ROC utilisé par OCRopus. +
- +
-<​code>​svn checkout http://​tesseract-ocr.googlecode.com/​svn/​trunk/​ tesseract-ocr-read-only +
-cd tesseract-ocr-read-only +
-./​configure +
-make +
-sudo make install +
-cd ..</​code>​ +
- +
-==== 3/ Installation de iulib ==== +
- +
-iulib fournit des bibliothèques de traitement d'​image utilisées par OCRopus +
- +
-<​code>​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 ..</​code>​ +
- +
-==== 4/ Installation de Leptonica ==== +
- +
-Leptonica fournit d'​autres outils de traitement d'​image et d'​analyse de la présentation +
- +
-<​code>​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 ..</​code>​ +
- +
-==== 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. +
- +
-<​code>​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 ..</​code>​ +
- +
-==== 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 ! +
- +
-<​code>​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</​code>​ +
- +
-===== Utilisation ===== +
- +
-==== Indication de la langue du document à traiter ==== +
- +
-Par défaut, avec la commande indiquée dans la 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** : +
-<​code>​export tesslanguage=fra</​code>​ +
- +
-  * **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). +
-Ces langues sont en effet disponibles pour le post-traitement lorsque Tesseract est installé par compilation comme indiqué sur cette page. +
- +
-  * **pour revenir à l'​anglais après avoir utilisé une autre langue** +
-<​code>​export tesslanguage=eng</​code>​ +
- +
-  * **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; non pas par les dépôts Ubuntu (par Synaptic, apt-get ou aptitude), sinon ils ne serait pas placés au bon endroit, et seraient donc inutiles; mais comme suit : +
- +
-**vietnamien** : +
-<​code>​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</​code>​ +
- +
-**portugais** : +
-<​code>​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</​code>​ +
- +
-**vieil-allemand** +
-<​code>​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</​code>​ +
- +
-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 : +
- +
-<​code>​cd ~/​Desktop</​code>​  +
-ou bien +
-<​code>​cd ~/​Bureau</​code>​ +
-(selon la façon dont le bureau est nommé dans votre système de fichier) +
-Puis : +
-<​code>​ocroscript recognize essai.png > essai.html</​code>​ +
- +
-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. +
- +
- +
-===== 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/ (...)+
  
 +===== Modèles =====
 +Comme indiqué [[https://​github.com/​tmbarchive/​ocropy/​tree/​master/​models|sur le github d'​ocropy]],​ on peut trouver différents modèles (à enregistrer dans le dossier '​models/'​ du répertoire d'​installation) ici:
 +https://​github.com/​tmbarchive/​ocropy/​wiki/​Models
  
 ===== Désinstallation ===== ===== Désinstallation =====
 +Supprimez le dossier téléchargé avec git (ocropy).
  
-Quand on installe en compilant, comme ici, il faut savoir comment désinstaller proprement. 
-Pour cela : 
-<​code>​cd /​var/​tmp</​code>​ 
-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"​+===== Références =====
  
-Enfin, pour désinstaller Tesseract, faire comme indiqué dans la phase installation,​ en remplaçant "sudo make install"​ par "sudo make uninstall"​.+  * [[https://​askubuntu.com/​questions/​686513/​ocropus-installing-problem|La source de la partie ​installation ​de cette documentation]] (en), 
 +  * [[https://​github.com/​tmbdev/​ocropy| le site officiel sur github]] (en), 
 +  * [[tesseract-ocr]],​ 
 +  * [[:​XSane]],​ 
 +  * [[https://​graal.hypotheses.org/​786|Tuto pour ROC sur des manuscrits]] (en), 
 +  * [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=78804| Le fil de discussion du forum Ubuntu-fr dédié à la Reconnaissance Optique de Caractères.]] (fr).
  
-===== Références ===== 
- 
-  * [[http://​xplus3.net/​2009/​03/​31/​ocr-with-ocropus-and-tesseract/​| La source de la partie installation de cette documentation]] (en) 
-  * [[http://​code.google.com/​p/​ocropus/​| le site officiel sur Google]] (en) 
-  * [[tesseract-ocr]] (fr) 
-  * [[:​xsane|XSane]] (fr) 
-  * [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=78804| Le fil de discussion du forum Ubuntu-fr dédié à la Reconnaissance Optique de Caractères.]] (fr) 
------- 
-//Page réalisée par : [[utilisateurs:​Sorbus]] (16 mai 2009)// 
 ------ ------
  
 +//Page réalisée par : [[utilisateurs:​Sorbus]],​ MAJ : Michel Astre, Bushman02 [[:​utilisateurs:​L'​Africain|L'​Africain]]//​
  
  
  • ocropus.1242540781.txt.gz
  • Dernière modification: Le 18/04/2011, 14:45
  • (modification externe)