#!/usr/bin/env python3 """ Simple inference example for the strawberry detection model. """ from ultralytics import YOLO import cv2 import sys def main(): # Load the model print("Loading strawberry detection model...") model = YOLO('best.pt') # Run inference on an image if len(sys.argv) > 1: image_path = sys.argv[1] else: print("Usage: python inference_example.py ") print("Using default test - loading webcam...") # Webcam inference cap = cv2.VideoCapture(0) while True: ret, frame = cap.read() if not ret: break # Run inference results = model(frame, conf=0.5) # Draw results annotated_frame = results[0].plot() # Display cv2.imshow('Strawberry Detection', annotated_frame) if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows() return # Image inference print(f"Running inference on {image_path}...") results = model(image_path) # Print results for result in results: boxes = result.boxes print(f"\nFound {len(boxes)} strawberries:") for i, box in enumerate(boxes): confidence = box.conf[0].item() print(f" Strawberry {i+1}: {confidence:.2%} confidence") # Save annotated image output_path = 'output.jpg' result.save(output_path) print(f"\nSaved annotated image to {output_path}") if __name__ == '__main__': main()