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
tesseract-ocr [Le 30/11/2014, 20:27]
L'Africain Maj de la page
tesseract-ocr [Le 04/08/2023, 19:43] (Version actuelle)
lyondif02 [Liens] mention outil OCRmyPDF basé sur Tesseract
Ligne 1: Ligne 1:
-{{tag> ocr}}+{{tag>Xenial Trusty ​ocr bureautique}}
  
 ---- ----
  
-====== Tesseract ======+====== Tesseract ​OCR ======
  
-**Tesseract** est un moteur de reconnaissance optique de caractères (ROCOCR) qui a été conçu par les ingénieurs de HP de 1984 à 1995, avant d'​être abandonné. Après 10 ans de purgatoire, son code est ouvert en 2005, et le développement est repris sous la houlette de Google. Les premiers résultats sont prometteurs. Enfin un bon logiciel libre d'OCR sous linux ? L'​avenir nous le dira... Il permet déjà d'​obtenir une reconnaissance optique de qualité sur un certain nombre de documents (sans mise en page complexe).+**Tesseract ​OCR** est un moteur de [[:ocr|reconnaissance optique de caractères ​]] (acronymie : ROC ou OCR en Anglais) qui a été conçu par les ingénieurs de Hewlett Packard<​sup>​®</​sup> ​de 1984 à 1995, avant d'​être abandonné. ​\\ Après 10 ans de purgatoire, son code est ouvert en 2005, distribué sous [[wpfr>​Licence Apache]], et le développement est repris sous la houlette de Google. ​\\ Les premiers résultats sont prometteurs. ​\\ Enfin un bon logiciel libre d'OCR sous %%GNU/​Linux%%? L'​avenir nous le dira… Il permet déjà d'​obtenir une reconnaissance optique de qualité sur un certain nombre de documents (sans mise en page complexe)
 + 
 +La page de la documentation sur [[https://​github.com/​tesseract-ocr/​tesseract/​blob/​master/​README.md|Github]].
  
 Tesseract a pour vocation d'​être utilisé : Tesseract a pour vocation d'​être utilisé :
-  * soit directement,​ en ligne de commandes soit par l'​intermédiaire d'une interface graphique comme gscan2pdf ou xsane (+xsane2tess),​ pour reconnaitre ​du texte avec mise en page basique ; cet usage est déjà fonctionnel. +  * soit directement,​ en ligne de commandes soit par l'​intermédiaire d'une interface graphique comme [[gscan2pdf|gscan2pdf]] ​ou [[xsane|xsane]] ​(cf. aussi [[xsane2tess|xsane2tess]]), pour reconnaître ​du texte avec mise en page basique ; cet usage est déjà fonctionnel. 
-  * soit avec des surcouches gérant les mises en page complexes, etc., comme [[:​ocropus]] (encore en version beta). +  * soit avec des surcouches gérant les mises en page complexes, etc., comme [[:​ocropus]] (encore en [[wpfr>Version_d'​un_logiciel#​Version_b.C3.AAta|Version Bêta ou β-test]]).
- +
-Tesseract est distribué sous licence Apache, c'​est-à-dire en gros qu'il est Open Source mais pas [[wpfr>Copyleft|copyleft]].+
  
 ===== Installation ===== ===== Installation =====
-[[:​tutoriel:​comment_installer_un_paquet|Installez les paquets]]**[[apt://tesseract-ocr,​tesseract-ocr-fra|tesseract-ocr ​et tesseract-ocr-fra]]** ([[:dépôts]] Universe).+[[:​tutoriel:​comment_installer_un_paquet|Installez les paquets]] **[[apt>tesseract-ocr]]** et pour reconnaître la langue française**[[apt>tesseract-ocr-fra]]**. \\ 
 +Il existe d'​autres fichiers de langues, comme par exemple : 
 +  * **[[apt>tesseract-ocr-deu]]** (allemand),​ 
 +  * **[[apt>tesseract-ocr-eng]]** (anglais), 
 +  * **[[apt>​tesseract-ocr-spa]]** (espagnol),​ 
 +  * **[[apt>​tesseract-ocr-nld]]** (hollandais),​ 
 +  * **[[apt>​tesseract-ocr-ita]]** (italien),​ 
 +  * **[[apt>​tesseract-ocr-por]]** (portugais-brésilien),​ 
 +  * **[[apt>​tesseract-ocr-vie]]** (vietmamien),​ 
 +  * **[[apt>​tesseract-ocr-deu-f]]** (vieil-allemand).
  
-Il existe d'autres fichiers de langues, comme par exemple : **tesseract-ocr-deu** (allemand), **tesseract-ocr-eng** (anglais), **tesseract-ocr-spa** (espagnol), ​ **tesseract-ocr-nld** (hollandais),​ **tesseract-ocr-ita** (italien), **tesseract-ocr-por** (portugais-brésilien), ​ **tesseract-ocr-deu-f** (vieil-allemand)+===== Utilisation ===== 
 +<note important>​les scanners numérisent souvent avec une résolution suffisante pour la lecture à l'écran mais insuffisante pour une reconnaissance efficace.
  
-Pensez toutefois ​à [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] ​**[[apt://​imagemagick|ImageMagick]]** si vous voulez utiliser xsane2tess (utilitaire convert nécessaire).+Il faut donc numériser au moins à **300 voire 600 ppp** (Point Par Pouce ou DPI) 
 + 
 +Quant au type de fichier, le format ​[[wpfr>​Tagged_Image_File_Format|tiff]] est mieux reconnu, ainsi un document tiff en 300ppp est intégralement reconnu alors qu'au format JPEG, toujours en 300ppp, seules les lettres majuscules sont reconnues</​note>​ 
 + 
 +======= Erreur à l'​utilisation ===== 
 +Si vous obtenez ce message : 
 + 
 +Error opening data file /​home/<​repertoire personnel>/​snap/​tesseract/​common/​Error opening data file /​home/<​repertoire personnel>/​snap/​tesseract/​common/​eng.traineddata.traineddata 
 +Please make sure the TESSDATA_PREFIX environment variable is set to your "​tessdata"​ directory. 
 +Failed loading language 'Error opening data file /​home/<​repertoire personnel>/​snap/​tesseract/​common/​eng.traineddata'​ 
 +Tesseract couldn'​t load any languages! 
 +Could not initialize tesseract. 
 + 
 +Copier le répertoire « tesseract-ocr ». Depuis usr/​share/ ​ →  vers usr/​local/​share/​ 
 + 
 +Les fichiers de langues se trouve à cette emplacement :​ 
 +usr/​local/​share/​tesseract-ocr/​4.00/​tessdata
  
-===== Utilisation ===== 
 ==== En ligne de commande ==== ==== En ligne de commande ====
  
-Entrez la commande suivante :  +Dans un [[:​terminal]], ​Entrez la [[:​commande_shell|commande]] suivante :  
-<​code>​tesseract ~/nomdelimage.tif nom_du_fichier_de_sortie_sans_l_extension -l fra</​code>​+<​code>​tesseract ~/<​nom_de_l_image.tif> <nom_du_fichier_de_sortie_sans_l_extension-l fra</​code>​ 
 +le fichier de sortie sera au format texte .txt … on perd donc la mise en page! 
 + 
 +Pour traiter plusieurs fichiers, vous pouvez faire : 
 +<​code>​for i in *.jpg ; do tesseract -l fra $i $i.txt; ​ done;</​code>​ 
 + 
 +Pour traiter un pdf image de plusieurs pages : 
 +<​code>​pdftoppm -r 300 -tiff texte.pdf texte 
 +for f in *.tif;do tesseract $f $f -l fra;done 
 +cat *.txt > document.txt</​code>​ 
  
 ==== Les options de langues ==== ==== Les options de langues ====
-Si vous avez installé les fichiers pour la reconnaissance de texte en d'​autres langues, vous ajoutez, au lieu de <​code>​-l fra</​code>​+Si vous avez installé les fichiers pour la reconnaissance de texte en d'​autres langues, vous ajoutez ​à la fin, au lieu de **-l fra**:
 <​code>​ <​code>​
 -l eng (pour l'​anglais) -l eng (pour l'​anglais)
 -l deu (pour l'​allemand) -l deu (pour l'​allemand)
 +-l epo (pour l'​espéranto)
 -l spa (pour l'​espagnol) -l spa (pour l'​espagnol)
 -l ita (pour l'​italien) -l ita (pour l'​italien)
Ligne 39: Ligne 75:
 </​code>​ </​code>​
  
 +La liste des langues est disponible sur la [[https://​github.com/​tesseract-ocr/​tesseract/​wiki/​Data-Files|documentation du logiciel sur github]]
 +
 +Vous pouvez aussi indiquer que les pages contiennent plusieurs langues différentes en indiquant **-l fra+epo** par exemple pour des images qui contiennent du texte en français et du texte en espéranto.
 ==== En mode graphique avec « gscan2pdf » ==== ==== En mode graphique avec « gscan2pdf » ====
 Les explications sont données sur [[:​gscan2pdf|la page gscan2pdf]]. Les explications sont données sur [[:​gscan2pdf|la page gscan2pdf]].
- 
  
 ==== En mode graphique avec XSane ==== ==== En mode graphique avec XSane ====
-Il est possible d'​utiliser tesseract avec XSane grâce à l'​adaptateur [[:​xsane2tess]].+Il est possible d'​utiliser ​directement ​tesseract avec l'​application de numérisation [[:XSane]] grâce à l'​adaptateur [[:​xsane2tess]].
  
-<note tip>Pour réaliser de la ROC sur un document déjà numérisé, on utilise gscan2pdf. ​Pour réaliser de la ROC sur un document à numériser, on utilise plutôt XSane, dont la fonction de prévisualisation permet de sélectionner des zones de texte.</​note>​+<note tip>Pour réaliser de la Reconnaissance optique de caractères : 
 +  * sur un document déjà numérisé, on utilise ​[[gscan2pdf|gscan2pdf]]. 
 +  * sur un document à numériser, on utilise plutôt ​[[xsane|XSane]], dont la fonction de prévisualisation permet de sélectionner des zones de texte. 
 + 
 +</​note>​ 
 +==== En mode graphique avec YAGF ==== 
 +Les explications sont données sur [[:yagf|la page YAGF]]. 
 + 
 +==== En mode graphique avec gimagereader ==== 
 +Les explications sont données sur [[:​gimagereader|la page gimagereader]].
  
 ==== Pour une reconnaissance optique directe dans LibreOffice Writer de fichiers PNG ou JPG ==== ==== Pour une reconnaissance optique directe dans LibreOffice Writer de fichiers PNG ou JPG ====
Ligne 53: Ligne 100:
  
 == pour les documents PNG == == pour les documents PNG ==
- +  - [[:​tutoriel:​comment_modifier_un_fichier|Créez un fichier texte]] que vous nommez par exemple "​Tesseract-png2lofficewriter"​ : <file bash Tesseract-png2lofficewriter>
-Code: +
-<code>+
 #!/bin/bash #!/bin/bash
 cd ~/Bureau cd ~/Bureau
Ligne 63: Ligne 108:
 tesseract sortie.tif sortie -l fra ; tesseract sortie.tif sortie -l fra ;
 rm sortie.tif rm sortie.tif
-lowriter sortie.txt +lowriter sortie.txt</​file
-</code> +  - [[:​tutoriel:​script_shell#​methode_graphique|Rendez exécutable]] ce fichier. Vous avez créé un script exécutable... 
- +  ​Placez-le dans le dossier des [[:​nautilus_scripts|scripts-Nautilus]] ​(ou dans tout autre dossier personnel de scripts, à votre convenance),​ 
-  ​* Recopiez ce code dans un fichier texte que vous nommez par exemple "​Tesseract-png2lofficewriter"​ +  ​Créez un lanceur ou une entrée dans le menu comme indiqué ci-dessous.
-  * 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 les documents JPG ==
Ligne 77: Ligne 119:
  
 Pour créer un raccourci de votre script, reportez-vous à la page de création de [[:​raccourci-lanceur|lanceurs]] ou à [[:​unity_launcher|celle-ci]] pour Unity, puis complétez comme suit: Pour créer un raccourci de votre script, reportez-vous à la page de création de [[:​raccourci-lanceur|lanceurs]] ou à [[:​unity_launcher|celle-ci]] pour Unity, puis complétez comme suit:
-  ​Donnez-lui un nom par exemple : "​Tesseract-png2lofficewriter",​ ou plus court "​Tesseract-PNG2LOW"​ +  ​Donnez-lui un nom par exemple : "​Tesseract-png2lofficewriter",​ ou plus court "​Tesseract-PNG2LOW"​ 
-  ​Pointez vers le script en question, c'est à dire le fichier texte "​Tesseract-png2lofficewriter"​ rendu exéctuable ​(commande : allez chercher votre script par le bouton "​parcourir"​),​ +  ​Pointez vers le script en question, c'est à dire le fichier texte "​Tesseract-png2lofficewriter"​ rendu exécutable ​(commande : allez chercher votre script par le bouton "​parcourir"​),​ 
-  ​Vous pouvez utiliser cette icône {{:​applications:​tesseract:​tesseract-ocr-png.jpg}} pour le script "​Tesseract-PNG2LOW"​ et celle-ci {{:​applications:​tesseract:​tesseract-ocr-jpg.jpg}} pour le script "​Tesseract-JPG2LOW"​. +  ​Vous pouvez utiliser cette icône {{:​applications:​tesseract:​tesseract-ocr-png.jpg?100|icone Tesseract OCR PNG}} pour le script "​Tesseract-PNG2LOW"​ et celle-ci {{:​applications:​tesseract:​tesseract-ocr-jpg.jpg?100|icone Tesseract OCR JPG}} pour le script "​Tesseract-JPG2LOW"​. 
-  ​Vous pouvez ajouter un commentaire,​ mais ce n'est pas indispensable.+  ​Vous pouvez ajouter un commentaire,​ mais ce n'est pas indispensable.
  
 === Utilisation === === Utilisation ===
-  ​Enlevez du bureau les fichiers PNG sur lesquels vous ne voulez pas faire de ROC. +  ​Enlevez du bureau les fichiers PNG sur lesquels vous ne voulez pas faire de ROC. 
-  ​Placez sur le bureau vos fichiers numérisés 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),​ +  ​Placez sur le bureau vos fichiers numérisés 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 optiquemais 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 Libreoffice. +  ​Vous pouvez placer sur le bureau plusieurs fichiers PNG sur lesquels vous voulez procéder à la reconnaissance optiquemais 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 Libreoffice. 
-  ​Cliquez sur le raccourci précédemment créé ou directement sur le script... patientez un peu... Libreoffice s'​ouvrira avec le contenue ​du texte tel qu'il a été reconnu +  ​Cliquez sur le raccourci précédemment créé ou directement sur le script... patientez un peu... Libreoffice s'​ouvrira avec le contenu ​du texte tel qu'il a été reconnu 
-  ​Il vous reste a effectuer les corrections orthographiques et la mise en page.+  ​Il vous reste a effectuer les corrections orthographiques et la mise en page. 
 + 
 +Même méthode pour les fichiers au format JPG, en utilisant l'​outil "​Tesseract-jpg2lofficewriter"​ créé précédemment. 
 + 
 +N.B. : au passage, un document ''​sortie.tif''​ et un document ''​sortie.txt''​ sont placés sur le bureau; ce sont des documents transitoires créés par le script. On peut les effacer en ayant au préalable enregistré le document texte dans un autre dossier. 
 + 
 +==== Autre méthode : pour une reconnaissance optique directe d'un ou plusieurs fichiers PNG ou JPG dans Nautilus ====
  
-Même méthode pour les fichiers au format JPG, en utilisant l'​outil "​Tesseract-jpg2lofficewriter".+ [[:​tutoriel:​comment_modifier_un_fichier|Créez un fichier texte]] que vous nommez par exemple ​"OCR" dans le dossier des [[:​nautilus_scripts|scripts-Nautilus]] (normalement : ~/​.local/​share/​nautilus/​scripts) :<file bash  ~/.local/​share/​nautilus/​scripts/​OCR>​ 
 +#!/bin/sh
  
-N.B. : au passageun document sortie.tif et un document sortie.txt sont placés sur le bureauce sont des documents transitoires créés par le script. On peut les effacer en ayant au préalable enregistré le document texte dans un autre dossier.+mypath="​`pwd`"​ 
 +for filename in "​$@"​ 
 +do 
 +if [ -n "$*,?" ];then 
 +    tesseract "​$mypath/​$filename"​ "​${filename%%.*}" -l fra 
 +fi 
 +done {} 
 +exit 0</​file>​
  
 +- [[:​tutoriel:​script_shell#​methode_graphique|Rendez exécutable]] ce fichier.
  
 +Dans Nautilus vous pouvez désormais sélectionner un ou plusieurs fichiers PNG et/ou JPG, faites un clic droit et exécutez le script "​OCR"​. Chaque fichier txt extrait de tesseract aura le nom du fichier d'​origine avec l'​extension .txt
 =====Utilisation avancée : Amélioration de la reconnaissance ===== =====Utilisation avancée : Amélioration de la reconnaissance =====
  
-Si vous souhaitez améliorer la ROC vous trouverez des explications sur le [[http://code.google.com/p/​tesseract-ocr/​wiki/​TrainingTesseract| ​site "​tesseract-ocr" ​(google)]] en anglais.+Si vous souhaitez améliorer la reconnaissance optique de caractères ​vous trouverez des explications sur le site **(en)** ​[[https://github.com/​tesseract-ocr/tesseract/​wiki/​TrainingTesseract|Wiki de "​tesseract-OCR"]] .
  
 +=====Désinstallation=====
 +Pour supprimer cette application,​ il suffit de [[:​tutoriel:​comment_supprimer_un_paquet|supprimer son paquet]] et les paquets de langues installées.
 +Selon la méthode choisie, la configuration globale des applications sont conservées ou supprimées. Les journaux du système, et les fichiers de préférence des utilisateurs dans leurs dossiers personnels sont toujours conservés.
  
 ===== Liens ===== ===== Liens =====
  
-  * [[http://code.google.com/p/​tesseract-ocr|Site officiel]]+  * [[https://github.com/​tesseract-ocr/​tesseract/​wiki|Site officiel]]
   * [[http://​www.repairfaq.org/​filipg/​gnu/​tesseract/​html-102_03/​|Documentation pour contribuer au code (en anglais)]]   * [[http://​www.repairfaq.org/​filipg/​gnu/​tesseract/​html-102_03/​|Documentation pour contribuer au code (en anglais)]]
-  * [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=78804|le fil de discussion du forum]] +  * [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=78804|le fil de discussion du forum]] ​Open Office, Reconnaissance de caractères,​ Xsane, Kooka et Cie... 
-  * [[http://code.google.com/p/​tesseract-ocr/​wiki/​TrainingTesseract|La page où on parle de l'​apprentissage avec tesseract (anglais)]]+  * [[https://github.com/​tesseract-ocr/tesseract/​wiki/​TrainingTesseract|La page où on parle de l'​apprentissage avec tesseract (anglais)]]
   * [[:ocr|La page de la documentation francophone Ubuntu sur la reconnaissance optique de caractères]]   * [[:ocr|La page de la documentation francophone Ubuntu sur la reconnaissance optique de caractères]]
-  * [[http://ubunteros.tuxfamily.org/spip.php?​article148 ​|Le duo scan2pdf et tesseract ​sur Linux on the Root (en français)]]+  * [[https://gist.github.com/stesie/​42dff3d14fbfac60524f381babb8f81d|script « scan2pdf+ocr.sh » sur le GITHUB]] 
 +  * [[https://​ocrmypdf.readthedocs.io/​en/​latest/​introduction.html|OCRmyPDF]] :​ programme qui rend un fichier PDF indexable – à savoir, dont le contenu peut faire l’objet d’un recherche textuelle. Il est écrit en [[python|Python]],​ s’appuie sur le moteur ROC Tesseract ​et sur GhostScript,​ est disponible au [[snap|format Snap]] ou en [[apt|paquet APT]], et est utilisable en ligne de commande par défaut.
  
 ---- ----
  
-//​Contributeurs : [[:​utilisateurs:​teolemon|Pierre S.]], [[:​utilisateurs:​Hector]] et [[:​utilisateurs:​Sorbus]].//​+//​Contributeurs : [[:​utilisateurs:​teolemon|Pierre S.]], [[:​utilisateurs:​Hector]] et [[:​utilisateurs:​Sorbus]], [[:​utilisateurs:​eagle08]] : liens.//
  • tesseract-ocr.1417375647.txt.gz
  • Dernière modification: Le 30/11/2014, 20:27
  • par L'Africain