pred.py 936 B

1234567891011121314151617181920212223242526272829303132333435
  1. # 侦测
  2. from ultralytics import YOLO
  3. import cv2
  4. import numpy as np
  5. # 加载我们训练的模型
  6. model = YOLO("best.pt")
  7. # 预测结果
  8. result = model("IMG_3052.JPG") # 利用模型侦测图片中的目标
  9. # print(result[0]) # [0]表示第一张图像的识别结果
  10. names = result[0].names # 类别对应的名字
  11. print(names)
  12. boxes = result[0].boxes # 取一个目标
  13. cls = int(boxes.cls[0].cpu().item())
  14. conf = boxes.conf[0].cpu().item()
  15. x1, y1, x2, y2 = boxes.xyxy[0].cpu().numpy().astype(np.int32)
  16. print(cls) # 类别ID
  17. print(conf) # 目标侦测成功的置信度
  18. print(x1, y1, x2, y2) # 侦测目标的区域
  19. print(names[cls]) # 获取侦测的目标名字
  20. # 把目标在图像中标注出来
  21. # 1. 打开图像
  22. img = cv2.imread("IMG_3052.JPG")
  23. # 2. 标注图像
  24. img = cv2.rectangle(img, (x1, y1), (x2, y2), color=(0, 0, 255), thickness=5)
  25. # 3. 保存图像
  26. cv2.imwrite("1.jpg", img)