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

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

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Limiiiing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值