File size: 1,902 Bytes
eb034fe
 
 
 
 
 
 
 
 
 
 
 
20006a6
eb034fe
20006a6
eb034fe
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20006a6
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import gradio as gr
from PIL import Image
import random

# Exemple de base de données de mots (objets courants avec leurs traductions et audios)
WORDS_DATABASE = {
    "cat": {"fr": "chat", "audio": "audio/cat.mp3"},
    "house": {"fr": "maison", "audio": "audio/house.mp3"},
    "tree": {"fr": "arbre", "audio": "audio/tree.mp3"},
    "dog": {"fr": "chien", "audio": "audio/dog.mp3"},
}

# Simule un modèle de reconnaissance d'image
def recognize_object(image):
    # Simule une reconnaissance aléatoire pour la démo
    recognized_object = random.choice(list(WORDS_DATABASE.keys()))
    return recognized_object

# Fonction principale pour gérer les interactions
def handle_drawing(image):
    # Reconnaissance de l'objet dessiné
    recognized_object = recognize_object(image)
    # Récupération des informations sur le mot
    word_info = WORDS_DATABASE.get(recognized_object, {})
    english_word = recognized_object.capitalize()
    french_translation = word_info.get("fr", "Inconnu")
    audio_path = word_info.get("audio", None)
    # Génération de la réponse
    response = f"Objet reconnu : **{english_word}** (Français : **{french_translation}**)"
    return response, audio_path

# Interface utilisateur avec Gradio
def create_interface():
    with gr.Blocks() as demo:
        gr.Markdown("# 🖌️ Atelier de Dessin Virtuel - Apprends l'Anglais en Dessinant !")
        gr.Markdown(
            """
            1. Dessine un objet simple (par ex., un chat, une maison, un arbre, un chien).  
            2. L'IA essaiera de reconnaître ton dessin et te montrera le mot en anglais et français.  
            3. Écoute la prononciation pour améliorer ton anglais !
            """
        )

        # Zone de dessin et résultats
        with gr.Row():
            canvas = gr.Sketchpad(label="Dessine ici !", shape=(256, 256))  # Zone de dessin
            response_text