OCR état de l'art sous linux
Où en est-on avec les logiciels d'Optical Character Recognition ?
Logiciels / Graphisme photo et vidéo

bermisch Membre non connecté
-
- Voir le profil du membre bermisch
- Inscrit le : 18/05/2013
- Groupes :
je serais très intéressé par l'OCR vu que ma vue baisse depuis un moment (j'ai plus de 70 ans) et que combiné à un logiciel de vocalisation, on peut alors lire sans se casser la vue des papiers imprimés. (Un de mes amis aveugle complet utilise des logiciels proprios sous windoze, mais j'aimerais bien travailler avec linux et mageia).
Il semble bien que" tesseract" soit la vedette mais mes essais ont été décevants pour du journal scanné à 900 pixels/inch en noir et blanc avec la version disponible sous mageia 5. Il faut aussi utiliser une base "fra" pour le français, mais je me demande si ce n'est pas que la liste des caractères sans recherche de vraisemblance sur les mots.
Existe-t-il un OCR plus ad-hoc compatible mageia, que tesseract qui ne fonctionne d'ailleurs qu'en ligne de commande ? Et qui donne quelque chose de lisible pour le français au moins ? Ou bien y-a-t-il une façon de faire avec tesseract qui m'échappe,pour avoir un bon résultat. Quelqu'un a l'expérience OCR sur MLO ?
Marci de l'aide éventuelle.
BM
2 PC intel X86 sous Mageia - 64 bits - 8G bits mémoire, KDE dont un avec serveur LDAP "wake-on-waned "
livebox orange fibre 300Mb/s avec. Wifi ..
Lien pour l'allumage : du pc avec serveur LDAP (allumage à distance hs actuellement) :
https://www.depicus.com/wake-on-lan/woli?m=BCAEC58C7279&i=bermisch.ddns.net&s=255.255.255.255&p=9
Lien pour le site lui-même si pc serveur allumé: http://bermisch.ddns.net
(erreur 403 à ce niveau mais .../ magallerie donne accès à coppermine base de photos en lecture seule..) sur ip dynamique (ddns)
livebox orange fibre 300Mb/s avec. Wifi ..
Lien pour l'allumage : du pc avec serveur LDAP (allumage à distance hs actuellement) :
https://www.depicus.com/wake-on-lan/woli?m=BCAEC58C7279&i=bermisch.ddns.net&s=255.255.255.255&p=9
Lien pour le site lui-même si pc serveur allumé: http://bermisch.ddns.net
(erreur 403 à ce niveau mais .../ magallerie donne accès à coppermine base de photos en lecture seule..) sur ip dynamique (ddns)

Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
Je n'utilise pas régulièrement, j'ai juste fait quelques essais. Dans mon souvenir, ce n'était pas parfait, mais quand même correct.
Je crois par contre que çà dépend pas mal des réglages. La très haute définition n'est pas nécessaire, à 300 px/pouces, c'est correct.
Il me semble que les résultats sont meilleurs en gris plutôt que noir et blanc.
Tu fais de la lecture vocale derrière ?
Yves

Antoniop Membre non connecté
-
- Voir le profil du membre Antoniop
- Inscrit le : 21/12/2011
- Groupes :
Je me suis intéressé à l'OCR pour une raison simple : lorsque je scanne un document en PDF, je veux pouvoir faire une recherche textuelle dans ce PDF, car par défaut un scan produit simplement une image compressée.
Je me suis aperçu que l'imprimante scanner du boulot produisait un PDF avec du texte que l'on pouvait rechercher et sélectionner, alors que mon scanner à la maison ne produisait qu'une image
J'ai alors découvert que les fichiers PDF "avec texte" comporte en réalité 2 couches : une couche image et une couche texte.
Pour obtenir la couche texte, il faut un OCR et un logiciel qui sache réunir les 2 couches sur un même fichier.
Tesseract fait cela plutôt bien, mais j'ai dû repartir des sources pour que ça marche.
J'ai un peu galéré pour trouver toutes les astuces, alors je vais les décrire ici.
Si tu ne t'intéresses qu'à l'OCR et pas à son inclusion dans le PDF, il ne faudra faire qu'une partie des manips
Tout d'abord, tesseract ne supportant les PDF avec texte qu'à partir de la version 3.03 et mageia n'ayant que la version 3.02, j'ai téléchargé les sources
Le wiki
https://github.com/tesseract-ocr/tesseract/wiki
Téléchargement des sources
Télécharger le fichier tar du code source
https://github.com/tesseract-ocr/tesseract/wiki/Downloads
il faut décompresser le tar en ligne de commande :
Code BASH :
tar -tzf tesseract-xx.tar.gz
cela créé un sous répertoire tesseract-xxx
aller dans ce répertoire
Code BASH :
cd tesseract-xx
Compilation et installation
Leptonica doit être installé au préalable, mais pour cela tu peux installer les rpm mageia.
J'ai installé :
Code TEXT :
$ rpm -qa|grep leptonica lib64leptonica-devel-1.71-3.mga5 lib64leptonica4-1.71-3.mga5
Il faut lancer la configuration et l'installation
Code BASH :
./autogen.sh ./configure make sudo make install sudo ldconfig
Sudo installe les executables produits en mode root.
Si tu n'as pas configuré sudo, tu peux te logger root en tapant :
$ su
puis taper :
Code BASH :
make install ldconfig
sortir ensuite du login root en faisant CTRL-D
Récupérer les langages
Télécharger les fichiers <lang>.traineddata
de https://github.com/tesseract-ocr/tessdata
Il faut récupérer obligatoirement :
eng.traineddata
pour le français :
fra.traineddata
pour produire des outputs en pdf :
osd.traineddata
Attention de prendre les fichiers qui correspondent à la version de tesseract.
Il faut dézipper les fichiers et les placer dans le répertoire tessdata, ce qui donne :
Code TEXT :
/usr/local/share/tessdata/osd.traineddata /usr/local/share/tessdata/eng.traineddata /usr/local/share/tessdata/fra.traineddata
Lancer une reconnaissance simple en français
Code BASH :
tesseract -l fra <fichier image input(tiff ou pnm)> <fichier sortie>
Le fichier de sortie est un fichier texte
Créer un fichier PDF avec texte
Code BASH :
tesseract -psm 1 -l <lang> <fichier image input(tiff ou pnm)> <fichier sortie> pdf
exemple :
Code BASH :
tesseract -psm 1 -l fra fic1.tiff fic2 pdf
NB : le fichier de sortie ne comporte pas d'extension
A savoir : la résolution optimale est généralement de 300 dpi pour avoir un bon scan. La qualité du scanner et de l'original entre en jeu, car si on augmente la résolution la reconnaissance peut être meilleure ou pire, car des imperfections sont alors détectées et peuvent fausser la reconnaissance .
Pour optimiser la reconnaissance, il est conseillé de "nettoyer le fichier image", de le redresser un peu s'il est de travers, bref voila les manips que je faits :
d'abord je scanne avec scanimage :
Code BASH :
scanimage --device-name "device" --resolution 300 >output_file1
(remplacer "device" par le nom de ton scanner)
le fichier produit est au format ppm
ensuite je nettoie le fichier avec unpaper, qui enlève les bordures noires, pivote l'image si elle est de travers, etc :
Code BASH :
unpaper -l single --dpi 300 -dn left,right,top,bottom --type ppm output_file1 output_file2.ppm
tesseract ne prend pas les fichiers ppm pour l'OCR, donc je convertis ce fichier en tiff :
Code BASH :
convert -density "300x300" -units PixelsPerInch output_file2.ppm output_file2.tiff
ensuite, ouf, je lance tesseract pour produire le fichier PDF final :
Code BASH :
tesseract -psm 1 -l fra output_file2.tiff output_file pdf
(bien évidemment, l'idéal est de faire un petit script qui enchaine les différentes étapes)
si cela ne t'intéresse pas d'avoir un PDF, tu peux lancer plutôt la commande suivante à la place :
Code BASH :
tesseract -l fra output_file2.tiff output_file
output_file sera un fichier texte tout simple
Je ne connais pas d'interface graphique pour tesseract, par contre il y a gscan2pdf (disponible sur Mageia) qui est un outil graphique qui sait scanner avec OCR tesseract et et enregistrer en PDF.
Édité par Antoniop Le 27/04/2017 à 23h46

m@rco123 Membre non connecté
-
- Voir le profil du membre m@rco123
- Inscrit le : 15/05/2009
- Groupes :
Il fut un temps ou Papajac avait développé un logiciel graphique qui marchait bien :
solidroc
A voir si celui ci est toujours d’actualité
Lenovo 110-17acl
cg Mullins [Radeon R3 Graphics] / ssd SanDisk 250Go
Mageia 9 plasma 64b
packard ls11hr
cg intel 810 / ssd SanDisk 128Go
Mageia 9 plasma 64b
cg Mullins [Radeon R3 Graphics] / ssd SanDisk 250Go
Mageia 9 plasma 64b
packard ls11hr
cg intel 810 / ssd SanDisk 128Go
Mageia 9 plasma 64b

lebarhon Membre non connecté
-
- Voir le profil du membre lebarhon
- Inscrit le : 09/10/2010
- Groupes :
-
Équipe Mageia
-
Membre d'Honneur
Encore une page qui mériterait d'être dans un wiki.
Tesseract 3.04 est dans Mageia 6.
CM Asus Z77-A+i5-2500K+GeForceGT520+RAM8Go
SSD Crucial M4+SSD Samsung EVO
Mageia 6 64 bits
SSD Crucial M4+SSD Samsung EVO
Mageia 6 64 bits

Antoniop Membre non connecté
-
- Voir le profil du membre Antoniop
- Inscrit le : 21/12/2011
- Groupes :
Encore une page qui mériterait d'être dans un wiki.
J'essaierai de le mettre dans le wiki, quand il sera revenu

lebarhon:
Tesseract 3.04 est dans Mageia 6.
C'est une bonne nouvelle. Je ne recompile les sources que lorsque j'y suis obligé !
Un des problèmes sur lequel je suis tombé dans mes premiers essais est que j'essayais d'utiliser tesseract sans préciser le langage (français), ce qui fait une grosse différence, car il va essayer de reconnaitre des mots anglais par défaut.
De même les logiciels qui utilisent tesseract sans pouvoir préciser la langue ne sont pas efficaces. Ce n'est pas le cas avec gscan2pdf.

Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
J'ai utilisé tesseract récemment pour reconnaître un texte en allemand. J'ai d'abord galéré pour trouver comment éclater les douze pages du PDF en douze fichiers. J'ai utilisé ghostscript.
En principe gscan2pdf pouvait le faire, mais en Mageia 5, la sortie texte est toujours vide :(
Le résultat est vraiment satisfaisant. Mais il m'a fallu des images en couleur. La conversion en gris introduisait trop d'imperfections nuisibles.
Pour générer les fichiers d'images :
Code BASH :
gs -q -dBATCH -dMaxBitmap=300000000 -dNOPAUSE -dSAFER -sDEVICE=tiff24nc -g4800x7200 -r600x600 -dFirstPage=8 -dLastPage=21 -sOutputFile=monfichier%d.tif source.pdf -c quit
Pour le traitement de multiples images :
Code BASH :
for i in *.tif ; do tesseract $i sortie -l deu; cat sortie.txt >> monfichier.txt; done;
Yves

Antoniop Membre non connecté
-
- Voir le profil du membre Antoniop
- Inscrit le : 21/12/2011
- Groupes :
pdftk peut faire l'affaire également, il peut concaténer les PDF ou les découper. C'est ce dont je me sers pour assembler les pdf multipages.
Tu peux essayer d'améliorer les fichiers source avec unpaper, il augmente les contrastes et supprime les effets de couleur de fond parasites, c'est recommandé par tesseract. Cela marche assez bien avec les images produites par mon scanner brother.
Par contre parfois il tronque les bords de l'image !

Troumad Membre non connecté
-
- Voir le profil du membre Troumad
- Inscrit le : 16/10/2010
- Site internet
- Groupes :
Code :
urpmi tesseract-fra
Pour moi, l'essai semble assez catastrophique....
Amicalement Votre
Bernard SIAUD Alias Troumad
Bernard SIAUD Alias Troumad

Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
résolution de l'image, couleur...
Yves

funix Membre non connecté
-
- Voir le profil du membre funix
- Inscrit le : 17/12/2012
- Site internet
- Groupes :
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie