|
import gradio as gr |
|
from segmentation import segment_image |
|
import numpy as np |
|
import cv2 |
|
|
|
|
|
default_image_path = "./image.png" |
|
|
|
def segment_and_display(image_path=default_image_path): |
|
|
|
original_image, segmented_image = segment_image(image_path) |
|
|
|
|
|
return original_image, segmented_image |
|
|
|
|
|
default_original_image, default_segmented_image = segment_image(default_image_path) |
|
|
|
|
|
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 |
|
) |
|
|
|
|
|
iface.launch(share=True, inline=True) |