Files changed (1) hide show
  1. app.py +49 -0
app.py ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+
3
+ # --- Fonction principale Gradio ---
4
+ def analyse_double_image(recto, verso):
5
+ try:
6
+ valider_image(recto)
7
+ valider_image(verso)
8
+ except ValueError as e:
9
+ return f"Erreur d’image : {e}", {}
10
+ # Prétraitement
11
+ recto_np = preprocess_image(recto)
12
+ verso_np = preprocess_image(verso)
13
+
14
+ # Appel de la fonction OCR
15
+ text_recto = ocr_easyocr(recto_np)
16
+ text_verso = ocr_easyocr(verso_np)
17
+ texte_complet = text_recto + "\n" + text_verso
18
+
19
+ # Vérification de la nature du document avant le traitement
20
+ if not est_carte_identite(texte_complet):
21
+ message = (
22
+ "Alerte ! Le document ne semble **pas être une carte d'identité**.\n"
23
+ "Extraction et traitement annulée.\n\n"
24
+ " Réessayez avec une meilleure qualité d’image."
25
+ )
26
+ return message, {}
27
+
28
+ # Extraction
29
+ champs_extraits = extract_fields(texte_complet)
30
+ sauvegarder_csv(champs_extraits)
31
+
32
+ return texte_complet, champs_extraits
33
+
34
+ interface = gr.Interface(
35
+ fn=analyse_double_image,
36
+ inputs=[
37
+ gr.Image(type="pil", label="Image Recto"),
38
+ gr.Image(type="pil", label="Image Verso")
39
+ ],
40
+ outputs=[
41
+ gr.Textbox(label="Texte OCR Brut Extrait."),
42
+ gr.JSON(label="Données structurées extraites")
43
+ ],
44
+ title="OCR Pour verification et traitement Carte d'Identité (Recto + Verso)",
45
+ description="Téléversez les images du recto et du verso d'une carte d'identité pour verifier et extraire automatiquement les champs comme nom, prénom, date, etc.",
46
+ theme="soft"
47
+ )
48
+
49
+ interface.launch()