Ceci est une ancienne révision du document !



xsane2tess : un adaptateur tesseract pour Xsane

xsane2tess est un adaptateur (wrapper) permettant d'utiliser le moteur de reconnaissance optique de caractères tesseract avec l'interface graphique XSane. xsane2tess, inspiré de ocube, a été proposé par MadMax sur le forum MandrivaUser.de.

Pour utiliser xsane2tess, il faut installer tesseract avec les modules de langue que l'on souhaite pouvoir utiliser.

Il est nécessaire d'installer les paquets xsane et imagemagick.

Certains pensent que : "A partir d'Ubuntu 10.10, il faut installer, à la place de imagemagick, les paquets graphicsmagick et graphicsmagick-imagemagick-compat." mais un test fait en décembre 2012 avec Ubuntu 12.04 LTS montre que xsane2tess fonctionne parfaitement en installant simplement imagemagick (et sans avoir installé graphicsmagick et graphicsmagick-imagemagick-compat*)</note> ===== Installation ===== On peut utiliser au choix l'une ou l'autre méthode ci-dessous : installer avec le paquet deb, ce qui est plus simple et plus rapide (mais possible que si tesseract a été installé avec le paquet deb de "b52"), ou bien installer soi-même le script "à la main", ce qui fonctionne quelle que soit la façon dont on a installé tesseract (et permet accessoirement de comprendre davantage le fonctionnement). ==== Avec le paquet deb de GuadaUsers ==== GuadaUsers propose un dépôt non-officiel de paquets debian, hébergé par tuxfamily, pour la distribution GNU/Linux Guadalinex (distribution andalouse, basée sur Ubuntu. Guadalinex V4 = Edgy, Guadalinex V5 = Hardy). <note important>Attention : ce paquet ne peut être utilisé que si tesseract a été installé avec le paquet deb de "b52". Si tesseract a été installé par les dépôts Ubuntu (par apt-get, synaptic ou aptitude), il faut installer xsane2tess "à la main" comme indiqué dans le paragraphe suivant… ce qui n'est pas compliqué !</note> 1°) Télécharger et installer le paquet deb de GuadaUsers, adapté aussi bien pour les architectures 32 bits que pour les 64 bits (i386 et amd64). Ce paquet a été testé sous Ubuntu Edgy et Gutsy. 2°) Créer un dossier tmp dans /home/votre_identité. * xsane2tess aura besoin de ce dossier pour placer son fichier de log : /home/votre_identité/tmp/xsane2tess.log * Vous pourrez ensuite consulter ce fichier pour observer les éventuelles erreurs. ==== En installant soi-même le script "à la main" ==== 1°) Copier le script ci-dessous dans un fichier (sur votre bureau)( Application/Accessoires/Éditeur de texte) et l'enregistrer sous le nom de xsane2tess #!/bin/bash # # ############################################################################## # # xsane2tess 1.0 # # * tesseract made simple * # # ############################################################################## # # xsane2tess is a TesseractOCR wrapper to be able to use tesseract with xsane # # # TEMP_DIR=~/tmp/ # folder for temporary files (TIFF & tesseract data) ERRORLOG="xsane2tess.log" # file where STDERR goes if -z "$1" then echo "Usage: $0 [OPTIONS] xsane2tess converts files to TIF, scans them with TesseractOCR and outputs the text in a file. OPTIONS: -i <file1> define input file (any image-format supported) -o <file2> define output-file (*.txt) -l <lang> define language-data tesseract should use Progress- & error-messages will be stored in this logfile: $TEMP_DIR$ERRORLOG xsane2tess depends on - ImageMagick http://www.imagemagick.org/ - TesseractOCR http://code.google.com/p/tesseract-ocr/ Some coding was stolen from 'ocube' http://www.geocities.com/thierryguy/ocube.html " exit fi # get options… while getopts ":i:o:l:" OPTION do case $OPTION in i) # input filename (with path) FILE_PATH="$OPTARG" ;; o ) # output filename FILE_OUT="$OPTARG" ;; l ) # Language-selection TES_LANG="$OPTARG" ;; esac done # redirect STDOUT to FILE_OUT exec 1»$FILE_OUT # redirect STDERR to ERRORLOG exec 2»$TEMP_DIR$ERRORLOG # strip path from FILE_PATH, use filename only IN_FILE=${FILE_PATH##*/} TIF_FILE="$TEMP_DIR""${IN_FILE%.*}".tif TXT_FILE="$TEMP_DIR""${IN_FILE%.*}" # converting image into TIFF (ImageMagick) convert "$FILE_PATH" -compress none "$TIF_FILE" 1>&2 # start OCR (tesseract expands output with *.txt) tesseract "$TIF_FILE" "$TXT_FILE" -l "$TES_LANG" 1>&2 # STDOUT scanned text ⇒ FILE_OUT cat "$TXT_FILE".txt # delete graphic file after use rm "$TIF_FILE" # delete tesseract output rm "$TXT_FILE".txt 2°) Rendre exécutable ce fichier xsane2tess Clic droit sur le fichier –> Propriétés –> onglet "Permissions" –> Cocher la case "Autoriser l'exécution du fichier comme un programme". 3°) Copier ce fichier xsane2tess dans /usr/bin sudo cp /home/votre_identité/Desktop/xsane2tess /usr/bin ou sudo cp /home/votre_identité/Bureau/xsane2tess /usr/bin Mettre le bon chemin en remplaçant dans ce chemin "votre_identité" par votre identité sous Ubuntu… et en mettant "Desktop" ou "Bureau" selon la façon dont le nom de votre bureau est enregistré dans votre version d'Ubuntu ! 4°) Créer un dossier tmp dans /home/votre_identité. * xsane2tess aura besoin de ce dossier pour placer son fichier de log : /home/votre_identité/tmp/xsane2tess.log * Vous pourrez ensuite consulter ce fichier pour observer les éventuelles erreurs. ===== Utilisation ===== <note important>Ces instructions pour l'utilisation ne fonctionnent pas en l'ètat ! Ou bien elles ne sont pas correctes, ou bien pas complètes, ou alors il manque des instructions de configuration dans les différents programmes utilisés. À compléter. 29/01/2012 10.04 Ça semble fonctionner tel quel … </note> Ouvrir XSane : Applications → Graphisme → Scanneur d'images XSane Dans Préférences → Configuration → Onglet "OCR" : * Commande OCR : xsane2tess -l fra * Option de fichier d'entrée : -i * Option de fichier de sortie : -o <note important>Dans l'onglet OCR de XSane, les indications ci-dessus ("xsane2tess -l fra", "-i" et "-o") ne doivent pas être précédées ni suivies d'une espace. La présence d'une espace avant ou après ces indications entraine un dysfonctionnement d'xsane2tess. Par contre, dans "xsane2tess -l fra", il faut bien une espace entre "xsane2tess" et "-l", et une autre entre "-l" et "fra".</note> <note important>N.B. : dans la commande OCR "xsane2tess -l fra", l'indication de la langue est précédée par l'option "-l" (la lettre "L" minuscule et non le chiffre "1").</note> <note important>Attention : pas d'espace dans les noms des chemins (des répertoires) ou des fichiers** (indiqués dans la fenêtre d'Xsane) pour effectuer la reconnaissance optique de caractère.

La langue du texte à scanner peut être modifiée quand on le veut dans le menu de configuration de XSane (l'option-l), à condition d'avoir installé les fichiers de langues correspondants de tesseract, comme indiqué dans le paragraphe Pré-requis.

XSane présente le grand avantage de permettre la sélection des colonnes ou zones d'un texte l'une après l'autre grâce à la prévisualisation, avant de scanner, et donc avant traitement ROC par tesseract.

On obtient de bons résultats en scannant à 300 ppi, noir et blanc (fichier "type : TEXT"). Les fichiers contenant le texte sont par défaut créés sur le bureau. Pour plus de précisions, voir le paragraphe sur la ROC avec XSane.

Il suffit de copier-coller les fichiers obtenus dans un fichier OOo Writer, et la reconnaissance orthographique d'OpenOffice fait le reste…

  • xsane2tess.1354820205.txt.gz
  • Dernière modification: Le 06/12/2012, 19:56
  • par Sorbus
  • Actuellement bloqué par: 216.73.216.227,10.42.2.254