源码于2022.8下载。

目的:可以使用中文标签

与之前版本的yolov5的代码不同,绘制图像的函数从

plot_one_box

改成了

annotator.box_label

在新的函数中,已经可以实现从opencv转成PIL格式

我们做的工作

1、下载合适的字体

源码中默认的使用Arial.ttf字体,这种字体在显示中文的时候会出现格子异常

为了解决这个问题,首先要更换字体,在这里使用

simhei.ttf

下载链接:http://www.font5.com.cn/ziti_xiazai.php?id=151&part=1237887120&address=0

下载完成之后,将字体放到程序中,并进行font参数的更改

class Annotator:# YOLOv5 Annotator for train/val mosaics and jpgs and detect/hub inference annotationsdef __init__(self, im, line_width=None, font_size=None, font='C:/Users/24986/Desktop/anquanmao/yolov5-master/font/simhei.ttf', pil=True, example='abc'):assert im.data.contiguous, 'Image not contiguous. Apply np.ascontiguousarray(im) to Annotator() input images.'non_ascii = not is_ascii(example)  # non-latin labels, i.e. asian, arabic, cyrillicself.pil = pil or non_asciiif self.pil:  # use PILself.im = im if isinstance(im, Image.Image) else Image.fromarray(im)self.draw = ImageDraw.Draw(self.im)self.font = check_pil_font(font='C:/Users/24986/Desktop/anquanmao/yolov5-master/font/simhei.ttf' if non_ascii else font,size=font_size or max(round(sum(self.im.size) / 2 * 0.035), 12))else:  # use cv2self.im = imself.lw = line_width or max(round(sum(im.shape) / 2 * 0.003), 2)  # line width

font需要根据自己的路径具体填写,更改完路径之后,注意更改后面的pil,默认是False,即不使用PIL将图片转化成PIL格式。但是在这里需要进行转化。

然后需要对detect.py文件进行修改。

为了操作简单,这里重新定义一个list用来保存标签

namess = ['人','头','头盔']
                for *xyxy, conf, cls in reversed(det):if save_txt:  # Write to file,这个是以txt文件的结果进行保存,不过我们用不到xywh = (xyxy2xywh(torch.tensor(xyxy).view(1, 4)) / gn).view(-1).tolist()  # normalized xywhline = (cls, *xywh, conf) if save_conf else (cls, *xywh)  # label formatwith open(f'{txt_path}.txt', 'a') as f:f.write(('%g '* len(line)).rstrip() % line + '\n')#这个以。图片的形式进行保存,并且在这个地方可以根据自己是否想显示某一类特定的结果,然后去显示特定的标签,可以把不想要的标签剔除掉,还可以根据具体的坐标去判断是否显示if save_img or save_crop or view_img:  # Add bbox to imagec = int(cls)  # integer classnamess = ['人','头','头盔']label = None if hide_labels else (namess[c] if hide_conf else f'{namess[c]} {conf:.2f}')  #是否添加标签annotator.box_label(xyxy, label, color=colors(c, True))if save_crop:       #是否将目标框截取下来进行保存save_one_box(xyxy, imc, file=save_dir / 'crops' / names[c] / f'{p.stem}.jpg', BGR=True)

这里将names改成了namess。

修改完之后就可以正确显示中文了。(本方法只是用最近版本的yolov5的代码)

yolov5使用中文标签的问题相关推荐

  1. yolov5显示中文标签

    本文章的方法采用的是在检测时识别完成之后替换标签渲染打印到图片的方法. 首先下载支持中文的字体,我采用的是simhei字体,链接如下,是自己使用的字体打包上传,亲测可用. 字体链接 将字体下载后放在v ...

  2. 解决YOLOv5算法中的中文标签显示问题

    在前面的文章中已经详细介绍了在本机上安装YOLOv5的教程,安装YOLOv5可参考前面的文章 YOLOv5训练自己的数据集(超详细) 本人使用的是YOLOv5-5.0版本 一. 训练YOLOv5时ma ...

  3. yolov5检测框显示中文标签

    目录 前言 1.有中文标签的数据集 2.yolov5代码修改为支持中文标签 前言 很多人在训练yolov5目标检测的时候,标签只能显示英文的.怎么样才可以训练一个可以检测物体并且显示中文标签的模型呢. ...

  4. YOLOv5实战垃圾分类目标检测

    使用YOLOv5完成垃圾分类的目标检测 课程链接:https://edu.csdn.net/course/detail/35284 垃圾分类是一项利国利民的民生工程,需要全社会的共同参与.YOLOv5 ...

  5. 使用yolov5训练自己的模型修改的地方

    1.支持中文标签 1.文件train.py的修改: with open(opt.data) as f: 修改为:with open(opt.data, encoding='UTF-8') as f: ...

  6. 基于YOLOv5开源项目实现垃圾分类功能(2)

    目录 前言 一.基本概念 1.什么是权重文件? 2.GPU与CPU的区别 3.深度学习框架 4.PyTorch 二.下载和安装nvidia显卡驱动 三.训练自己的模型并分析 前言   在上篇文章中,我 ...

  7. 在Yolov5 Yolov4 Yolov3 TensorRT 实现Implementation

    在Yolov5 Yolov4 Yolov3 TensorRT实现Implementation news: yolov5 support 引论 该项目是nvidia官方yolo-tensorrt的封装实 ...

  8. GitHub上YOLOv5开源代码的训练数据定义

    GitHub上YOLOv5开源代码的训练数据定义 代码地址:https://github.com/ultralytics/YOLOv5 训练数据定义地址:https://github.com/ultr ...

  9. GitHub上开源的YOLOv5

    GitHub上开源的YOLOv5 代码地址:https://github.com/ultralytics/YOLOv5 该存储库代表Ultralytics对未来的对象检测方法的开源研究,并结合了我们在 ...

最新文章

  1. vim中设置python代码缩进为4个空格
  2. opencv入门 - 显示图像学习总结
  3. Python编程基础:第三十三节 文件复制Copy a File
  4. php smarty 时间,smarty的时间格式-详细 | 时刻需
  5. 2019-04(2)Python学习
  6. 高斯拟合 vc++代码_使用python+sklearn实现核岭回归和高斯回归的比较
  7. java qrious 二维码中文无反应_来了来了,今天的苹果限免应用刚刚出炉,8款APP在App Store限时免费啦!手慢无~...
  8. centos7配置IP地址CentOS7 修改hostname,ip地址以及hosts(永久生效)
  9. Linux进程突然挂死,小玩意:如何让linux上挂死的进程重启?
  10. pin与抓握手包破解wifi密码
  11. 计算机与酒店管理大学论文,酒店管理系统的设计与实现
  12. 图像相似度对比分析软件,图像相似度算法有哪些
  13. 计算机网络 数字签名
  14. win7更新错误代码80072efe的解决方法
  15. A-Unimodal Array
  16. BZOJ 1787 Ahoi2008 Meet紧急集合
  17. 艺多不压身 -- 目录
  18. STM32H7B0 HAL OSPI配置的一次失败原因分享
  19. 电脑视频转换成mp4格式,视频格式转换器转换
  20. 山东大学网络靶场实验平台—团队进度(三)

热门文章

  1. access sw异形孔向导内存不足_SolidWorks异形孔问题
  2. 虚拟运营商最晚明年五月推业务
  3. win10打字突然不显示选字框了
  4. Netconf协议学习笔记
  5. 平面曼哈顿最小生成树
  6. ICPC 山东省省赛刷题 第十八届西南科技大学ACM程序设计竞赛(同步赛)牛客 BFH题解
  7. 公司的工作流程,以及作为测试人员的介入时机
  8. linux服务器主机异常重启故障分析报告
  9. XILINX Zynq UltraScale+ MPSoC 在 4K 视频图像处理和会议系统的应用
  10. cmd返回上一级常用命令