You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Object detection场景下调整边界框标注字体大小的问题咨询

目标检测结果标注字体大小调整方案

字号修改不生效的核心原因

  • 字体路径加载失败,触发异常分支加载了固定大小的默认字体,你修改的truetype字号参数不会生效
  • 绘制标注文本的代码没有显式传入自定义的font变量,依然使用框架/方法默认的字体配置
  • 所用的目标检测框架有独立的可视化配置项,单独修改自定义font变量无法覆盖框架内置参数

具体解决步骤

步骤1:验证字体是否正常加载

在你现有的字体定义代码中添加调试语句,确认自定义字体被正确加载:

try:
    # 注意Windows系统建议写完整绝对路径避免读取失败
    font = ImageFont.truetype('C:/Windows/Fonts/arial.ttf', 48)
    print("自定义字体加载成功,当前字号:", font.size)
except IOError:
    font = ImageFont.load_default()
    print("自定义字体加载失败,已使用默认字体,无法调整字号")

如果输出加载失败,替换为你系统中实际存在的字体文件绝对路径即可。

步骤2:确保绘制文本时传入自定义字体

使用Pillow的ImageDraw绘制标注文字时,必须显式传入font参数才会生效:

错误写法(沿用默认字体):
draw.text((左上角x坐标, 左上角y坐标), 类别标签, fill=(255,0,0))
正确写法(应用自定义字体):
draw.text((左上角x坐标, 左上角y坐标), 类别标签, fill=(255,0,0), font=font)

步骤3:框架内置可视化的参数调整

如果你使用的是第三方目标检测框架自带的可视化工具,直接修改框架对应配置即可:

  • YOLOv5/v8:推理时添加参数--font-size 48,或直接修改源码中ultralytics/yolo/utils/plotting.py文件里的FONT_SIZE常量
  • Detectron2:初始化Visualizer对象时传入font_size参数:Visualizer(输入图像, 元数据, font_size=48)
  • 其他框架可直接搜索框架可视化模块的font相关参数,修改对应数值即可

内容的提问来源于stack exchange,提问作者Putera Ilham

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 13:06:00