tesseract

Python-tesseract est un outil de reconnaissance optique de caractères (OCR) pour Python, c’est à dire un logiciel capable de reconnaître du texte à partir d’une image.

Python-tesseract  utilise le moteur Tesseract-OCR de Google. Il peut lire tous les types d’images pris en charge par Python Imaging Library (PIL).

Installation

tesseract-OCR

tesseract-OCR est le « moteur » de l’OCR, il ne s’agit pas d’un module Python, mais il est utilisé par le module pytesseract .

Tous les renseignements sont disponibles sur la page https://github.com/tesseract-ocr/tesseract/wiki , mais voici quand même un petit résumé :

Sous Linux

En principe, sur les distributions les plus courantes de Linux, tesseract-OCR est déjà installé, sous le nom ‘tesseract’ ou bien ‘tesseract-ocr’. Dans le cas contraire, se reporter au gestionnaire de paquets de la distribution.

Sous Windows

Selon les cas, la procédure sous Windows est plus ou moins complexe…

Le contenu de {Dossier de Python}\Lib\site-packages\pytesseract devrait alors ressembler à ça :

 

pytesseract

pytesseract  est le module Python qui permet d’utiliser l’OCR avec Python.

Depuis le dossier contenant l’application pip (sous Windows, il s’agit du dossier {Dossier de Python}\scripts) ou bien depuis la fenêtre de commande de Python3 :

pip install pytesseract

Si tout s’est bien passé, voici ce qui devrait s’afficher :

Collecting pytesseract
  Downloading pytesseract-0.1.6.tar.gz (149kB)
      100% |################################| 153kB 972kB/s
Building wheels for collected packages: pytesseract
  Running setup.py bdist_wheel for pytesseract ... done
  Stored in directory: C:\Users\________\AppData\Local\pip\Cache\wheels\f2\27\64\a8fa99a36b38980aaf8d1d2c87f5dd6b5a0a274b8706e3df36
Successfully built pytesseract
Installing collected packages: pytesseract
Successfully installed pytesseract-0.1.6

Il se peut qu’il y ai besoin d’utiliser une version de pytesseract encore plus récente que celle prévue dans le package de pip. (erreur TypeError: a bytes-like object is required, not ‘str’ ). Dans ce cas il faut remplacer le fichier pytesseract.py par la dernière version du dépôt des sources :

Depuis https://github.com/madmaze/pytesseract, faire Clone or Dowload puis Download ZIP,et dézipper le tout pour retrouver pytesseract.py.

ou bien télécharger directement https://github.com/madmaze/pytesseract/blob/master/src/pytesseract.py

 

Exemple simple

Cet exemple utilise la bibliothèque PIL pour ouvrir et pré-traiter l’image contenant le texte à reconnaitre.

import pytesseract
from PIL import Image, ImageEnhance, ImageFilter

pytesseract.pytesseract.tesseract_cmd = 'Lib/site-packages/pytesseract/tesseract/tesseract'

im = Image.open("fantastique.jpg") # Ouverture du fichier image

# Filtrage (augmentation du contraste)
im = im.filter(ImageFilter.MedianFilter())
enhancer = ImageEnhance.Contrast(im)
im = enhancer.enhance(2)
im = im.convert('1')

# Lancement de la procédure de reconnaissance
text = pytesseract.image_to_string(im)
print(text)

Avec l’image suivante (cliquer pour télécharger), …

… le résultat donné par tesseract est :

Linformatique, cest fantastique !

Bienvenue sur le site dédié a de
l’informatique au lycée Blaise Pascal de Clermont
Ferrand

Presque bon !

Vous aimerez aussi...

1 réponse

  1. Olivier GUNTERN dit :

    MERCI !!!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *