Spaces:
Sleeping
Sleeping
| from ultralytics import YOLO | |
| from PIL import Image | |
| import numpy as np | |
| import gradio as gr | |
| # Load trained YOLOv8 model | |
| model = YOLO('samples/best.pt') | |
| def detect_objects(image: Image.Image) -> Image.Image: | |
| """ | |
| Runs YOLOv8 detection on the input image. | |
| :param image: Input image uploaded by the user | |
| :return: Image with detected bounding boxes and labels drawn. | |
| """ | |
| img_array = np.array(image) | |
| results = model.predict(source=img_array, conf=0.25, imgsz=640) | |
| annotated_img = results[0].plot() | |
| return Image.fromarray(annotated_img) | |
| demo = gr.Interface( | |
| fn=detect_objects, | |
| inputs=gr.Image(type="pil", label="Upload image"), | |
| outputs=gr.Image(type="pil", label="Detected image"), | |
| title="Custom YoloV8 CCTV detector", | |
| description="Upload an image for CCTV detection.", | |
| ) | |
| if __name__ == "__main__": | |
| demo.launch(share=True) |