You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
962 B

#coding:utf-8
from ultralytics import YOLO
import cv2
# 所需加载的模型目录
path = 'models/best.pt'
# 需要检测的图片地址
img_path = "TestFiles/aa.jpg"
# 加载预训练模型
model = YOLO(path, task='detect')
# 检测图片
results = model(img_path)
# 读取原始图片
img = cv2.imread(img_path)
# 遍历所有检测结果
for result in results:
# 获取检测框的坐标
for i, box in enumerate(result.boxes):
x1, y1, x2, y2 = map(int, box.xyxy[0])
# 裁剪检测框内的图像
cropped_img = img[y1:y2, x1:x2]
# 显示裁剪后的图像
cv2.imshow("Cropped Image", cropped_img)
cv2.waitKey(0)
# 构建保存路径
save_path = f"TestFiles/cropped_license_plate_{i}.jpg"
# 保存裁剪后的图像
cv2.imwrite(save_path, cropped_img)
# 显示原始图像上的检测结果
res = results[0].plot()
cv2.imshow("YOLOv5 Detection", res)
cv2.waitKey(0)