目标检测标注格式转换
功能介绍:目标检测标注格式转换功能允许用户将不同格式的标注文件(如 Json、XML)转换为适合 Yolo 模型训练的 TXT 标注文件,解决了不同数据格式之间的兼容性问题,方便用户使用不同来源的数据进行模型训练。

操作步骤:
打开格式转换界面:在平台主界面中,找到并点击目标检测标注格式转换功能入口,进入格式转换界面。界面主要分为设定 Label 文件区、Json 转 Yolo 格式区和 XML 转 Yolo 格式区。
设定标签文件:在设定 Label 文件区,点击“设定标签文件”按钮,弹出文件选择对话框。选择 Txt 格式的标签文件,选择后文件的全路径将显示在对应的主界面上,设定标签文件的作用在于对标签的索引要明确化
Json 转 Yolo 格式:
- 设置文件夹路径
:在 Json 转 Yolo 格式区,点击“设定文件夹”按钮,依次为“数据集图片文件夹”“Json 标注文件夹”和“Text 标注文件夹”选择路径。选择后,相应文件夹的全路径将显示在对应的主界面上。 - 执行转换
:设置好三个文件夹路径后,点击“Json 转 Yolo 格式”按钮,系统会将 Json 标注文件夹中的所有 Json 标注文件转换为 Yolo 和 labelimg 格式的 TXT 标注文件,并将转换后的 TXT 文件保存到 Text 标注文件夹中。 XML 转 Yolo 格式:
- 设置文件夹路径
:操作步骤与 Json 转 Yolo 格式类似。在 XML 转 Yolo 格式区,点击“设定文件夹”按钮,分别为“数据集图片文件夹”“XML 标注文件夹”和“Text 标注文件夹”选择路径。 - 执行转换
:设置好三个文件夹路径后,点击“XML 转 Yolo 格式”按钮,系统会将 XML 标注文件夹中的 XML 标注文件转换为 TXT 标注文件,并保存到 Text 标注文件夹中。
目标检测标注格式转换界面代码层级关系及功能说明
主程序
- 主程序入口
- 创建Qt应用程序实例
- 设置应用程序的样式表
- 创建AnnotationConverterUI类的实例
- 显示窗口
- 进入应用程序的事件循环
类及方法
- ConversionThread类
- __init__方法:初始化线程,接收转换函数及其参数
- run方法:线程的执行体,运行传入的转换函数
- ProgressDialog类
- __init__方法:初始化进度对话框
- update_progress方法:更新进度条的值
- AnnotationConverterUI类
- __init__方法:初始化UI界面
- ui_init方法:初始化UI界面的布局和组件
- set_label_file方法:设置标签文件
- set_folder方法:设置文件夹路径
- start_json_to_yolo_conversion方法:启动JSON到YOLO格式的转换
- json_to_yolo方法:将JSON格式的标注文件转换为YOLO格式
- start_xml_to_yolo_conversion方法:启动XML到YOLO格式的转换
- xml_to_yolo方法:将XML格式的标注文件转换为YOLO格式
目标检测标注格式转换界面调用关系说明主程序创建 AnnotationConverterUI
类的实例并显示窗口。AnnotationConverterUI类中的 start_json_to_yolo_conversion
和start_xml_to_yolo_conversion
方法会创建ConversionThread
类的实例,并启动线程进行转换。ConversionThread类的 run
方法会调用传入的转换函数(如json_to_yolo
或xml_to_yolo
)。在转换过程中, json_to_yolo
和xml_to_yolo
方法可能会通过信号机制调用ProgressDialog
类的update_progress
方法来更新进度条。





