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}.txto:取消标记,从文件中删除当前图片路径
- 数据源支持:
- 本地文件夹递归搜索
- 支持指定 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
# 限制递归深度为 5
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
# 从 baglist 文件加载指定的数据
gtools mark_imgs --baglist-specify /path/to/bags.txt --camera 1
# 标记 bag 名而不是图片路径
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