Nous allons voir dans cet exemple les différentes étapes permettant la mise en oeuvre de L'OCR directement à partir de MedinTux. Cet exemple est donné à titre didactique pour que vous puissiez en comprendre le fonctionnement. MedinTux est déjà pré-paramétré et fourni avec tout ce qu'il faut pour que vous n'ayez pas à faire tout ce qui est décrit ci-dessous. Pour juste utiliser le menu allez au paragraphe : -C-
paramétrer lors de la première utilisation de Xsane l'absence de compression pour les images.tif et une résolution de numérisation de 400 DPI.
il faut aussi installer l'adaptateur : medintux2tess.sh de Tesseract pour MedinTux dans le répertoire /Plug/OCR/
ci dessous le script l'adaptateur medintux2tess.sh :
#!/bin/bash ############################################################################## # medintux2tess ############################################################################## # medintux2tess is a TesseractOCR wrapper to be able to use tesseract with # xsane and MedinTux ERRORLOG="medintux2tess.log" # file where STDERR goes TEMP_DIR=$4 #............... redirect STDOUT to FILE_OUT ................ exec 1>>$FILE_OUT #............... redirect STDERR to ERRORLOG ............... exec 2>>$TEMP_DIR$ERRORLOG TIF_FILE=$1 TXT_FILE=$2 TES_LANG=$3 FILE_OUT="medintux2tess.out" if [ $5 == 'debug' ]; then echo "=========================================">&2 echo " medintux2tess">&2 echo "=========================================">&2 echo "------------ arguments-------------------">&2 echo $1>&2 echo $2>&2 echo $3>&2 echo $4>&2 echo "------------ fichiers--------------------">&2 echo "Rep. Temp : "$TEMP_DIR>&2 echo "Fichier tif : "$TEMP_DIR""$TIF_FILE>&2 echo "Fichier txt : "$TEMP_DIR""$TXT_FILE>&2 echo "Langage : "$TES_LANG>&2 echo "-----------------------------------------">&2 fi # ............... converting image into TIFF (ImageMagick) ............... convert -compress none "$TEMP_DIR""$TIF_FILE" "$TEMP_DIR""$TIF_FILE" 1>&2 #............... start OCR (tesseract expands output with *.txt) ............... tesseract $TEMP_DIR$TIF_FILE $TEMP_DIR$TXT_FILE $TES_LANG 1>&2 #............... STDOUT scanned text => FILE_OUT ............... cat "$TEMP_DIR""$TXT_FILE".txt
l'entrée suivante : ListDocuments = Gestion des images désignant la liste déroulante Gestion des images comme liste permanente du menu contextuel de la rubrique 'Documents'
[MenuContextuel] Observation = Date SU Prescription = pendant Documents = Gestion des documents Identification = Gestion des documents ListImages = Gestion des images
L'objectif est d'ajouter à ma liste déroulante pemanente : Gestion des images l'option de menu permettant d'appeler et d'accéder aux fonctions de l'OCR, avec les bons paramètres d'appel.
Pour cela, cliquez sur ou touche F8 pour accéder au gestionnaire de menus déroulants.
Sélectionner le menu permanent : Gestion des images de la rubrique 'Documents' et,
s'il n'y a pas cette liste déroulante, créez-la.
Ajoutez-y et créez l'option de menu : 'Numérisation et OCR avec Xsane et tesseract.html'
et saisissez pour cette option le Script MedinTux suivant (vous pouvez copier coller).
$start_titleNumérisation et OCR avec Xsane et tesseract$end_title\ \ {{::delete_file (../../tmp/LastScanned.tif)}}\ {{::delete_file (../../tmp/LastScanned.txt, clear)}}\ {{::delete_file (../../tmp/medintux2tess.log)}}\ {{::exe_process (WaitEnd ,/usr/bin/xsane,--save,-N$ToAbsPath../../tmp/LastScanned.tif)}}\ {{::exe_process (WaitEnd,../../Plug/OCR/medintux2tess.sh,LastScanned.tif,LastScanned,-l fra,$ToAbsPath../../tmp$EndToAbsPath/,nodebug)}}\ {{::import (../../tmp/LastScanned.txt , insert)}}
Rappel sur la mise en lignes d'un Script MedinTux : un Script MedinTux est un texte qui comporte des instructions situées entre doubles crochets pouvant se trouver dans les documents d'en-tête et de pied de pages,
dans les modèles et maquettes du Glossaire, dans les menus déroulants Nous appellerons et désignerons ce bloc de texte par les termes suivants (équivalents) : champs de fusion ou champs d'extraction ou champs d'insertion. Exemple :{{::Intitule ( Importation Texte OCR ) }}. Ces instructions seront exécutées Tout texte situé en dehors des doubles crochets dr_tux ou situé en dehors des deux balises $start_title et $end_title est ajouté au résultat . Le texte d'un script peut être sur plusieurs lignes, et si vous ne voulez pas que les retours à la ligne du script soient ajoutés lors de l'insertion du texte résultant de la résolution de ce script, il faut les invalider par le caractère \ placé en fin de ligne.
Enregistrez votre magnifique texte de script.
Cliquez sur l'option précédemment définie 'Numérisation et OCR avec Xsane et tesseract' avec le bouton droit de la souris ou la touche F2 au-dessus de la rubrique 'Documents' .
cela doit faire apparaître la fenêtre suivante ci-dessous.
Cliquez sur le bouton 'Acquisition de l'aperçu' : afin d'afficher l'aperçu du document dont il faut sélectionner la zone d'image pour laquelle il faut faire une reconnaissance de caractères.
Encadrez à l'aide de la souris la zone d'image pour laquelle il faut faire une reconnaissance de caractères et, une fois celle-ci définie, cliquez sur le bouton 'Numériser' . Lorsque la numérisation est finie, fermez la fenêtre en cliquant sur la case de fermeture,
et après un petit instant pendant lequel la reconnaissance opère …
vous aurez la surprise de voir s'insérer à l'emplacement du curseur texte, le résultat de la reconnaissance dont Il vous faudra probablement corriger les approximations et erreurs.
Simple et efficace non ?