YOLOv8.2.25中show_labels与show_conf参数失效问题求助
YOLOv8.2.25保存图片仍显示标签/置信度的解决方法
问题重现
使用YOLOv8.2.25执行以下代码时,已设置show_labels=False和show_conf=False,但保存的图片依然显示检测标签和置信度:
model = YOLO(model_path) results = model.predict(self.image_path, show_labels=False, show_conf=False) result[0].save(filename=path_jpg_image)
核心原因
predict方法中的show_labels和show_conf仅控制实时预览窗口的显示效果,不影响最终保存图片的内容。result.save()默认使用默认绘图配置,不会继承predict时的show_*参数。
解决建议
方法1:直接在predict时指定保存参数
调用predict时使用save_conf=False和save_labels=False(而非show_*参数),同时开启save=True,可直接保存不带标签和置信度的图片:
model = YOLO(model_path) # 保存到指定路径,可通过project和name自定义输出目录 results = model.predict( self.image_path, save=True, save_conf=False, save_labels=False, project="your_output_folder", name="predict_results", exist_ok=True # 允许覆盖已有目录 )
方法2:手动调用plot方法自定义绘图后保存
通过result.plot()方法手动指定labels=False和conf=False生成无标签的图像,再自行保存:
import cv2 from ultralytics import YOLO model = YOLO(model_path) results = model.predict(self.image_path) # 生成不带标签和置信度的图像(plot返回BGR格式) plotted_image = results[0].plot(labels=False, conf=False) # 保存图像 cv2.imwrite(path_jpg_image, plotted_image) # 若使用PIL保存,需转换为RGB格式 # from PIL import Image # Image.fromarray(plotted_image[..., ::-1]).save(path_jpg_image)
方法3:修改默认配置文件(可选)
若需全局生效,可修改YOLO的默认配置文件(如default.yaml),将save_conf和save_labels默认值设为False,但此方法会影响所有预测任务,需谨慎操作。
内容的提问来源于stack exchange,提问作者Paulo Henrique PH
相关产品推荐
相关产品推荐

