import gradio as gr import pytesseract import cv2 import numpy as np from PIL import Image from io import BytesIO def extract_text(image): # Convertir l'objet BytesIO en objet Image de la bibliothèque PIL image = Image.open(BytesIO(image.read())) # Convertir l'image en tableau numpy.ndarray pour une meilleure compatibilité avec OpenCV image = np.array(image) # Convertir l'image en noir et blanc pour une meilleure extraction de texte image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # Utiliser Pytesseract pour extraire le texte de l'image text = pytesseract.image_to_string(image) return text # Définir l'interface utilisateur inputs = gr.Image(label='Upload an image',image_mode='L',tool='select',type='pil') outputs = gr.outputs.Textbox() interface = gr.Interface(fn=extract_text, inputs=inputs, outputs=outputs, title="Extraction de texte à partir d'une image", description="Téléchargez une image contenant du texte et cliquez sur 'Predict' pour extraire le texte.") interface.launch()