首页 > 其他分享 >Yolov5 根据自己的需要更改 预测框box和蒙版mask的颜色

Yolov5 根据自己的需要更改 预测框box和蒙版mask的颜色

时间:2023-05-10 20:22:15浏览次数:47  
标签:box 蒙版 Yolov5 self bgr masks else colors __

1、首先找到项目中 utils/plots.py 文件,打开该代码
将原来的 Colors类注释掉(或删掉),改成如下Colors类

class Colors:
    def __init__(self):
        self.red = (255, 0, 0) # 深红色
        self.green = (0, 255, 0) # 绿色

    def __call__(self, i, bgr=False):
        if i == 1:
            return self.red if not bgr else self.red[::-1]
        elif i == 0:
            return self.green if not bgr else self.green[::-1]
        else:
            raise ValueError("i 暂时只能取 0 或 1")


# class Colors:
#     # Ultralytics color palette https://ultralytics.com/
#     def __init__(self):
#         # hex = matplotlib.colors.TABLEAU_COLORS.values()
#         hexs = ('FF3838', 'FF9D97', 'FF701F', 'FFB21D', 'CFD231', '48F90A', '92CC17', '3DDB86', '1A9334', '00D4BB',
#                 '2C99A8', '00C2FF', '344593', '6473FF', '0018EC', '8438FF', '520085', 'CB38FF', 'FF95C8', 'FF37C7')
#         self.palette = [self.hex2rgb(f'#{c}') for c in hexs]
#         self.n = len(self.palette)
#
#     def __call__(self, i, bgr=False):
#         c = self.palette[int(i) % self.n]
#         return (c[2], c[1], c[0]) if bgr else c
#
#     @staticmethod
#     def hex2rgb(h):  # rgb order (PIL)
#         return tuple(int(h[1 + i:1 + i + 2], 16) for i in (0, 2, 4))

2、打开 predict.py ,可以直接搜索 colors,找到下列两行代码
```python
# 原代码 第一个我是在175行,第二个在190行,可能版本不一样在不同的行,根据自己的代码找一下
annotator.masks(masks, colors=[colors(x, True) for x in det[:, 5]],im_gpu=None if retina_masks else im[i])
annotator.box_label(xyxy, label, color=colors(c, True))
# 更改后的代码
annotator.masks(masks, colors=[colors(1, True)], im_gpu=None if retina_masks else im[i]) # 蒙版 mask ,我这里设为红色
annotator.box_label(xyxy, label, color=colors(0, True)) # 预测框,我这里设为绿色

3、完成,运行 predict.py 即可

标签:box,蒙版,Yolov5,self,bgr,masks,else,colors,__
From: https://www.cnblogs.com/femme/p/17389218.html

相关文章

  • (转)Dubbox Dubbo 扩展
    Dubbo 是一个被国内很多互联网公司广泛使用的开源分布式服务框架,即使从国际视野来看应该也是一个非常全面的SOA基础框架。作为一个重要的技术研究课题,在当当网我们根据自身的需求,为Dubbo实现了一些新的功能,并将其命名为Dubbox(即DubboeXtensions)。主要的新功能包括:支持......
  • yolov5训练栏杆检测模型日志记录
    yolov5训练栏杆检测模型日志记录 (wind_2021)H:\PytorchProject\yolov5_train_xinru_2023050901>(wind_2021)H:\PytorchProject\yolov5_train_xinru_2023050901>(wind_2021)H:\PytorchProject\yolov5_train_xinru_2023050901>(wind_2021)H:\PytorchProject\yol......
  • how to configure blackbox.yml
    modules:http_2xx:prober:httphttp:follow_redirects:truehttp_post_2xx:prober:httphttp:method:POSTfollow_redirects:trueheaders:Content-Type:application/jsonbody_size_limit:10MB......
  • 【PyQt6】Python实现QComboBox显示文本与对应值不同的方法
    问题实现QComboBox显示文本与对应值不同的方法。比如下拉框显示“正确”和“错误”,但程序中想要获取“1”和“0”,但又不想再根据显示内容来判断。解决#设置combobox.addItem("正确",1)combobox.addItem("错误",0)#获取text=combobox.currentText()#正确/错误val......
  • 解决 VirutalBox 安装 Alpine Linux 出现 Kernel Panic 的问题
    问题如图,使用默认配置安装AlpineLinux时总是会启动都启动不了,找了半天后终于在官方论坛上找到原因了。解决在设置里分配大于1个的cpu就行,如图我这里给的是2个,分配完毕后重新启动就正常了......
  • unity让BoxCollider自适配大小
    1.一个空物体下面有若干个子物体,想要为空物体添加碰撞盒且碰撞盒还得要包裹所有子物体,手动拖动的话有点费时,费力,费眼,这时候有个工具是最好用的(如下图所示) 2.选中空物体点击(如下图所示) 3.就会变成如下图所示方便快捷 代码如下(编辑器脚本)usingUnityEngine;......
  • 自学c#基础第七课,c#程序打包分发、textBox
    程序打包发布两种方式:1.解决方案右键生成解决方案,生成完成后打开所在路径找到debug文件夹下,压缩下debug所有文件,复制到别的电脑上即可使用。2.新建项目setup类型的,然后一步步设置,然后生成,生成后的文件是一个安装文件,自己复制到别的电脑上运行下,安装自己要的指定目录即可。textB......
  • 第6-1讲,Listbox 列表框控件
    Listbox列表框控件在与用户交互的过程成中,如果需要用户自己做出选择,可以使用列表框控件.importtkinterastk#创建一个窗口window=tk.Tk()#创建窗口的标题window.title("listbox")#设置窗口的大小window.geometry('500x400')#设置窗体的图标window.iconbitmap('../......
  • 三、virtualbox
    3.1、虚拟机管理软件对比VirtualBox:https://www.virtualbox.org/是一款开源虚拟机软件,使用Qt编写,来自Oracle。VirtualBox没有使用qemu、kvm、libvirt等开源组件,它的前端、后端以及内核加速模块都是自己开发的,唯有远程桌面所需要的VNC使用了libvncserver。Virtu......
  • VirtualBox安装增强功能
    VirtualBox版本:7.0.8r156879(Qt5.15.2)1.VirtualBox安装增强功能参考:https://blog.csdn.net/weixin_44071580/article/details/1268155821)http://download.virtualbox.org/virtualbox/下载对应版本的VBoxGuestAdditionsISO文件我选择VBoxGuestAdditi......