YOLOv9修改检测框颜色,粗细,标签大小,标签名称

news2024/12/23 10:05:57

在检测结果图中,官方的检测样式可能不满足我们的需求,常常修改更改检测框的颜色,粗细,标签背景颜色,大小,标签名称等内容,下面就介绍一下,这些地方如何修改。

YOLOv9的源代码中,utils/plots.py中实现了绘图的相关代码,在这个文件的box_label函数下实现了检测框绘制的相关内容,具体的内容已经标注:

在这里插入图片描述

1️⃣ cv2.rectangle(self.im, p1, p2, color, thickness=self.lw, lineType=cv2.LINE_AA) 绘制的是检测框的相关内容。
color代表检测框的颜色,修改方式为:
color换成其它BGR色调 例如:(255, 0, 0) BGR蓝色

BGR颜色
(0, 0, 255)红色
(255, 0, 0)蓝色
(0, 255, 0)绿色
(0, 0, 0)黑色
(255, 0,255)紫色

thickness代表检测框的粗细,可以修改为成2或3或5...或者其它大小,只要绘制的好看就行。

cv2.rectangle(self.im, p1, p2, (255, 0, 0), thickness=2, lineType=cv2.LINE_AA)
此时就代表我将检测框的颜色修改为蓝色,粗细为2

2️⃣ w, h = cv2.getTextSize(label, 0, fontScale=self.lw / 3, thickness=tf)[0]主要用来控制标签的背景相关信息,就是标签背后的那一块实心区域。
可以修改的是fontScale,将其指定为2或3或5...或者其它大小,同样只要绘制的好看就行。

w, h = cv2.getTextSize(label, 0, fontScale=2, thickness=tf)[0]

3️⃣ cv2.rectangle(self.im, p1, p2, color, -1, cv2.LINE_AA)可以修改标签背景的颜色,修改方法和上方的一致,建议颜色和检测框一致。

cv2.rectangle(self.im, p1, p2, color, -1, cv2.LINE_AA)
此时就代表我将标签背景的颜色修改为蓝色
cv2.putText(self.im,
            label, (p1[0], p1[1] - 2 if outside else p1[1] + h + 2),  
            0,
            self.lw / 3,
            txt_color,
            thickness=tf,
            lineType=cv2.LINE_AA)

4️⃣ 这里用来控制标签的相关信息。
其中label表示标签的名称,初始的是数据集中的标签,单标签的可以直接在这里进行修改成字符串的形式内容。

self.lw / 3表示标签的大小,和上方的标签背景大小一致,若修改,建议设置成同等大小。

cv2.putText(self.im,
            'changed', (p1[0], p1[1] - 2 if outside else p1[1] + h + 2),  
            0,
            2,
            txt_color,
            thickness=tf,
            lineType=cv2.LINE_AA)
            
此时就代表我将标签名称修改为:changed,大小为2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2091725.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于ssm的实习课程管理系统/在线课程系统

实习课程管理系统 摘 要 互联网的快速发展,给各行各业带来不同程度的影响,悄然改变人们的生活、工作方式,也倒逼很多行业创新和变革,以适应社会发展的变化。人们为了能够更加方便地管理项目任务,实习课程管理系统被人们…

视频和音频合成视频Easy_Wav2Lip

Easy_Wav2Lip 是使用视频和音频合成新的视频 Easy-WAV2lip是目前最成熟的数字人口型算法。 用时以及效率来说,三大主流算法 WAV2lip、Geneface、AD-Nerf。WAV2lip>Geneface=AD-Nerf 1. 整体流程 第一步,加载视频/图片和音频/tts。…

喵喵在CSDN的2048天(创作纪念日)

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。…

OJ-0830**

题目 示例1 输入: ABC ABC 输出: 3示例2 输入: ABCABBA CBABAC 输出: 9解题思路 动态规划 首先,我们可以定义一个二维数组 dp,其中 dp[i][j] 表示从字符串A的前i个字符到字符串B的前j个字符的最短距离。…

DDR3详解

1.DDR3简介 DDR3 SDRAM,全称第三代双倍速率同步动态随机存取存储器,简称 DDR3,双倍速率(double-data-rate),是指时钟的上升沿和下降沿都发生数据传输;同步,是指DDR3数据的读取写入是…

Linux教程六:文件目录类命令ls、cd(图文详解)

默认登录出现一个[用户localhost ~] 代表时登陆用户的家目录 1、 Linux ls命令 基本用法 ls:列出当前目录下的文件和目录(不包括以.开头的隐藏文件)。ls 目录名:列出指定目录下的文件和目录。 常用选项 -l:以长格式列出…

利用开源 AI 智能名片 O2O 商城系统提升饭店私域流量

摘要:本文旨在探讨如何通过设计门店裂变方式,结合开源 AI 智能名片 O2O 商城系统,将私域流量转化为自然流量,以促进饭店业务增长。通过在餐桌上放置个人微信二维码台卡、提供福利套餐和折扣、创建饭圈社群等方式,吸引用…

Vue.js入门系列(十九):深入理解和应用组件自定义事件

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] &#x1f4f1…

python-奥运奖牌计数

题目描述 2008 年北京奥运会,A 国的运动员参与了 n 天的决赛项目 (1≤n≤100)。现在要统计一下 A 国所获得的金、银、铜牌数目及总奖牌数。输入第 1 行是 A 国参与决赛项目的天数 n,其后 n 行,每一行是该国某一天获得的金、银、铜牌数目&…

小程序连接MQTT服务器,以及配置,避坑

1、MQTT服务器域名配置 由于小程序必须使用域名方式连接socket,所以必须为MQTT服务器配置域名,并配置SSL证书。 1.1相关文档: EMQX 企业版安装 | EMQX 企业版 4.4 文档 EMQX MQTT 微信小程序接入 | EMQX 4.2 文档 MQTT 下载引入和配置连…

【图像去噪】论文精读:Multi-level Wavelet-CNN for Image Restoration(MWCNN)

请先看【专栏介绍文章】:【图像去噪(Image Denoising)】关于【图像去噪】专栏的相关说明,包含适配人群、专栏简介、专栏亮点、阅读方法、定价理由、品质承诺、关于更新、去噪概述、文章目录、资料汇总、问题汇总(更新中…

Spring入门之IOC(包含实例代码)

目录 什么是Spring?什么是Spring IOC?如何创建一个Spring IOC项目?1. 导入Maven项目依赖2. 准备一个实体类(先定义接口再实现)3. 准备配置文件4. 在Test类中测试 IOC中的Bean管理实例化Bean的三种方式 什么是Spring&am…

微信中如何搜索附近的人

我们 微信 下面选择 发现 然后 点卷 附件 进入后 头上的页签 切换成 附件的人 在列表中点击后即可添加附件的人啦

鸿蒙启动框架配置文件(StartUpTask)

{"startupTasks": [//有哪些任务{"name": "StartupTask_001",//任务名字"srcEntry": "./ets/startup/StartupTask_001.ets",//任务的文件路径"runOnThread": "taskpool",//运行在哪个现成,有…

泰克TDP1000差分探头Tektronix TDP0500参数资料

泰克Tektronix TDP0500 TDP1000 高压差分探头 ​Tektronix TDP1000 高压差分探头是一款多功能且易于使用的探头,可提供开关电源、CAN/LIN 总线和高速数字系统设计所需的高速电气和机械性能。Tektronix TDP1000 探头专为与 TekVPI 探头接口或 TekProbe BNC 接口配…

Java:路径计算与障碍物处理

Java 实现寻找字符串数组中的最长公共前缀及不同路径数量计算(含障碍物) 在计算机科学和软件开发中,经常需要解决一些基本但实用的问题。本文将介绍两种常见问题的解决方案:一是从一组字符串中找出最长公共前缀;二是计…

能力驱动的企业战略转型:基于能力规划的战略转型与数字化实践全指南

在当今数字化和全球化加速发展的时代,企业面临着复杂的市场环境和迅速变化的客户需求。为了在竞争中脱颖而出,企业必须不仅制定卓越的战略,还需确保这些战略能够有效地转化为实际行动。基于能力规划(Capability-Based Planning, C…

Lua 代码编码规范

lua代码格式 vscode stylua 插件 配置文件stylua.toml column_width 240 line_endings “Unix” indent_type “Spaces” --使用空格 很重要,保证不同编辑器打开是一样的 indent_width 4 quote_style “AutoPreferDouble” --字符串引号样式双引号 call_paren…

海康二次开发学习笔记9-通讯触发及模块列表获取

通讯触发及模块列表获取 模块列表获取 获取流程中所有模块的模块名,添加下拉框用于显示模块名 1. 处理Combox2的DropDown事件 /// <summary>/// 模块列表获取/// </summary>/// <param name"sender"></param>/// <param name"e&q…

MCU官方IDE软件安装及学习教程集合 — STM32CubeIDE(STM32)

简介 各MCU厂商为保证产品的市场地位以及用户体验&#xff0c;不断的完善自己的产品配套&#xff0c;搭建自己的开发生态&#xff0c;像国外ST公司&#xff0c;国内的GD&#xff08;兆易创新&#xff09;&#xff0c;AT&#xff08;雅特力&#xff09;等等。目前就开发生态而言…