LabelSphere
项目地址:https://github.com/ana52070/LabelSphere
暂无描述
一、项目介绍
1.项目简介
本工具是一款专为数据集分类设计的图片分类工具,旨在提升数据集整理的效率。工具提供了多种便捷的功能,包括自动读取指定目录下的图片并通过点击按钮将其自动归类到相应文件夹,支持撤回操作以确保分类准确性;展示多张图片供用户选择,快速完成分类任务;根据文件名自动匹配并移动或复制图片与标注文件,确保数据集的完整性;以及读取LabelTxt文件并筛选指定种类的标注,配合文件匹配功能进一步提高分类效率。该工具基于PyQt5开发,界面简洁易用,适用于大规模图片数据集的整理和管理。
2.项目功能
本工具提供了四大核心功能,帮助用户更高效地管理和整理数据集中的图片文件和标注文件:
(1)自动多类图像分类 该功能能够自动读取指定目录下的所有图片,用户只需点击对应的按钮,程序将自动将图片分类并放入预设的文件夹中。无需人工拖动文件,极大地简化了分类过程。同时,程序还支持撤回操作,用户可以在误分类的情况下恢复图片,确保分类结果的准确性。
(2)快速三类图像分类 该功能适用于分类种类较少的场景,系统会一次性展示四张图片,用户可以通过鼠标点击或按下键盘上的快捷键选择图片进行分类。点击后,选中的图片将被自动归为指定的类别,未选中的则归为另一类。这种方式能够提高分类的速度和效率,尤其适合在图片数量较多时进行快速分类。
(3)LabelTxt与Images的文件匹配操作 在数据集中,图片通常会伴随有对应的标注文件(如YOLO格式的txt文件)。该功能可以根据图片文件和标注文件的文件名自动进行匹配,并将它们移动或复制到相应的文件夹,避免了人工逐一匹配的繁琐过程。同时,它能够确保数据集的完整性,避免图片和标注文件丢失或错配。
(4)LabelTxt内容读取与筛选 本功能能够读取LabelTxt文件中的内容,提取其中的种类信息,并根据用户需求筛选出特定种类的标注文件。结合第三个功能,用户可以更方便地对数据集进行分类和整理,进一步提高数据处理的精确度与效率。
3.项目架构
本工具的架构主要由PyQt5和os模块构成,采用模块化设计,确保代码的清晰和功能的高效实现。在架构设计中,用户界面(UI)由PyQt5负责实现,界面包括图片展示、分类按钮、撤回功能等交互元素,用户通过简单的点击操作与程序进行互动。核心功能层通过模块化设计进行拆分,分别处理图片分类、文件匹配和LabelTxt操作等任务,其中文件操作功能由os模块提供支持,负责管理图片和标注文件的路径、移动和复制等操作。程序的整体流程从界面交互到数据处理层再到文件管理层,数据处理层利用os模块与本地文件系统进行交互,确保数据的准确分类和完整性。此外,程序还通过设计撤回机制增强了操作的灵活性和容错性,使得用户可以在分类错误时进行调整。
![![image-20250522080721290]](https://raw.githubusercontent.com/ana52070/LabelSphere/main/README.assets/image-20250522080721290.png)
