from ultralytics import YOLO
model = YOLO(r"best.pt")
results = model(r'\183.jpg', save=True)
def extract_predictions(result):
extracted_data = []
cls_dict = result.names
cls_all = result.boxes.cls.tolist()
xyxy_all = result.boxes.xyxy.tolist()
for i in range(len(cls_all)):
label_name = cls_dict[int(cls_all[i])]
box_xyxy = xyxy_all[i]
box_mid_xy = [(box_xyxy[0] + box_xyxy[2]) / 2, (box_xyxy[1] + box_xyxy[3]) / 2]
box_mid_xy = [coord * 0.762 for coord in box_mid_xy]
extracted_data.append({
"label_name": label_name,
"box_mid_xy": box_mid_xy,
})
return extracted_data
def find_duplicates(predictions):
class_dict = {}
for prediction in predictions:
class_name = prediction['label_name']
if class_name not in class_dict:
class_dict[class_name] = []
class_dict[class_name].append(prediction['box_mid_xy'])
duplicates = {k: v for k, v in class_dict.items() if len(v) > 1}
return duplicates
predictions = extract_predictions(results[0])
duplicate_classes = find_duplicates(predictions)
print(duplicate_classes)