Accueil > Linux > Lignes de commandes > OCR : créer un fichier texte à partir d’une image
OCR : créer un fichier texte à partir d’une image
Publié le 7 octobre 2014, dernière mise-à-jour le 15 octobre 2025, > 15 visites, >> 165987 visites totales.
Il faut toujours préparer le fichier : une seule colonne, pas d’image , pas de texte qui déborde sur un autre ligne. Chaque ligne doit être le plus horizontal possible.
En 2017 je conseille gimagereader, qui utilise tesseract.
Installation : apt-get install gimagereader ou Windows ou sources
Utilisation : gimagereader Menu->Logiciels->Graphisme->gimagereader OU clic droit sur un fichier -> ouvrir avec gimagereader
analyse de Différents logiciels
Tout d’abord, ouvrir un terminal.
On analyse l’image a.jpg ; on obtient le fichier sortie.txt
Installation et utilisation
tesseract et opencv
https://www.geeksforgeeks.org/text-detection-and-extraction-using-opencv-and-ocr/
pip install opencv-python
pip install pytesseract
tesseract
apt-get install tesseract-ocr tesseract-ocr-fra
utilisation : tesseract a.jpg sortie -l fra
ocrad
apt-get install ocrad imagemagick
utilisation : convert a.jpg a.ppm; ocrad a.ppm > sortie.txt
gocr
apt-get install gocr xfig
utilisation : gocr -i a.jpg > sortie.txt
cuneiform
apt-get install cuneiform
utilisation : cuneiform a.jpg -f text -l fra -o sortie.txt
tesseract ocrad gocr cuneiform
apt-get install tesseract-ocr tesseract-ocr-fra ocrad imagemagick gocr xfig cuneiform
utilisation avec sorties multiples :
tesseract a.jpg sortie1 -l fra ; convert a.jpg a.ppm; ocrad a.ppm > sortie2.txt ; gocr -i a.jpg > sortie3.txt ; cuneiform a.jpg -f text -l fra -o sortie4.txt
On obtient les 4 fichiers sortie1.txt sortie2.txt sortie3.txt sortie4.txt
Comparaisons des programmes en 2023 et 2017
Fich="textedea.png" ; convert "$Fich" a.ppm ; ocrad a.ppm > ocrad-t.txt ; gocr -i "$Fich" > gocr-t.txt ; cuneiform "$Fich" -f text -l fra -o cuneiform-t.txt ; tesseract "$Fich" tesseract -l fra
gimagereader
- 2023 :
L'univers le plus simple à modéliser en concordance approximative avec la réalité est le modèle homogène et isotrope, de densité uniforme ( relativement vrai sur des échelles importantes de l’ordre de 10% mètres!. La courbure est donc supposée constante. La métrique s’écrit alors comme celle d’une 3-sphère : - 2017
L’univers le plus simple à modéliser en concordance approximative avec la réalité est le modèle homogène et isotrope, de densité uniforme ( relativement vrai sur des échelles importantes de l’ordre de 1024 mètresl. La courbure est donc supposée con- stante. La métrique s’écrit alors comme celle d’une 3—sphère :
cuneiform 2025,2023 : 4 ; 2017 : 3
- 2025,2023 : ll->B ; oublie exposant, pas de note, La métrique->T a Wétrique
-
L'univers le plus simple à modéliser en concordance approximative avec la réalité est le modèle homogène et isotrope, de densité uniforme ( relativement vrai sur des écheBes importantes de l'ordre de 10~~ mètres . I a courbure est donc supposée constante. T a Wétrique s'écrit alors comme celle d'une 3-sphère : - 2017 : oublie exposant, pas de note,. La métrique->La étriqué
-
L'univers le plus simple à modéliser en concordance approximative avec la réalité est le modèle homogène et isotrope, de densité uniforme ( relativement vrai sur des échelles importantes de l'ordre de 10~ mètres . La, courbure est donc supposée constante. La~étriqué s'écrit alors comme celle d'une 3-sphère :
gocr : 2/5
- 2025,2023 :
-
echelles lmport_ntes de l ordre de _0 met_e_ _ _aL_ courbure est donc suppo_ee con L'univers le plus simple _ mod%liser en concord_nce approxim_tive _vec l_ r%_lit% est le mod%le homog%ne et isotrope, de densit% uniforme ( relativement vrai sur des / t , 2_ _ l / _ stante. L_ m%trique s'%crit alors comme celle d'une 3-sph_re : - 2017 : nombreuses erreurs - inutilisable
e/chelles l_mportantes de l,o_dre de _o2q me_ tresl _ La courbure est donc suppose/e con_ L'univers le plus simple à modéliser en concordance approximative avec la réalité est le modèle homogène et isotrope, de densité unifoTme ( relativement vrai sur des stante. La métrique s'écrit alors comme celle d'une 3-sphère :
ocrad : 3/5 très nombreuses erreurs
-* 2025,2023 : en->eo ; concordance->concordaoce ; ...
L'univers le plus simple à modéliser eo concordaoce approximative _vec la ré_lité
est le modèle bomogène et isotrope, de denjité uniforme ( rel_tivement vr_i sur des
échelles importantes de l'ordre de IO'4 mètres'. l_ courbure est donc supposée con-
stante. La métrique s'écrit alors comme celle d'une 3-sphère :
- 2017
L'univers le plus simple à modéliser eo concordaoce approximative _vec la ré_lité est le modèle bomogène et isotrope, de denjité uniforme ( rel_tivement vr_i sur des échelles importantes de l'ordre de IO'4 mètres'. l_ courbure est donc supposée con- stante. La métrique s'écrit alors comme celle d'une 3-sphère :
tesseract
- 2023
-
L'univers le plus simple à modéliser en concordance approximative avec la réalité est le modèle homogène et isotrope, de densité uniforme ( relativement vrai sur des échelles importantes de l’ordre de 10% mètres!. La courbure est donc supposée con- stante. La métrique s’écrit alors comme celle d’une 3-sphère : - 2017 ne sait pas écrire l’exposant ; note 1 devient l
-
L’univers le plus simple à modéliser en concordance approximative avec la réalité est le modèle homogène et isotrope, de densité uniforme ( relativement vrai sur des échelles importantes de l’ordre de 1024 mètresl. La courbure est donc supposée con- stante. La métrique s’écrit alors comme celle d’une 3—sphère :
Comparaisons 2014
Création d’une image : texte='tesseract a.jpg sortie1 -l fra ; convert a.jpg a.ppm ; ocrad a.ppm > sortie2.txt ; gocr -i a.jpg > sortie3.txt ; cuneiform a.jpg -f text -l fra -o sortie4.txt' ; convert -size 6000x85 -background blue canvas:white -font Arial-Normal -pointsize 72 -draw "text 25,60 '$(echo $texte)'" a.jpg
Création d’une image : texte='Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed doeiusmod tempor incididunt ut labore'; convert -size 6000x85 -background blue canvas:white -font Arial-Normal -pointsize 72 -draw "text 25,60 '$(echo $texte)'" a.jpg && convert a.jpg a.ppm ; ocrad a.ppm > ocrad.txt ; gocr -i a.jpg > gocr.txt ; cuneiform a.jpg -f text -l fra -o cuneiform.txt'
Resultats :
tesseract
tesseract a.jpg sortie1 -I fra ; convert a.jpg a.ppm ; ocrad a.ppm > sortie2.txt ; gocr -i a.jpg > sortie3.txt ; cuneiform a.jpg -f text -I fra -o sortie4.txt ( 2 erreurs : I au lieu de l )
ocrad
tesseract a.jpg sortie1 -| fra ; convert a.jpg a.ppm ; ocrad a.ppm > sortie2.txt ; gocr -i a.jpg > sortie3.txt ; cuneiform a.jpg -f text -| fra -o sortie4.txt ( 2 erreurs : | au lieu de l )
gocr
tesseract a.jpg so_ie1 -l fra ; convert a.jpg a.ppm ; ocrad a.ppm > sortie2.txt ; gocr -i a.jpg > sortie3.txt ; cuneiform a.jpg -f text -l fra -o so_ie4.txt ( 2 erreurs : _ au lieu de rt )
cuneiform
tesseract a.jpg sortie1 -I fra ; convert a.jpg a.ppm ; ocrad a.ppm > sortie2.txt ; gocr -i a.jpg > sortie3.txt ; cuneiform a.jpg -f text -I fra -o sortie4.txt ( 1 erreur : I au lieu de l )
