pense-bête de bruno sanchiz

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 )

[bruno sanchiz]