yusir4200's picture
Update app.py
78eceac verified
raw
history blame
2.41 kB
# import gradio as gr
# from segmentation import segment_image
# import numpy as np
# import cv2
# # Image de test par défaut
# default_image_path = "./image.png"
# def segment_and_display(image_path=default_image_path):
# # Appeler la fonction de segmentation
# original_image, segmented_image = segment_image(image_path)
# # Retourner les images pour l'affichage
# return original_image, segmented_image
# # Charger l'image de test par défaut
# default_original_image, default_segmented_image = segment_image(default_image_path)
# # Interface Gradio
# iface = gr.Interface(
# fn=segment_and_display,
# inputs=gr.Image(type="filepath", label="Upload Image"),
# outputs=[
# gr.Image(type="numpy", label="Original Image"),
# gr.Image(type="numpy", label="Segmented Image")
# ],
# title="Image Segmentation with K-means (k=2)",
# description="Upload an image or use the default test image to see the segmentation result.",
# examples=[
# [default_image_path]
# ],
# live=True # Permet de voir les changements en temps réel
# )
# # Afficher l'image de test par défaut lorsque l'interface est ouverte
# iface.launch(share=True, inline=True)
import gradio as gr
from segmentation import segment_image
from medgemma_api import query_medgemma
import os
# 默认图片路径
default_image_path = "./image.png"
def segment_only(image_path):
_, segmented_image = segment_image(image_path)
return segmented_image
def analyze_with_medgemma(image, question):
return query_medgemma(image, question)
with gr.Blocks() as demo:
with gr.Row():
with gr.Column(scale=1):
image_input = gr.Image(type="filepath", label="Upload Image")
segmented_output = gr.Image(type="numpy", label="Segmented Image")
image_input.change(fn=segment_only, inputs=image_input, outputs=segmented_output)
with gr.Column(scale=2):
chatbot = gr.Textbox(label="Ask MedGemma", placeholder="Enter your medical question...")
image_for_analysis = gr.Image(type="filepath", label="Upload image for analysis (optional)")
analyze_button = gr.Button("Analyze")
response_output = gr.Textbox(label="Response")
analyze_button.click(fn=analyze_with_medgemma, inputs=[image_for_analysis, chatbot], outputs=response_output)
demo.launch()