# 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() | |