Pa-Barya / utils /detect.py
jayn95's picture
Upload 5 files
eb720c2 verified
raw
history blame contribute delete
710 Bytes
from ultralytics import YOLO
from PIL import Image
CONF_THRESHOLD = 0.5
class BillDetector:
def __init__(self, model_path: str):
self.model = YOLO(model_path)
def detect(self, image: Image.Image):
"""
Run YOLOv8 inference and return detected bill classes.
Returns a list of class names (e.g., ['100', '50']).
"""
results = self.model(image, conf=CONF_THRESHOLD)
detected_classes = []
for r in results:
for box in r.boxes:
cls_id = int(box.cls[0])
cls_name = self.model.names[cls_id]
detected_classes.append(cls_name)
return detected_classes