| import gradio as gr |
| from PIL import Image |
| import random |
|
|
| |
| WORDS_DATABASE = { |
| "cat": {"fr": "chat", "audio": None}, |
| "house": {"fr": "maison", "audio": None}, |
| } |
|
|
| |
| def recognize_object(image): |
| return random.choice(list(WORDS_DATABASE.keys())) |
|
|
| |
| def handle_drawing(image): |
| recognized_object = recognize_object(image) |
| french_translation = WORDS_DATABASE.get(recognized_object, {}).get("fr", "Inconnu") |
| response = f"Objet reconnu : {recognized_object.capitalize()} (Français : {french_translation})" |
| return response, None |
|
|
| |
| def create_interface(): |
| with gr.Blocks() as demo: |
| gr.Markdown("# Apprends l'Anglais en Dessinant !") |
| canvas = gr.Sketchpad(label="Dessine ici !", shape=(256, 256)) |
| response_text = gr.Textbox(label="Résultat", interactive=False) |
| submit_button = gr.Button("Reconnaître") |
| submit_button.click(handle_drawing, inputs=[canvas], outputs=[response_text, None]) |
| return demo |
|
|
| |
| if __name__ == "__main__": |
| demo = create_interface() |
| demo.launch() |
|
|