import gradio as gr from ultralytics import YOLO from PIL import Image from ultralytics import YOLO from PIL import Image from ultralytics.utils.plotting import Annotator,colors import glob model = YOLO('Dental_model.pt') # Replace 'yolov8n.pt' with your model file if using a custom one pic_files=glob.glob('*.jpg') names=model.model.names def detect_objects(image): image1=image.copy() results = model.predict(image) whole=results[0].plot() classes=results[0].boxes.cls.cpu().tolist() boxes=results[0].boxes.xyxy.cpu() annotator = Annotator(image, line_width=3) annotator1=Annotator(image1, line_width=3) for box,cls in zip(boxes,classes): annotator.box_label(box, label=names[int(cls)], color=colors(int(cls))) annotator1.box_label(box, label=None, color=colors(int(cls))) return Image.fromarray(annotator.result()),Image.fromarray(annotator1.result()) # Gradio Interface title = "YOLOv8 Object Detection" description = "Upload an image to detect objects using a YOLOv8 model." gradio_app =gr.Interface(fn=detect_objects, inputs=gr.Image(type="pil"), outputs=[gr.Image(type='pil', label="Dental Analysis"), gr.Image(type='pil', label="Dental Analysis")], examples=pic_files) if __name__=="__main__": gradio_app.launch()