Equityone commited on
Commit
5667d33
·
verified ·
1 Parent(s): 7c3c4dd

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -31
app.py CHANGED
@@ -2,46 +2,34 @@ import gradio as gr
2
  from PIL import Image
3
  import random
4
 
5
- # Exemple de base de données de mots (objets courants avec leurs traductions et audios)
6
  WORDS_DATABASE = {
7
- "cat": {"fr": "chat", "audio": "audio/cat.mp3"},
8
- "house": {"fr": "maison", "audio": "audio/house.mp3"},
9
- "tree": {"fr": "arbre", "audio": "audio/tree.mp3"},
10
- "dog": {"fr": "chien", "audio": "audio/dog.mp3"},
11
  }
12
 
13
  # Simule un modèle de reconnaissance d'image
14
  def recognize_object(image):
15
- # Simule une reconnaissance aléatoire pour la démo
16
- recognized_object = random.choice(list(WORDS_DATABASE.keys()))
17
- return recognized_object
18
 
19
- # Fonction principale pour gérer les interactions
20
  def handle_drawing(image):
21
- # Reconnaissance de l'objet dessiné
22
  recognized_object = recognize_object(image)
23
- # Récupération des informations sur le mot
24
- word_info = WORDS_DATABASE.get(recognized_object, {})
25
- english_word = recognized_object.capitalize()
26
- french_translation = word_info.get("fr", "Inconnu")
27
- audio_path = word_info.get("audio", None)
28
- # Génération de la réponse
29
- response = f"Objet reconnu : **{english_word}** (Français : **{french_translation}**)"
30
- return response, audio_path
31
 
32
- # Interface utilisateur avec Gradio
33
  def create_interface():
34
  with gr.Blocks() as demo:
35
- gr.Markdown("# 🖌️ Atelier de Dessin Virtuel - Apprends l'Anglais en Dessinant !")
36
- gr.Markdown(
37
- """
38
- 1. Dessine un objet simple (par ex., un chat, une maison, un arbre, un chien).
39
- 2. L'IA essaiera de reconnaître ton dessin et te montrera le mot en anglais et français.
40
- 3. Écoute la prononciation pour améliorer ton anglais !
41
- """
42
- )
43
 
44
- # Zone de dessin et résultats
45
- with gr.Row():
46
- canvas = gr.Sketchpad(label="Dessine ici !", shape=(256, 256)) # Zone de dessin
47
- response_text
 
2
  from PIL import Image
3
  import random
4
 
5
+ # Exemple de base de données de mots
6
  WORDS_DATABASE = {
7
+ "cat": {"fr": "chat", "audio": None},
8
+ "house": {"fr": "maison", "audio": None},
 
 
9
  }
10
 
11
  # Simule un modèle de reconnaissance d'image
12
  def recognize_object(image):
13
+ return random.choice(list(WORDS_DATABASE.keys()))
 
 
14
 
15
+ # Fonction principale
16
  def handle_drawing(image):
 
17
  recognized_object = recognize_object(image)
18
+ french_translation = WORDS_DATABASE.get(recognized_object, {}).get("fr", "Inconnu")
19
+ response = f"Objet reconnu : {recognized_object.capitalize()} (Français : {french_translation})"
20
+ return response, None
 
 
 
 
 
21
 
22
+ # Interface utilisateur
23
  def create_interface():
24
  with gr.Blocks() as demo:
25
+ gr.Markdown("# Apprends l'Anglais en Dessinant !")
26
+ canvas = gr.Sketchpad(label="Dessine ici !", shape=(256, 256))
27
+ response_text = gr.Textbox(label="Résultat", interactive=False)
28
+ submit_button = gr.Button("Reconnaître")
29
+ submit_button.click(handle_drawing, inputs=[canvas], outputs=[response_text, None])
30
+ return demo
 
 
31
 
32
+ # Lancement
33
+ if __name__ == "__main__":
34
+ demo = create_interface()
35
+ demo.launch()