Spaces:
Running
Running
File size: 1,107 Bytes
4a0cd82 a835c9c 2dd2d70 e1976f4 4a0cd82 2dd2d70 4a0cd82 2dd2d70 4a0cd82 2dd2d70 4a0cd82 a835c9c 4a0cd82 a835c9c |
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 |
import gradio as gr
import torch
from ultralytics.nn.tasks import DetectionModel
from torch.nn.modules.container import Sequential # Allow Sequential if needed
# Whitelist the globals to bypass the pickle error (only do this if you trust the model source!)
torch.serialization.add_safe_globals([DetectionModel, Sequential])
from ultralyticsplus import YOLO
from PIL import Image
# Load your custom YOLOv8 leaf detection model
model = YOLO('foduucom/plant-leaf-detection-and-classification')
def count_leaves(image):
# Convert image to a PIL Image and ensure it's in RGB
image = Image.open(image).convert("RGB")
# Run inference
results = model.predict(image)
# Count the number of detected leaves
num_leaves = len(results[0].boxes)
return f"Number of leaves detected: {num_leaves}"
# Gradio UI
iface = gr.Interface(
fn=count_leaves,
inputs=gr.Image(type="filepath"),
outputs="text",
title="Leaf Counter",
description="Upload an image of a plant, and the model will detect and count the number of leaves."
)
if __name__ == "__main__":
iface.launch()
|