【目标检测之Ultralytics预测框颜色修改】

在 Ultralytics YOLOv8 中修改预测框颜色为红色,以下是三种实用方案:


方案 1:直接修改 plot() 方法的 colors 参数

在调用 results.plot() 时直接指定颜色参数:

python 复制代码
from ultralytics import YOLO

# 加载模型
model = YOLO("yolov8n.pt")

# 预测并绘制结果
results = model.predict("image.jpg")
plotted_img = results[0].plot(colors=(255, 0, 0))  # BGR格式:红色

# 保存或显示
plotted_img.show()  # 直接显示
# plotted_img.save("output.jpg")  # 保存结果

原理
plot() 方法的 colors 参数接受一个 BGR 元组 (B, G, R)(255, 0, 0) 表示红色。


方案 2:自定义调色板覆盖默认颜色

创建全红色的调色板并传递给 plot()

python 复制代码
from ultralytics import YOLO

# 加载模型
model = YOLO("yolov8n.pt")
results = model.predict("image.jpg")

# 创建全红色调色板 (每个类别都是红色)
num_classes = len(model.names)  # 获取类别总数
red_palette = [(255, 0, 0)] * num_classes  # 每个类别分配红色

# 应用自定义调色板
plotted_img = results[0].plot(colors=red_palette)
plotted_img.show()

原理

YOLOv8 默认使用类别索引映射调色板颜色。此方案为所有类别强制指定红色。


方案 3:修改 Annotator 源码(高级)

直接修改 Ultralytics 的绘图工具类:

  1. 找到文件 ultralytics/utils/plotting.py
  2. 定位 Annotator 类中的 box_label 方法。
  3. 将颜色生成逻辑改为固定红色:
python 复制代码
# 原始代码 (约在 265 行附近)
color = color or [random.randint(0, 255) for _ in range(3)]

# 修改为固定红色
color = (255, 0, 0)  # BGR: 红色

效果

全局所有预测框变为红色(需重新安装包或修改环境文件)。


额外方案:自定义后处理绘制

手动解析结果并绘制红色框:

python 复制代码
import cv2
from ultralytics import YOLO

# 加载模型和图像
model = YOLO("yolov8n.pt")
img = cv2.imread("image.jpg")
results = model.predict(img)

# 手动绘制结果
for box in results[0].boxes:
    x1, y1, x2, y2 = map(int, box.xyxy[0].tolist())
    cv2.rectangle(img, (x1, y1), (x2, y2), (0, 0, 255), 2)  # BGR红色 + 线宽2

# 显示结果
cv2.imshow("Red Boxes", img)
cv2.waitKey(0)

方案对比

方案 优势 适用场景
方案 1 简单快捷,单行代码修改 临时快速调试
方案 2 不修改源码,控制所有类别颜色 需全局红色但保留类别文本
方案 3 永久生效 长期项目且需全局修改
额外方案 完全自定义绘制逻辑 需要复杂自定义的场景

选择方案时,优先推荐 方案 1 (临时使用)或 方案 2(保留类别文本的红色框)。如需永久生效,可用方案 3(注意备份源码)。

相关推荐
fthux4 小时前
装闭 RenoPit 源码解析(09):AnalysisEngine装修闭坑分析主流程
人工智能·ai·开源·github·open source·renopit
敏编程4 小时前
开源项目 NextBand:探索融合健康传感、语音交互与 AI Agent 的下一代可穿戴设备
人工智能
ovO4 小时前
我按下“发送”之后:DeepSeek Harness 如何把一次请求变成 1,177 个增量片段
人工智能·开源·deepseek
昨日之日20064 小时前
LTX-2.5:更清晰、更可控、同步音画、多镜头连贯的AI视频神器
人工智能·音视频
九硕智慧建筑一体化厂家5 小时前
数字化管控落地,直流照明构筑安全照明体系
运维·人工智能·笔记·安全·智慧城市
江厌015 小时前
本地部署DeepSeek显卡怎么选?我把显存计算公式和实测记录写下来了
人工智能·百度·联想工作站·代理商推荐·渠道对比·工作站
小席是个热心肠5 小时前
AI相关的自我学习
java·人工智能·学习
FII工业富联科技服务5 小时前
工业AI自治的演进趋势:从内容生成到Agent驱动的工厂运营范式转变
人工智能
云和数据.ChenGuang5 小时前
fastapi的参数剖析
人工智能·深度学习·机器学习·语言模型·状态模式·fastapi
日常筹谋记5 小时前
技术研究:数据中心HVDC系统直流保护配合与ABB电气产品参数解析
人工智能·创业创新·业界资讯