File size: 1,218 Bytes
3114cc4
0d798b8
 
 
3114cc4
ec3cee2
 
0d798b8
3114cc4
e65263a
0d798b8
e65263a
 
 
 
0d798b8
 
 
af4f405
 
 
e65263a
 
ec3cee2
 
902ccf7
0d798b8
af4f405
 
ec3cee2
af4f405
 
 
 
 
 
 
 
ec3cee2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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()