yolov8预测文件列表
时间: 2025-01-07 17:01:43 浏览: 5
### 使用 YOLOv8 进行文件列表预测
为了实现基于文件列表的批量预测,可以编写 Python 脚本来遍历指定路径下的所有图片文件并调用 YOLOv8 模型进行推理。下面是一个完整的代码示例来展示这一过程:
```python
import os
from ultralytics import YOLO
def predict_images_from_list(model_path, image_dir, output_dir):
"""
对给定目录中的所有图像执行预测并将结果保存到输出目录。
参数:
model_path (str): 加载预训练模型的路径。
image_dir (str): 输入图像所在的文件夹路径。
output_dir (str): 存储检测结果的文件夹路径。
"""
# 初始化YOLOv8模型
model = YOLO(model_path)
# 创建输出目录如果不存在的话
if not os.path.exists(output_dir):
os.makedirs(output_dir)
# 获取输入目录下所有的jpg/png/jpeg格式的文件名列表
files = [f for f in os.listdir(image_dir) if any(f.lower().endswith(ext) for ext in ('.png', '.jpg', '.jpeg'))]
# 开始逐个处理每张图片
for file_name in files:
img_path = os.path.join(image_dir, file_name)
results = model(img_path)[0].plot() # 执行预测
save_path = os.path.join(output_dir, file_name)
results.save(save_path) # 将带有框选的结果图保存下来
print("Prediction completed.")
# 设置参数
model_path = "path/to/best.pt"
image_directory = "../datasets/melon_seg/images/val"
output_directory = "./predictions"
predict_images_from_list(model_path, image_directory, output_directory)
```
此段代码实现了从指定文件夹读取待测图片,并利用已训练好的 `best.pt` 权重文件加载 YOLOv8 模型来进行目标检测的任务[^1]。通过调整变量 `model_path`, `image_directory` 和 `output_directory` 的值,可以根据实际需求改变使用的模型权重位置以及要分析的数据源和存储预测结果的位置。
阅读全文