将yolov5识别出的图片截取并保存到指定文件夹
时间: 2023-05-27 15:02:34 浏览: 471
以下是一个Python代码示例,可以实现将yolov5识别出的物体进行截取并保存到指定文件夹:
```python
import torch
import cv2
import os
# 加载yolov5模型
model = torch.hub.load('ultralytics/yolov5', 'yolov5s', pretrained=True)
# 设置保存截取图片的文件夹路径
save_dir = './cropped_images'
# 如果文件夹不存在,则创建
if not os.path.exists(save_dir):
os.makedirs(save_dir)
# 加载要进行识别的图片
img_path = './test.jpg'
img = cv2.imread(img_path)
# 进行物体识别
results = model(img)
# 获取识别出的所有物体信息
for i, det in enumerate(results.pred):
# 获取物体的类别
cls = model.names[int(det[:, -1])]
# 获取物体的位置信息(左上角坐标和右下角坐标)
x1, y1, x2, y2 = map(int, det[i, :4])
# 截取物体所在的图片区域
cropped_img = img[y1:y2, x1:x2]
# 保存截取后的图片到指定文件夹
save_path = os.path.join(save_dir, f'{cls}_{i}.jpg')
cv2.imwrite(save_path, cropped_img)
```
需要注意的是,以上代码只能进行单张图片的识别和截取,如果需要批量处理多张图片,则需要在代码中加入循环。同时,也可以根据具体需求进行调整和修改。
阅读全文