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…

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.

Pré-requis

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).

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).

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é !

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

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

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".

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").

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…

Références


xsane2tess.txt · Dernière modification: Le 08/07/2013, 08:18 par mydjey
Le contenu de ce wiki est sous licence : CC BY-SA v3.0