|
from ultralytics import YOLO |
|
import cv2 |
|
import gradio as gr |
|
|
|
file = "my_model.pt" |
|
images = [["image1.jpg"],["image2.jpg"]] |
|
model = YOLO(file) |
|
|
|
def show_preds_image(image_path): |
|
image = cv2. imread(image_path) |
|
outputs = model.predict(source=image_path) |
|
results = outputs[0]. cpu().numpy() |
|
for i, det in enumerate(results.boxes.xyxy): |
|
cv2. rectangle(image,(int(det[0]), int(det[1])), (int(det[2]), int(det[3])), |
|
thickness=6 , color=[0,0,255] |
|
) |
|
return cv2. cvtColor (image, cv2.COLOR_BGR2RGB) |
|
|
|
|
|
inputs_image = [ |
|
gr.components.Image(type="filepath", label="Input Image"), |
|
] |
|
outputs_image = [ |
|
gr.components.Image(type="numpy", label="Output Image"), |
|
] |
|
|
|
interface_image = gr.Interface( |
|
fn=show_preds_image, |
|
inputs=inputs_image, |
|
outputs=outputs_image, |
|
title="Plastic Detector", |
|
examples=images, |
|
cache_examples=False, |
|
) |
|
|
|
interface_image.launch() |
|
|
|
|
|
|