probleme script [Réglé]
la fin ne fonctionne pas
Système et matériels / Imprimantes scanners et Appareils Photo

GPE GPE Membre non connecté
-
- Voir le profil du membre GPE GPE
- Inscrit le : 05/06/2011
- Groupes :
possédant une imprimante brother j'ai modifier le script scantoocr mais la dernière ligne ne fonctionne pas alors que si je l’exécute dans un terminal sa fonctionne!
scantoocr
Caché :
#! /bin/sh
set +o noclobber
#
# $1 = scanner device
# $2 = friendly name
#
#
# 100,200,300,400,600
#
resolution=300
device=$1
mkdir -p ~/brscan
if [ "`which usleep 2>/dev/null `" != '' ];then
usleep 100000
else
sleep 0.1
fi
output_file=`mktemp ~/brscan/OCR/brscan.XXXXXX`
#echo "scan from $2($device) to $output_file"
scanimage --device-name "$device" --resolution $resolution> $output_file 2>/dev/null
if [ ! -s $output_file ];then
if [ "`which usleep 2>/dev/null `" != '' ];then
usleep 1000000
else
sleep 1
fi
scanimage --device-name "$device" --resolution $resolution> $output_file 2>/dev/null
fi
#echo gimp -n $output_file 2>/dev/null \;rm -f $output_file | sh &
if [ $? = 0 ]
then
convert $output_file -monochrome "$output_file.tif"
# tesseract *.tif * -l fra
# convert $output_file "$output_file.png"
else
convert $output_file "$output_file.tif"
# tesseract *.tif * -l fra
fi
rm $output_file
tesseract *.tif * -l fra
set +o noclobber
#
# $1 = scanner device
# $2 = friendly name
#
#
# 100,200,300,400,600
#
resolution=300
device=$1
mkdir -p ~/brscan
if [ "`which usleep 2>/dev/null `" != '' ];then
usleep 100000
else
sleep 0.1
fi
output_file=`mktemp ~/brscan/OCR/brscan.XXXXXX`
#echo "scan from $2($device) to $output_file"
scanimage --device-name "$device" --resolution $resolution> $output_file 2>/dev/null
if [ ! -s $output_file ];then
if [ "`which usleep 2>/dev/null `" != '' ];then
usleep 1000000
else
sleep 1
fi
scanimage --device-name "$device" --resolution $resolution> $output_file 2>/dev/null
fi
#echo gimp -n $output_file 2>/dev/null \;rm -f $output_file | sh &
if [ $? = 0 ]
then
convert $output_file -monochrome "$output_file.tif"
# tesseract *.tif * -l fra
# convert $output_file "$output_file.png"
else
convert $output_file "$output_file.tif"
# tesseract *.tif * -l fra
fi
rm $output_file
tesseract *.tif * -l fra
si quelqu'un a une solution!
merci
kde plasma MGA9

Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
Je ne comprends pas ce qui fonctionne et ne fonctionne pas.
Qu'elle est l'autre utilisation qu'en ligne de commande ?
Yves

GPE GPE Membre non connecté
-
- Voir le profil du membre GPE GPE
- Inscrit le : 05/06/2011
- Groupes :
Papoteur :
Bonjour,
Je ne comprends pas ce qui fonctionne et ne fonctionne pas.
Qu'elle est l'autre utilisation qu'en ligne de commande ?
Je ne comprends pas ce qui fonctionne et ne fonctionne pas.
Qu'elle est l'autre utilisation qu'en ligne de commande ?
Merci de me répondre!
voilà le script ce passe bien sauf la dernière commande "tesseract *.tif * -l fra" j'ai juste le fichier *.tif et aucun fichier txt!
Merci
kde plasma MGA9

Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
Je pense qu'il n'aime pas le caractère de généralisation * dans le nom.
Il faut que tu spécifies explicitement un nom complet. Pareil pour la sortie.
Yves

GPE GPE Membre non connecté
-
- Voir le profil du membre GPE GPE
- Inscrit le : 05/06/2011
- Groupes :
Papoteur :
Bonjour,
Je pense qu'il n'aime pas le caractère de généralisation * dans le nom.
Il faut que tu spécifies explicitement un nom complet. Pareil pour la sortie.
Je pense qu'il n'aime pas le caractère de généralisation * dans le nom.
Il faut que tu spécifies explicitement un nom complet. Pareil pour la sortie.
oui mais c'est l'imprimante qui donne un non aléatoire genre "brscan.jl1nBz.tif" pourtant quand j’exécute mon fichier dans un terminal il me sort le fichier final en txt!
Merci
kde plasma MGA9

steven Membre non connecté
-
- Voir le profil du membre steven
- Inscrit le : 18/05/2018

Je ne suis pas un specialiste mais il y a un truc qui m'a........
ton script dit : > tesseract *.tif * -l fra
et du peu que je sais c'est qu'il ne supporte pas les séparateurs collé à !
perso j'essaierais : tesseract *.tif * - [espace] l [espace]fra
parce qu'impossible de savoir si c'est | fra ou -l fra [- L minuscule).
par ce que là, n'etant pas clair, tu va avoir un probleme de script
* tous seul en script correspond a la designation de sous rep je crois...
voilà!
bonne chance

Édité par steven Le 01/02/2020 à 13h57
No Comment ...
Merci de ne pas 'rebondir' sur mes post's
Censor => 2025





GPE GPE Membre non connecté
-
- Voir le profil du membre GPE GPE
- Inscrit le : 05/06/2011
- Groupes :
steven :
Bonsoir 
Je ne suis pas un specialiste mais il y a un truc qui m'a........
ton script dit : > tesseract *.tif * -l fra
et du peu que je sais c'est qu'il ne supporte pas les séparateurs collé à !
perso j'essaierais : tesseract *.tif * - [espace] l [espace]fra
parce qu'impossible de savoir si c'est | fra ou -l fra [- L minuscule).
par ce que là, n'etant pas clair, tu va avoir un probleme de script
* tous seul en script correspond a la designation de sous rep je crois...
voilà!
bonne chance

Je ne suis pas un specialiste mais il y a un truc qui m'a........
ton script dit : > tesseract *.tif * -l fra
et du peu que je sais c'est qu'il ne supporte pas les séparateurs collé à !
perso j'essaierais : tesseract *.tif * - [espace] l [espace]fra
parce qu'impossible de savoir si c'est | fra ou -l fra [- L minuscule).
par ce que là, n'etant pas clair, tu va avoir un probleme de script
* tous seul en script correspond a la designation de sous rep je crois...
voilà!
bonne chance

bonjour,
c'est un L minuscule mais cette partie du script fonctionne tester dans un terminal!
merci
kde plasma MGA9

GPE GPE Membre non connecté
-
- Voir le profil du membre GPE GPE
- Inscrit le : 05/06/2011
- Groupes :
il manquait une ligne indiquant le dossier ou est l'image tif!
scantoocr
Caché :
#! /bin/sh
set +o noclobber
#
# $1 = scanner device
# $2 = friendly name
#
#
# 100,200,300,400,600
#
resolution=300
device=$1
mkdir -p ~/brscan
if [ "`which usleep 2>/dev/null `" != '' ];then
usleep 100000
else
sleep 0.1
fi
output_file=`mktemp ~/brscan/OCR/brscan.XXXXXX`
#echo "scan from $2($device) to $output_file"
scanimage --device-name "$device" --resolution $resolution> $output_file 2>/dev/null
if [ ! -s $output_file ];then
if [ "`which usleep 2>/dev/null `" != '' ];then
usleep 1000000
else
sleep 1
fi
scanimage --device-name "$device" --resolution $resolution> $output_file 2>/dev/null
fi
#echo gimp -n $output_file 2>/dev/null \;rm -f $output_file | sh &
if [ $? = 0 ]
then
convert $output_file -monochrome "$output_file.tif"
# tesseract *.tif * -l fra
# convert $output_file "$output_file.png"
else
convert $output_file "$output_file.tif"
# tesseract *.tif * -l fra
fi
rm $output_file
sleep 1
#./scanocr.sh
cd /home/votre-nom/brscan/OCR
tesseract brscan.*.tif * -l fra
rm *.tif
set +o noclobber
#
# $1 = scanner device
# $2 = friendly name
#
#
# 100,200,300,400,600
#
resolution=300
device=$1
mkdir -p ~/brscan
if [ "`which usleep 2>/dev/null `" != '' ];then
usleep 100000
else
sleep 0.1
fi
output_file=`mktemp ~/brscan/OCR/brscan.XXXXXX`
#echo "scan from $2($device) to $output_file"
scanimage --device-name "$device" --resolution $resolution> $output_file 2>/dev/null
if [ ! -s $output_file ];then
if [ "`which usleep 2>/dev/null `" != '' ];then
usleep 1000000
else
sleep 1
fi
scanimage --device-name "$device" --resolution $resolution> $output_file 2>/dev/null
fi
#echo gimp -n $output_file 2>/dev/null \;rm -f $output_file | sh &
if [ $? = 0 ]
then
convert $output_file -monochrome "$output_file.tif"
# tesseract *.tif * -l fra
# convert $output_file "$output_file.png"
else
convert $output_file "$output_file.tif"
# tesseract *.tif * -l fra
fi
rm $output_file
sleep 1
#./scanocr.sh
cd /home/votre-nom/brscan/OCR
tesseract brscan.*.tif * -l fra
rm *.tif
kde plasma MGA9
J'ai voulu essayer, par curiosité, parce que je n'en ai pas réellement besoin.
J'ai donc adapté ton script ainsi :
Caché :
#! /bin/sh
set +o noclobber
#
# $1 = scanner device
# $2 = friendly name
#
#
# 100,200,300,400,600
#
resolution=300
#device=$1
device=Brother-DCP-9015CDW
#mkdir -p ~/brscan
mkdir -p /tmp/OCR
if [ "`which usleep 2>/dev/null `" != '' ];then
usleep 100000
else
sleep 0.1
fi
#output_file=`mktemp ~/brscan/OCR/brscan.XXXXXX`
output_file=`mktemp /tmp/OCR/brscan.XXXXXX`
#echo "scan from $2($device) to $output_file"
scanimage --device-name "$device" --resolution $resolution> $output_file 2>/dev/null
if [ ! -s $output_file ];then
if [ "`which usleep 2>/dev/null `" != '' ];then
usleep 1000000
else
sleep 1
fi
scanimage --device-name "$device" --resolution $resolution> $output_file 2>/dev/null
fi
#echo gimp -n $output_file 2>/dev/null \;rm -f $output_file | sh &
if [ $? = 0 ]
then
convert $output_file -monochrome "$output_file.tif"
# tesseract *.tif * -l fra
# convert $output_file "$output_file.png"
else
convert $output_file "$output_file.tif"
# tesseract *.tif * -l fra
fi
rm $output_file
sleep 1
#./scanocr.sh
#cd /home/votre-nom/brscan/OCR
cd /tmp/OCR
tesseract brscan.*.tif * -l fra
rm *.tif
#! /bin/sh
set +o noclobber
#
# $1 = scanner device
# $2 = friendly name
#
#
# 100,200,300,400,600
#
resolution=300
#device=$1
device=Brother-DCP-9015CDW
#mkdir -p ~/brscan
mkdir -p /tmp/OCR
if [ "`which usleep 2>/dev/null `" != '' ];then
usleep 100000
else
sleep 0.1
fi
#output_file=`mktemp ~/brscan/OCR/brscan.XXXXXX`
output_file=`mktemp /tmp/OCR/brscan.XXXXXX`
#echo "scan from $2($device) to $output_file"
scanimage --device-name "$device" --resolution $resolution> $output_file 2>/dev/null
if [ ! -s $output_file ];then
if [ "`which usleep 2>/dev/null `" != '' ];then
usleep 1000000
else
sleep 1
fi
scanimage --device-name "$device" --resolution $resolution> $output_file 2>/dev/null
fi
#echo gimp -n $output_file 2>/dev/null \;rm -f $output_file | sh &
if [ $? = 0 ]
then
convert $output_file -monochrome "$output_file.tif"
# tesseract *.tif * -l fra
# convert $output_file "$output_file.png"
else
convert $output_file "$output_file.tif"
# tesseract *.tif * -l fra
fi
rm $output_file
sleep 1
#./scanocr.sh
#cd /home/votre-nom/brscan/OCR
cd /tmp/OCR
tesseract brscan.*.tif * -l fra
rm *.tif
Réponse :
$ ./scantoocr
warning: usleep is deprecated, and will be removed in near future!
warning: use "sleep 0.1" instead...
warning: usleep is deprecated, and will be removed in near future!
warning: use "sleep 1" instead...
convert: no decode delegate for this image format `3QJBJM' @ error/constitute.c/ReadImage/556.
convert: no images defined `/tmp/OCR/brscan.3qjBJM.tif' @ error/convert.c/ConvertImageCommand/3273.
Tesseract Open Source OCR Engine v4.0.0 with Leptonica
Error, cannot read input file brscan.*.tif: No such file or directory
Error during processing.
rm: impossible de supprimer '*.tif': Aucun fichier ou dossier de ce type
Le script n'est pas sensé lancer le scanner de l'imprimante ?
Parce qu'il ne se passe rien...
joel

GPE GPE Membre non connecté
-
- Voir le profil du membre GPE GPE
- Inscrit le : 05/06/2011
- Groupes :
joel :
Merci pour ton script.
J'ai voulu essayer, par curiosité, parce que je n'en ai pas réellement besoin.
Le script n'est pas sensé lancer le scanner de l'imprimante ?
Parce qu'il ne se passe rien...
J'ai voulu essayer, par curiosité, parce que je n'en ai pas réellement besoin.
Le script n'est pas sensé lancer le scanner de l'imprimante ?
Parce qu'il ne se passe rien...
le script fonctionne depuis l'imprimante Brother celle qui ont les commandes vers pc
depuis j'ai modifié le script
Caché :
#! /bin/sh
set +o noclobber
#
# $1 = scanner device
# $2 = friendly name
#
#
# 100,200,300,400,600
#
cd /home/votre-nom/brscan/OCR/temp
rm *.*
resolution=300
device=$1
mkdir -p ~/brscan
if [ "`which usleep 2>/dev/null `" != '' ];then
usleep 100000
else
sleep 0.1
fi
output_file=`mktemp ~/brscan/OCR/temp/brscan.XXXXXX`
#echo "scan from $2($device) to $output_file"
scanimage --device-name "$device" --resolution $resolution> $output_file 2>/dev/null
if [ ! -s $output_file ];then
if [ "`which usleep 2>/dev/null `" != '' ];then
usleep 1000000
else
sleep 1
fi
scanimage --device-name "$device" --resolution $resolution> $output_file 2>/dev/null
fi
#echo gimp -n $output_file 2>/dev/null \;rm -f $output_file | sh &
if [ $? = 0 ]
then
convert $output_file -monochrome "$output_file.tif"
# tesseract *.tif * -l fra
# convert $output_file "$output_file.png"
else
convert $output_file "$output_file.tif"
# tesseract *.tif * -l fra
fi
rm $output_file
sleep 1
cd /home/votre-nom/brscan/OCR/temp
tesseract brscan.*.tif * -l fra
mv *.txt /home/guy-jean/brscan/OCR
set +o noclobber
#
# $1 = scanner device
# $2 = friendly name
#
#
# 100,200,300,400,600
#
cd /home/votre-nom/brscan/OCR/temp
rm *.*
resolution=300
device=$1
mkdir -p ~/brscan
if [ "`which usleep 2>/dev/null `" != '' ];then
usleep 100000
else
sleep 0.1
fi
output_file=`mktemp ~/brscan/OCR/temp/brscan.XXXXXX`
#echo "scan from $2($device) to $output_file"
scanimage --device-name "$device" --resolution $resolution> $output_file 2>/dev/null
if [ ! -s $output_file ];then
if [ "`which usleep 2>/dev/null `" != '' ];then
usleep 1000000
else
sleep 1
fi
scanimage --device-name "$device" --resolution $resolution> $output_file 2>/dev/null
fi
#echo gimp -n $output_file 2>/dev/null \;rm -f $output_file | sh &
if [ $? = 0 ]
then
convert $output_file -monochrome "$output_file.tif"
# tesseract *.tif * -l fra
# convert $output_file "$output_file.png"
else
convert $output_file "$output_file.tif"
# tesseract *.tif * -l fra
fi
rm $output_file
sleep 1
cd /home/votre-nom/brscan/OCR/temp
tesseract brscan.*.tif * -l fra
mv *.txt /home/guy-jean/brscan/OCR
kde plasma MGA9

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
GPE GPE :
le script fonctionne depuis l'imprimante Brother celle qui ont les commandes vers pc
depuis j'ai modifié le script
joel :
Merci pour ton script.
J'ai voulu essayer, par curiosité, parce que je n'en ai pas réellement besoin.
Le script n'est pas sensé lancer le scanner de l'imprimante ?
Parce qu'il ne se passe rien...
J'ai voulu essayer, par curiosité, parce que je n'en ai pas réellement besoin.
Le script n'est pas sensé lancer le scanner de l'imprimante ?
Parce qu'il ne se passe rien...
le script fonctionne depuis l'imprimante Brother celle qui ont les commandes vers pc
depuis j'ai modifié le script
Caché :
#! /bin/sh
set +o noclobber
#
# $1 = scanner device
# $2 = friendly name
#
#
# 100,200,300,400,600
#
cd /home/votre-nom/brscan/OCR/temp
rm *.*
resolution=300
device=$1
mkdir -p ~/brscan
if [ "`which usleep 2>/dev/null `" != '' ];then
usleep 100000
else
sleep 0.1
fi
output_file=`mktemp ~/brscan/OCR/temp/brscan.XXXXXX`
#echo "scan from $2($device) to $output_file"
scanimage --device-name "$device" --resolution $resolution> $output_file 2>/dev/null
if [ ! -s $output_file ];then
if [ "`which usleep 2>/dev/null `" != '' ];then
usleep 1000000
else
sleep 1
fi
scanimage --device-name "$device" --resolution $resolution> $output_file 2>/dev/null
fi
#echo gimp -n $output_file 2>/dev/null ;rm -f $output_file | sh &
if [ $? = 0 ]
then
convert $output_file -monochrome "$output_file.tif"
# tesseract *.tif * -l fra
# convert $output_file "$output_file.png"
else
convert $output_file "$output_file.tif"
# tesseract *.tif * -l fra
fi
rm $output_file
sleep 1
cd /home/votre-nom/brscan/OCR/temp
tesseract brscan.*.tif * -l fra
mv *.txt /home/guy-jean/brscan/OCR
set +o noclobber
#
# $1 = scanner device
# $2 = friendly name
#
#
# 100,200,300,400,600
#
cd /home/votre-nom/brscan/OCR/temp
rm *.*
resolution=300
device=$1
mkdir -p ~/brscan
if [ "`which usleep 2>/dev/null `" != '' ];then
usleep 100000
else
sleep 0.1
fi
output_file=`mktemp ~/brscan/OCR/temp/brscan.XXXXXX`
#echo "scan from $2($device) to $output_file"
scanimage --device-name "$device" --resolution $resolution> $output_file 2>/dev/null
if [ ! -s $output_file ];then
if [ "`which usleep 2>/dev/null `" != '' ];then
usleep 1000000
else
sleep 1
fi
scanimage --device-name "$device" --resolution $resolution> $output_file 2>/dev/null
fi
#echo gimp -n $output_file 2>/dev/null ;rm -f $output_file | sh &
if [ $? = 0 ]
then
convert $output_file -monochrome "$output_file.tif"
# tesseract *.tif * -l fra
# convert $output_file "$output_file.png"
else
convert $output_file "$output_file.tif"
# tesseract *.tif * -l fra
fi
rm $output_file
sleep 1
cd /home/votre-nom/brscan/OCR/temp
tesseract brscan.*.tif * -l fra
mv *.txt /home/guy-jean/brscan/OCR
Salut, je me suis permis de faire quelques modifications :
supprimer l'instruction obsolète usleep pour ne garder que sleep. Pourquoi s'obstiner à la garder ?
J'ai commenté le code.
Code BASH :
#! /bin/sh ### Pourquoi ? set +o noclobber # # $1 = scanner device # $2 = friendly name # DEVICE=$1 FRIENDLYNAME=$2 # # 100,200,300,400,600 # RESOLUTION=300 ### BUG : le dossier (probablement inexistant) est ouvert cd ${HOME}/brscan/OCR/temp rm *.* ### BUG (suite) : et ici, s'il n'est pas existant, on le créer. Mais on vient d'essayer de l'ouvrir juste avant. mkdir -p ${HOME}/brscan ### Pourquoi ? sleep 0.1 ### Pourquoi utiliser la partition principale ? Le but de mktemp justement est de travailler sur la mémoire vive. output_file=$(mktemp ${HOME}/brscan/OCR/temp/brscan.XXXXXX ) #echo "scan from ${FRIENDLYNAME}(${DEVICE}) to $output_file" scanimage --device-name "${DEVICE}" --resolution ${RESOLUTION} > ${output_file} 2>/dev/null if [ ! -s ${output_file} ];then ### Pourquoi attendre ? sleep 1 scanimage --device-name "${DEVICE}" --resolution ${RESOLUTION} > ${output_file} 2>/dev/null fi #echo gimp -n ${output_file} 2>/dev/null \; rm -f ${output_file} | sh & if [ ${?} = 0 ]; then convert ${output_file} -monochrome "${output_file}.tif" # tesseract *.tif * -l fra # convert ${output_file} "${output_file}.png" else convert ${output_file} "${output_file}.tif" # tesseract *.tif * -l fra fi rm ${output_file} ### Pourquoi attendre encore ? sleep 1 cd ${HOME}/brscan/OCR/temp tesseract brscan.*.tif * -l fra mv *.txt ${HOME}/brscan/OCR
Tu peux ajouter des messages au script, par exemple :
Code BASH :
echo "Un message d'erreur ou de contrôle" >&2
Ou encore, faire quelques fonctions :
Code BASH :
function printerror() { echo -e "\e[1;31m$(timestamp) ${1}\e[0m" >&2 } function printmessage() { echo -e "\e[1;32m$(timestamp) ${1}\e[0m" >&2 } printmessage "Voici un message bien vert voyant." printerreur "En voici un autre bien rouge alertant !" printmessage "Mais finalement, finir par un vert..."
J'ai posé quelques questions dans le code, n'hésite pas à continuer l'échange.
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

GPE GPE Membre non connecté
-
- Voir le profil du membre GPE GPE
- Inscrit le : 05/06/2011
- Groupes :
Jybz :
[quote=GPE GPE]
J'ai posé quelques questions dans le code, n'hésite pas à continuer l'échange.
J'ai posé quelques questions dans le code, n'hésite pas à continuer l'échange.
c'est un script que j'ai récupérer de l'installation de ma brother, la plupart des lignes de codes y étaient déjà, j'ai juste modifié une ligne ou deux!
je suis pas un as du code! donc je ne peut te répondre!
mais merci de ton aide j'ai corriger suite à tes indications.
donc voici le code rectifier
Caché :
#! /bin/sh
#
# $1 = scanner device
# $2 = friendly name
#
DEVICE=$1
FRIENDLYNAME=$2
#
# 100,200,300,400,600
#
RESOLUTION=300
mkdir -p ${HOME}/brscan/OCR/temp
cd ${HOME}/brscan/OCR/temp
rm *.*
### Pourquoi utiliser la partition principale ? Le but de mktemp justement est de travailler sur la mémoire vive.
output_file=$(mktemp ${HOME}/brscan/OCR/temp/brscan.XXXXXX )
#echo "scan from ${FRIENDLYNAME}(${DEVICE}) to $output_file"
scanimage --device-name "${DEVICE}" --resolution ${RESOLUTION} > ${output_file} 2>/dev/null
if [ ! -s ${output_file} ];then
scanimage --device-name "${DEVICE}" --resolution ${RESOLUTION} > ${output_file} 2>/dev/null
fi
#echo gimp -n ${output_file} 2>/dev/null \; rm -f ${output_file} | sh &
if [ ${?} = 0 ]; then
convert ${output_file} -monochrome "${output_file}.tif"
# tesseract *.tif * -l fra
# convert ${output_file} "${output_file}.png"
else
convert ${output_file} "${output_file}.tif"
# tesseract *.tif * -l fra
fi
rm ${output_file}
cd ${HOME}/brscan/OCR/temp
tesseract brscan.*.tif * -l fra
mv *.txt ${HOME}/brscan/OCR
#
# $1 = scanner device
# $2 = friendly name
#
DEVICE=$1
FRIENDLYNAME=$2
#
# 100,200,300,400,600
#
RESOLUTION=300
mkdir -p ${HOME}/brscan/OCR/temp
cd ${HOME}/brscan/OCR/temp
rm *.*
### Pourquoi utiliser la partition principale ? Le but de mktemp justement est de travailler sur la mémoire vive.
output_file=$(mktemp ${HOME}/brscan/OCR/temp/brscan.XXXXXX )
#echo "scan from ${FRIENDLYNAME}(${DEVICE}) to $output_file"
scanimage --device-name "${DEVICE}" --resolution ${RESOLUTION} > ${output_file} 2>/dev/null
if [ ! -s ${output_file} ];then
scanimage --device-name "${DEVICE}" --resolution ${RESOLUTION} > ${output_file} 2>/dev/null
fi
#echo gimp -n ${output_file} 2>/dev/null \; rm -f ${output_file} | sh &
if [ ${?} = 0 ]; then
convert ${output_file} -monochrome "${output_file}.tif"
# tesseract *.tif * -l fra
# convert ${output_file} "${output_file}.png"
else
convert ${output_file} "${output_file}.tif"
# tesseract *.tif * -l fra
fi
rm ${output_file}
cd ${HOME}/brscan/OCR/temp
tesseract brscan.*.tif * -l fra
mv *.txt ${HOME}/brscan/OCR
Merci de ton aide
Édité par GPE GPE Le 03/02/2020 à 11h17
kde plasma MGA9

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
je redonne mon avis :
Code BASH :
#! /bin/sh ##Check dependencies : LIST="sane-backends imagemagick tesseract tesseract-fra" STOP=0 for i in ${LIST} ; do urpmq ${i} 1>/dev/null 2>/dev/null if [ 0 -ne ${?} ]; then echo "Le paquet nécessaire \"${i}\" n'est pas installé." >&2 STOP=1 fi done if [ 0 -ne ${STOP} ]; then exit -1 fi ## Renaming # $1 = scanner device # $2 = friendly name DEVICE=$1 FRIENDLYNAME=$2 ## Set resolution # 100,200,300,400,600 RESOLUTION=300 ## Create working directory mkdir -p ${HOME}/brscan/OCR/temp cd ${HOME}/brscan/OCR/temp rm *.* ### Pourquoi utiliser la partition principale ? Le but de mktemp justement est de travailler sur la mémoire vive. ### J'ai la réponse : plus tard dans ce script, le fichier temporaire est utilisé comme base pour d'autre dossier/nom_de_fichier, en juxtaposant l'extension .tif etc OUTPUT_FILE=$(mktemp ${HOME}/brscan/OCR/temp/brscan.XXXXXX ) echo "scan from ${FRIENDLYNAME}(${DEVICE}) to ${OUTPUT_FILE}" >&2 while [ ! -s ${OUTPUT_FILE} ]; do scanimage --device-name "${DEVICE}" --resolution ${RESOLUTION} 1>${OUTPUT_FILE} 2>/dev/null done ### Pourquoi cette ligne ? #echo gimp -n ${OUTPUT_FILE} 2>/dev/null \; rm -f ${OUTPUT_FILE} | sh & ### Si la dernière commande s'est bien déroulée, on converti en monochrome. ### Quelle dernière commande ? La "gimp -n ..." ou la scanimage ? if [ 0 -eq ${?} ]; then convert ${OUTPUT_FILE} -monochrome "${OUTPUT_FILE}.tif" # convert ${OUTPUT_FILE} "${OUTPUT_FILE}.png" else convert ${OUTPUT_FILE} "${OUTPUT_FILE}.tif" fi ## Remove temporary file rm -f ${OUTPUT_FILE} ### Inutile, le dossier a déjà été ouvert ligne 32. # cd ${HOME}/brscan/OCR/temp ## Convert to text tesseract brscan.*.tif * -l fra mv *.txt ${HOME}/brscan/OCR
Lis et donne moi tes remarques s'il te plait
Édité par Jybz Le 03/02/2020 à 11h47
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

GPE GPE Membre non connecté
-
- Voir le profil du membre GPE GPE
- Inscrit le : 05/06/2011
- Groupes :
Jybz :
Ok,
je redonne mon avis :
Lis et donne moi tes remarques s'il te plait
je redonne mon avis :
Code BASH :
#! /bin/sh ##Check dependencies : LIST="sane-backends imagemagick tesseract tesseract-fra" STOP=0 for i in ${LIST} ; do urpmq ${i} 1>/dev/null 2>/dev/null if [ 0 -ne ${?} ]; then echo "Le paquet nécessaire "${i}" n'est pas installé." >&2 STOP=1 fi done if [ 0 -ne ${STOP} ]; then exit -1 fi ## Renaming # $1 = scanner device # $2 = friendly name DEVICE=$1 FRIENDLYNAME=$2 ## Set resolution # 100,200,300,400,600 RESOLUTION=300 ## Create working directory mkdir -p ${HOME}/brscan/OCR/temp cd ${HOME}/brscan/OCR/temp rm *.* ### Pourquoi utiliser la partition principale ? Le but de mktemp justement est de travailler sur la mémoire vive. ### J'ai la réponse : plus tard dans ce script, le fichier temporaire est utilisé comme base pour d'autre dossier/nom_de_fichier, en juxtaposant l'extension .tif etc OUTPUT_FILE=$(mktemp ${HOME}/brscan/OCR/temp/brscan.XXXXXX ) echo "scan from ${FRIENDLYNAME}(${DEVICE}) to ${OUTPUT_FILE}" >&2 while [ ! -s ${OUTPUT_FILE} ]; do scanimage --device-name "${DEVICE}" --resolution ${RESOLUTION} 1>${OUTPUT_FILE} 2>/dev/null done ### Pourquoi cette ligne ? #echo gimp -n ${OUTPUT_FILE} 2>/dev/null ; rm -f ${OUTPUT_FILE} | sh & ### Si la dernière commande s'est bien déroulée, on converti en monochrome. ### Quelle dernière commande ? La "gimp -n ..." ou la scanimage ? if [ 0 -eq ${?} ]; then convert ${OUTPUT_FILE} -monochrome "${OUTPUT_FILE}.tif" # convert ${OUTPUT_FILE} "${OUTPUT_FILE}.png" else convert ${OUTPUT_FILE} "${OUTPUT_FILE}.tif" fi ## Remove temporary file rm -f ${OUTPUT_FILE} ### Inutile, le dossier a déjà été ouvert ligne 32. # cd ${HOME}/brscan/OCR/temp ## Convert to text tesseract brscan.*.tif * -l fra mv *.txt ${HOME}/brscan/OCR
Lis et donne moi tes remarques s'il te plait
la ligne echo gimp ect... était déjà dans le script récupérer et aussi commentée par #!
j'ai tester ton script et adopter!
Merci
kde plasma MGA9
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie