ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

多实例标注工具

多实例标注工具 https://github.com/Salary-only-17k/LabelGrid/tree/v0.1图像网格块标注工具功能特性网格切分设置横向分块数 / 纵向分块数1~64将图像平均切分为 rows × cols 的网格点击应用生效。点击标注 可视化选择类别后左键点击图像网格块即可标注按住左键拖动可连续标注每个块用类别颜色半透明覆盖并显示类别编号/名称悬停块高亮支持滚轮缩放。标签保存每张图像保存为一个与图像同名的.txt文件内容为一行。按行优先顺序从上到下、每行从左到右输出每个块的类别编号空格分隔。背景/未标注块保存为0类别从1开始。切换图像或退出时若有未标注块会提示一次确认后按背景(0)保存。标签保存路径可在界面中配置默认与图像同目录。记录查看位置打开文件夹时在目录下生成.last_viewed.txt记录最后查看的图像文件名再次打开该文件夹自动定位到该图像文件不存在时定位到第一张。快捷跳转支持按图像文件名完整/模糊匹配或按序号从 1 开始跳转。适应窗口图像加载后默认自动适应画布窗口大小。界面布局顶部还有一条完整图像路径栏。安装与运行# 1. 安装依赖 pip install -r requirements.txt 2. 运行 python main.py # 打开后从菜单选择图像/文件夹 python main.py image # 直接打开一张图像 python main.py folder # 直接打开一个图像文件夹opencv-python与numpy为可选项当 Qt 无法直接解码某些图像格式如部分.tif时作为回退读取器使用。不安装也不影响常规 jpg/png 等格式。使用说明标注流程通过打开文件夹加载图像目录或启动时直接传入文件夹路径。在左侧网格设置中设置横向/纵向分块数点击应用。在当前类别下拉框选择类别点击图像网格块进行标注。完成一张后按D切换到下一张自动保存并在有未标注块时提示。快捷键按键功能CtrlO打开图像CtrlU打开文件夹A/D上一张 / 下一张CtrlS保存标签CtrlShiftS标签另存为/-放大 / 缩小F适应窗口C原尺寸标签文件格式假设图像被切分为rows × cols网格标签文件为一行按行优先顺序r0c0 r0c1 ... r0cN r1c0 r1c1 ... r(rows-1)c(cols-1)例4×4 网格(0,0)标为道路(1)(1,3)标为建筑(2)其余为背景1 0 0 0 0 0 0 2 0 0 0 0 0 0 0 00背景 / 未标注1、2、...类别编号与classes.json中定义的 id 一致类别配置编辑classes.json定义类别id 从 1 开始0 固定为背景/未标注{ classes: { 1: 道路, 2: 建筑, 3: 树木 } }项目结构label_block/ ├── main.py # 程序入口 ├── requirements.txt # 依赖环境配置 ├── classes.json # 类别定义 ├── settings.json # 界面设置运行后自动生成 └── app/ ├── __init__.py ├── config.py # 全局常量与设置读写 ├── classes.py # 类别配置读取 ├── palette.py # 类别颜色生成 ├── image_io.py # 图像读取Qt 优先OpenCV 回退 ├── canvas.py # 画布图像、网格、标注绘制与交互 └── main_window.py # 主窗口工具栏、面板、保存与跳转逻辑示例图常见问题标签文件保存到哪里默认与图像同一目录、同名.txt在左侧标签保存路径勾选保存到指定目录后标签统一保存到所选目录。打开文件夹时定位不到上次的图像图像目录/.last_viewed.txt记录了上次查看的图像文件名删除该文件后重新打开文件夹会定位到第一张图像。
返回列表