s-egg-mentation / app.py
Oliver Hamilton
Update app.py
ec3cee2 verified
import gradio as gr
import cv2
from geti_sdk.deployment import Deployment
from geti_sdk.utils import show_image_with_annotation_scene
#Load models
deployment = Deployment.from_folder("deployments")
deployment.load_inference_models(device="CPU")
def resize_image(image, target_dimension):
height, width = image.shape[:2]
max_dimension = max(height, width)
scale_factor = target_dimension / max_dimension
new_width = int(width * scale_factor)
new_height = int(height * scale_factor)
resized_image = cv2.resize(image, (new_width, new_height))
return resized_image
def infer(image):
if image is None:
return None, 'Error: No image provided'
image = resize_image(image, 1200)
image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
prediction = deployment.infer(image_rgb)
output = show_image_with_annotation_scene(image, prediction, show_results=False)
output = cv2.cvtColor(output, cv2.COLOR_BGR2RGB)
return output, prediction.overview
demo = gr.Interface(
fn=infer,
inputs="image",
outputs=["image", "text"],
allow_flagging='manual',
flagging_dir='flagged',
examples=[["eggsample1.jpg"], ["eggsample2.jpg"]]
)
demo.launch()