dr_tux:ocr

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-

Tutoriel Video

Préalables d'installations des divers utilitaires nécessaires et le Menu d'appel

  • Il faut bien sûr que Xsane le logiciel de numérisation d'images soit installé. http://www.xsane.org/

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 :

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
  • Il faut aussi que ImageMagick soit installé. http://www.imagemagick.org/
  • Il faut aussi que les fichiers drtux.ini et Manager.ini comportent dans la section :[MenuContextuel]

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
 

Définir l'option de menu d'appel de l'OCR

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

scipt medintux
$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.

Actionnez le menu déroulant en cliquant avec le bouton droit de la souris

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.

Numériser l'image, en sélectionnant la zone d'image avec le texte

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 …

Résultat de l'OCR (reconnaissance de caractères) intégré dans MedinTux

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 ?

dr_tux/ocr.txt · Dernière modification: 2011/09/21 18:59 par 83.201.246.128