VisionIdentIA / app.py
Balde-maria2005's picture
Create app.py
1db2551 verified
raw
history blame
1.62 kB
import gradio as gr
# --- Fonction principale Gradio ---
def analyse_double_image(recto, verso):
try:
valider_image(recto)
valider_image(verso)
except ValueError as e:
return f"Erreur d’image : {e}", {}
# Prétraitement
recto_np = preprocess_image(recto)
verso_np = preprocess_image(verso)
# Appel de la fonction OCR
text_recto = ocr_easyocr(recto_np)
text_verso = ocr_easyocr(verso_np)
texte_complet = text_recto + "\n" + text_verso
# Vérification de la nature du document avant le traitement
if not est_carte_identite(texte_complet):
message = (
"Alerte ! Le document ne semble **pas être une carte d'identité**.\n"
"Extraction et traitement annulée.\n\n"
" Réessayez avec une meilleure qualité d’image."
)
return message, {}
# Extraction
champs_extraits = extract_fields(texte_complet)
sauvegarder_csv(champs_extraits)
return texte_complet, champs_extraits
interface = gr.Interface(
fn=analyse_double_image,
inputs=[
gr.Image(type="pil", label="Image Recto"),
gr.Image(type="pil", label="Image Verso")
],
outputs=[
gr.Textbox(label="Texte OCR Brut Extrait."),
gr.JSON(label="Données structurées extraites")
],
title="OCR Pour verification et traitement Carte d'Identité (Recto + Verso)",
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.",
theme="soft"
)
interface.launch()