Vous avez peut-être entendu parler des outils de conversion d’image en texte. Ceux qui extraient instantanément les textes d’une image. Mais vous êtes-vous demandé comment fonctionnent ces outils et comment en créer un vous-même ?
Si oui, alors cet article de blog est fait pour vous. Dans cet article, nous allons vous expliquer comment créer un convertisseur d’image en texte à l’aide de Python. Ne vous inquiétez pas, ce n’est pas si difficile.
Nous ne perdrons pas votre temps à définir les bases comme Python. Car si vous recherchez le sujet, cela signifie que vous connaissez déjà les bases.
Passons donc directement au développement de l’outil et décomposons tout étape par étape. Mais avant cela, examinons un peu les prérequis.
Conditions préalables
Avant de passer aux étapes de création de l’outil, assurons-nous que les conditions préalables sont installées sur votre appareil.
Installer les bibliothèques
Pour commencer, vous aurez besoin Python installé sur votre appareil. Si vous ne l’avez pas déjà installé, rendez-vous simplement sur le site officiel de Python et téléchargez la dernière version disponible.
Après avoir installé Python, la prochaine chose que vous devrez faire est d’installer les bibliothèques. Ils sont essentiels. Lorsque nous créons un convertisseur d’image en texte, nous allons utiliser trois bibliothèques, à savoir : Pytesseract, Oreiller et OpenCV.
Voici les raisons de les installer.
- Pytesseract nous aidera avec l’extraction de texte
- Oreiller nous permet d’ouvrir et de sauvegarder des images dans plusieurs formats
- OuvrirCV est destiné au traitement d’image. Cela aidera dans des tâches telles que le redimensionnement ou l’ajustement des images avant de les transmettre à Pytesseract.
Pour installer les bibliothèques ci-dessus, ouvrez simplement votre ligne de commande ou votre terminal (vous pouvez le rechercher dans le menu Démarrer si vous êtes sous Windows ou utilisez l’application Terminal sur macOS). Donnez la commande ci-dessous. Il téléchargera et installera automatiquement les bibliothèques mentionnées.
pip install pytesseract pillow opencv-python
Installer le moteur OCR Tesseract
Celui-ci est la partie critique. La bibliothèque Pytesseract s’appuie sur le moteur Tesseract OCR pour extraire le texte des images.
Pour installer ledit moteur OCR, suivez les étapes ci-dessous.
- Aller à Page GitHub de Tesseract et téléchargez la version compatible avec votre système d’exploitation.
- Une fois le téléchargement terminé, exécutez le programme d’installation. Suivez attentivement les instructions apparaissant à l’écran pour une installation réussie.
Une fois l’installation terminée, vérifiez si Python est disponible pour le trouver ou non. Pour ce faire, ouvrez votre script Python et exécutez le code ci-dessous au début :
import pytesseractpytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
Remarque : si vous utilisez macOS ou Linux, le chemin sera différent, alors ajustez-le en conséquence.
Processus étape par étape pour créer un convertisseur d’image en texte
Si vous avez installé les bibliothèques ci-dessus, il est temps de commencer à créer votre convertisseur d’image en texte. Suivez attentivement les étapes que nous avons mentionnées ci-dessous.
1. Importation de bibliothèques
La première chose que vous devez faire est d’introduire les bibliothèques que vous avez installées précédemment. Ils feront tout le gros du travail pour vous. Vous trouverez ci-dessous le code que vous pouvez utiliser pour les importer.
import pytesseractfrom PIL import Imageimport cv2
2. Chargement de l’image
Après avoir importé les bibliothèques, l’étape suivante consiste à charger une image à partir de laquelle je souhaite extraire du texte. Pour cela, vous pouvez utiliser la bibliothèque Pillow ou OpenCV.
Code d’utilisation de l’oreiller
image = Image.open('image_path.jpg')
Code d’utilisation d’OpenCV
image = cv2.imread('image_path.jpg')
N’oubliez pas de remplacer le (‘image_path.jpg’) par le chemin réel du fichier que vous souhaitez charger.
3. Prétraitement de l’image
Avant de passer à l’extraction de texte, le prétraitement de l’image est considéré comme une bonne idée. En faisant cela, vous pouvez rendre le texte plus facile à lire et améliorer la précision du processus OCR.
Laissez-nous vous guider à travers les étapes de base du prétraitement.
- Redimensionnement : Les variations dans les dimensions de l’image peuvent affecter la précision. Vous devez le redimensionner à une taille gérable.
- Conversion des niveaux de gris : Cela signifie supprimer les informations de couleur inutiles afin que Tesseract puisse détecter facilement le texte.
- Seuil : Cela implique la conversion d’une image en noir et blanc pour aider Tesseract à mieux reconnaître le texte.
Ci-dessous, nous avons partagé le code que vous pouvez appliquer pour ces étapes.
# Convert to grayscalegray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# Apply thresholding_, threshold_image = cv2.threshold(gray_image, 150, 255, cv2.THRESH_BINARY)
# Resize the image (optional, adjust size as needed)resized_image = cv2.resize(threshold_image, (800, 600))
Remarque : Nous avons utilisé la dimension de l’image 800×600. Vous pouvez les ajuster selon vos besoins.
Vient maintenant la partie la plus importante, à savoir extraire le texte des images. Pour cela, vous devez utiliser la bibliothèque Pytesseract. Tout d’abord, vous devrez transmettre l’image à Tesseract, puis obtenir le texte.
Vous trouverez ci-dessous le code dont vous aurez besoin pour l’extraction de texte.
# Extract text from the imageextracted_text = pytesseract.image_to_string(resized_image)
Cette ligne utilise pytesseract.image_to_string() pour extraire le texte de l’image et le stocker dans la variable extract_text.
Facile, non ?
5. Affichage et enregistrement du texte extrait
Une fois le texte extrait, l’étape suivante consiste à l’afficher à l’écran. Vous pouvez également l’enregistrer dans un fichier .txt.
Pour afficher le texte extrait, exécutez le code ci-dessous.
imprimer (texte_extrait)
Cela imprimera le texte extrait dans votre console.
Pour enregistrer le texte dans un fichier, exécutez ce code.
with open('extracted_text.txt', 'w') as file: file.write(extracted_text)
Cela créera un nouveau fichier appelé extrait_text.txt et enregistrez tout le texte extrait à l’intérieur.
Vous avez créé avec succès votre propre convertisseur d’image en texte. Il ne vous reste plus qu’à modifier le chemin de l’image, à exécuter les mêmes commandes et à commencer à extraire le texte.
Améliorer le convertisseur
Maintenant que vous avez créé un simple convertisseur d’image en texte. Améliorons-le encore. Ci-dessous, nous vous présenterons quelques façons d’améliorer votre outil.
Ajout de la prise en charge de l’interface graphique
Travailler avec un outil en ligne de commande est un peu technique. Avoir une interface utilisateur graphique (GUI) peut faciliter le processus. Par exemple, regardez l’image ci-dessous.
C’est l’interface d’Image to Text Converter. Comme vous pouvez le constater, il est plus facile pour un utilisateur d’interagir avec l’outil. Ils peuvent extraire du texte en cliquant simplement sur des boutons. Il n’est pas nécessaire de taper des commandes.
Les bibliothèques aiment Tkinter et PyQt5 peut vous aider à créer une interface graphique. Voici un exemple simple d’utilisation Tkinter pour créer une interface graphique de base pour télécharger une image et afficher le texte extrait :
Tout d’abord, vous devez installer Tkinter (s’il n’est pas déjà installé) :
pip installer tk
Après avoir installé Tkinter, exécutez le code ci-dessous pour l’interface graphique.
import tkinter as tkfrom tkinter import filedialogfrom PIL import ImageTk, Imageimport pytesseractimport cv2
# Create the main windowroot = tk.Tk()root.title("Image-to-Text Converter")
# Function to browse and load an imagedef upload_image(): file_path = filedialog.askopenfilename(title="Select an Image", filetypes=[("Image files", "*.jpg;*.jpeg;*.png")]) if file_path: img = cv2.imread(file_path) img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # Convert to grayscale text = pytesseract.image_to_string(img) # Extract text
# Display the extracted text in a text box text_box.delete(1.0, tk.END) text_box.insert(tk.END, text)
# Create buttons and text area for GUIupload_btn = tk.Button(root, text="Upload Image", command=upload_image)upload_btn.pack(pady=10)
text_box = tk.Text(root, height=10, width=50)text_box.pack(pady=20)
# Run the Tkinter event looproot.mainloop()
Choses que vous devez savoir sur le code ci-dessus.
- Création d’une fenêtre simple (root) avec un bouton pour télécharger des images. L’image téléchargée est traitée et le texte extrait est affiché dans une zone de texte.
- Le filedialog.askopenfilename() permettra à l’utilisateur de sélectionner un fichier image dans son système.
- Après traitement, le texte extrait apparaîtra dans la zone de texte.
Traitement par lots
Vous pouvez également créer votre outil pour traiter plusieurs images en une seule fois. Pour cela, vous devez modifier votre script afin qu’il puisse gérer le traitement par lots.
Pour cela, vous devez exécuter le code que nous avons partagé ci-dessous.
import os
# Function to process all images in a folderdef process_images_in_folder(folder_path): for filename in os.listdir(folder_path): if filename.endswith(('.jpg', '.jpeg', '.png')): image_path = os.path.join(folder_path, filename) img = cv2.imread(image_path) img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) text = pytesseract.image_to_string(img)
# Save the extracted text to a file with open(f"{filename}_extracted.txt", 'w') as file: file.write(text)
# Specify folder pathfolder_path="path/to/your/folder"
# Call the function to process images in the folderprocess_images_in_folder(folder_path)
Le code ci-dessus fera parcourir à votre script chaque fichier image. Il traitera chaque image, extraira le texte à l’aide de Tesseract et enregistrera ensuite le texte dans un fichier .txt distinct.
Points clés à retenir
Dans l’article de blog ci-dessus, nous avons partagé le processus complet de création d’un convertisseur d’image en texte à l’aide de Python. Essayez de les implémenter et commencez à créer votre propre outil de conversion d’image en texte. Tournez-vous vers l’expérimentation, l’apprentissage et la création de quelque chose d’extraordinaire.
Finance
Agen Togel Terpercaya
Bandar Togel
Sabung Ayam Online
Berita Terkini
Artikel Terbaru
Berita Terbaru
Penerbangan
Berita Politik
Berita Politik
Software
Software Download
Download Aplikasi
Berita Terkini
News
Jasa PBN
Jasa Artikel

Leave a Reply