Skip to content

Cupcc/YOLO-Labeler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YOLO Labeler

一个专业且高效的 YOLO 格式标注工具,基于 Electron 构建。专为计算机视觉开发者设计,提供流畅的交互体验和完善的功能支持。

YOLO Labeler

License

核心特性

  • 8点精细化调整:支持 8 个调整点的标注框缩放与移动,实现像素级精准定位。
  • 平滑缩放与平移:支持 Ctrl + 滚轮 以鼠标为中心缩放,以及 空格 + 拖拽中键点击 平移画布。
  • 双击快速重新标注:双击标注框即可快速打开类别选择弹窗,轻松修改标签类别。
  • 多功能撤销/重做机制:支持 Ctrl + Z 撤销与 Ctrl + Y 重做,提供更容错的标注体验。
  • 智能自动保存:在切换上一张/下一张图片时自动保存当前标注,确保数据不丢失。
  • 自动记忆加载: 自动加载上一次标注的文件夹路径。
  • 标注状态预览:文件列表中实时显示标注指示器,直观掌握数据集标注进度。
  • 完善的类别管理:支持类别的添加、删除、重命名,并同步维护 classes.txt 文件。
  • 标准 YOLO 格式支持:直接读写归一化 .txt 文件,坐标精确到 6 位小数。
  • 系统主题适配:完美适配深色和浅色模式,跟随系统主题自动切换。
  • 灵活视图控制:支持图片“适应窗口”与“1:1 像素”快速切换,适配不同分辨率图片。
  • 实时数据反馈:状态栏实时显示当前鼠标坐标、标注框尺寸及图片元数据。

快捷键参考

快捷键 功能
W 进入创建标注模式
A / D 上一张 / 下一张图片
Delete / Backspace 删除选中标注框
Ctrl + Z 撤销上次操作
Ctrl + Y 重做(恢复撤销的操作)
Ctrl + S 手动保存当前标注
1 - 9 快速选择类别 (0-8 索引)
Space + 拖拽 平移画布
中键点击 平移画布
Ctrl + 滚轮 缩放画布 (以鼠标为中心)
双击标注框 打开类别选择弹窗,重新选择标签
Esc 取消操作 / 取消选中
右击 取消选中标注框

快速开始

安装依赖

pnpm install

运行应用

# 标准启动
pnpm start

# 开发模式(开启开发者工具)
pnpm run dev

项目结构

labeling/
├── main.js               # Electron 主进程 (处理文件系统 IPC)
├── preload.js            # 预加载脚本 (安全桥接)
├── src/
│   ├── index.html        # 主界面布局
│   ├── styles.css        # UI 样式与主题适配
│   ├── renderer.js       # 渲染进程主逻辑 (模块调度)
│   ├── canvas.js         # 画布引擎 (处理绘制、缩放、变换)
│   ├── fileManager.js    # 文件系统管理器 (YOLO 格式读写)
│   ├── classManager.js   # 类别管理器 (管理 classes.txt)
│   └── shortcuts.js      # 全局快捷键管理器
└── package.json

文件规范

标注格式 (.txt)

每行代表一个目标,格式如下: <class_id> <x_center> <y_center> <width> <height> (所有坐标均已归一化至 0-1 范围)

类别定义 (classes.txt)

每行一个类别名称,索引从 0 开始。

许可证

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published