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 model = YOLO('Dental_model.pt') # Replace 'yolov8n.pt' with your model file if using a custom one 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")]) if __name__=="__main__": gradio_app.launch(server_name="0.0.0.0", server_port=7861, share=True, show_error=False)