extraire du texte dans une image avec python Pytesseract (debutant)

 Pytesseract ou Python-tesseract est un outil de reconnaissance optique de caractères (OCR) pour python. Il lira et reconnaîtra le texte des images, des plaques d’immatriculation, etc. Ici, nous utiliserons le package tesseract pour lire le texte de l’image donnée. 

 

Principalement, 3 étapes simples sont impliquées ici, comme indiqué ci-dessous : –  

  • Charger une image enregistrée à partir de l’ordinateur ou la télécharger à l’aide d’un navigateur, puis la charger. (Toute image avec texte).
  • Binariser l’image (convertir l’image en binaire).
  • Nous passerons ensuite l’image à travers le système OCR.

Mise en œuvre:

Le code python suivant représente la localisation du texte et deviner correctement le texte écrit dans l’image. 
 

Python3

# We import the necessary packages
#import the needed packages
import cv2
import os,argparse
import pytesseract
from PIL import Image
  
#We then Construct an Argument Parser
ap=argparse.ArgumentParser()
ap.add_argument("-i","--image",
                required=True,
                help="Path to the image folder")
ap.add_argument("-p","--pre_processor",
                default="thresh", 
                help="the preprocessor usage")
args=vars(ap.parse_args())
  
#We then read the image with text
images=cv2.imread(args["image"])
  
#convert to grayscale image
gray=cv2.cvtColor(images, cv2.COLOR_BGR2GRAY)
  
#checking whether thresh or blur
if args["pre_processor"]=="thresh":
    cv2.threshold(gray, 0,255,cv2.THRESH_BINARY| cv2.THRESH_OTSU)[1]
if args["pre_processor"]=="blur":
    cv2.medianBlur(gray, 3)
      
#memory usage with image i.e. adding image to memory
filename = "{}.jpg".format(os.getpid())
cv2.imwrite(filename, gray)
text = pytesseract.image_to_string(Image.open(filename))
os.remove(filename)
print(text)
  
# show the output images
cv2.imshow("Image Input", images)
cv2.imshow("Output In Grayscale", gray)
cv2.waitKey(0)

Maintenant, suivez les étapes ci-dessous pour lire avec succès le texte d’une image : 

  • Enregistrez le code et l’image à partir de laquelle vous souhaitez lire le texte dans le même fichier.
  • Ouvrez l’invite de commande. Accédez à l’emplacement où le fichier de code et l’image sont enregistrés.
  • Exécutez la commande ci-dessous pour afficher la sortie.

Exemple 1:

Exécutez la commande ci-dessous pour afficher la sortie.

python  tesseract.py --image Images/title.png

Nous avons l’image originale affichée.

image d'entrée

Titre

Nous avons l’image en niveaux de gris affichée. (p.png)

image d'entrée

p

Production:

reading text from image

Exemple 2 :

Exécutez la commande ci-dessous pour afficher la sortie.

python  tesseract.py --image Images/OCR.png

Nous avons l’image originale affichée.

image d'entrée

ROC

Nous avons l’image en niveaux de gris affichée. (p.png)

image d'entrée

p

Production:

reading text from image

Commentaires

Posts les plus consultés de ce blog

Comment utiliser les diagrammes PlantUML dans Visual Studio Code pour Windows 10

Comment fonctionne l'optimise d'Adam

SYSTEME DE RECONNAISSANCE FACIALE AVEC PYTHON