| name | mark_imgs |
| description | 图片查看与标记工具 - 支持浏览文件夹中的图片、键盘导航、标记/取消标记图片并保存路径。使用当需要快速筛选和标注图像数据时。 |
| homepage | |
| metadata | {"openclaw":{"emoji":"🖼️","requires":{"bins":["python3"]}}} |
mark_imgs 模块
使用时机
✅ 使用场景:
- 需要快速浏览大量图像数据时(如自动驾驶数据集)
- 需要筛选和标记特定图片(如质量问题、特殊场景)
- 需要按 bag/文件夹层级导航图像时
- 需要将标记结果导出到文本文件时
❌ 不使用场景:
- 批量图像处理/转换(应使用专门的图像处理脚本)
- 在线图片浏览(本工具主要面向本地数据集)
- 需要图形界面标注框的场景(本工具仅支持整图标记)
功能说明
主要功能
- 图片浏览:递归搜索文件夹中的图片(.png, .jpg, .jpeg),支持最大深度限制
- 键盘导航:
a / d:后退/前进一帧
n / b:前进/后退一个文件夹
r:跳转到指定帧
- 标记功能:
p:标记当前图片,路径写入 /tmp/{sp_name}.txt
o:取消标记,从文件中删除当前图片路径
- 数据源支持:
- 本地文件夹递归搜索
- 支持指定 baglist 批量加载
- 支持多相机选择(camera_1-6, traffic_2)
输入参数
| 参数 | 类型 | 必填 | 说明 |
|---|
--folder | string | 是 | 包含图片的根文件夹路径 |
--max_depth / -m | int | 否 | 递归搜索的最大深度(默认:3) |
--read_online / -r | bool | 否 | 强制在线读取,不使用缓存 |
--sp_name | string | 否 | 标记文件的名称后缀(默认:oup_img) |
--baglist-specify / -b | string | 否 | 指定 baglist 文件路径 |
--camera / -c | string | 否 | 相机选择:1/2/3/4/5/6/t2 |
--mark-type / -t | string | 否 | 标记类型:images(图片路径)或 bags(bag 名) |
--big | bool | 否 | 使用更大的图片显示尺寸 |
输出
- 标记文件:
/tmp/{sp_name}.txt,每行一个被标记的图片路径或 bag 名
- 控制台输出:当前浏览进度、标记/取消标记的路径信息
命令/用法
基本用法
gtools mark_imgs --folder /path/to/images
gtools mark_imgs --folder /path/to/images --max_depth 5
gtools mark_imgs --folder /path/to/images --sp_name quality_issues
gtools mark_imgs --folder /path/to/images --read_online
使用 baglist
gtools mark_imgs --baglist-specify /path/to/bags.txt --camera 1
gtools mark_imgs --baglist-specify bags.txt --camera 2 --mark-type bags
配置文件方式
gtools run --module-config configs/mark_imgs/default.json
配置示例
{
"_positional_args": {
"folder": "/mnt/csi-data-aly/shared/public/gauthierli/data/drfile_snow_infer"
},
"max_depth": 5,
"sp_name": "snow_samples",
"camera": "1",
"mark_type": "images"
}
键盘快捷键
| 按键 | 功能 |
|---|
a | 后退一帧 |
d | 前进一帧 |
n | 前进一个文件夹 |
b | 后退一个文件夹 |
p | 标记当前图片 |
o | 取消标记 |
r | 跳转到指定帧 |
q | 退出 |
注意事项
- 依赖:需要 OpenCV (
cv2) 和 tqdm 库
- 缓存:文件夹列表会缓存到
/tmp/.cache/read_file_offline.pkl,使用 --read_online 可跳过缓存
- 标记文件:标记结果保存在
/tmp/ 目录下,注意及时备份
- 显示尺寸:默认宽度 1920px,高度按比例缩放;使用
--big 可增大显示尺寸
- 环境变量:设置
notext 可隐藏图片上的文字叠加(路径、帧数信息)
相关文件
- 主模块:
functions/mark_imgs/main.py
- 配置文件:
configs/mark_imgs/default.json