标注工具labelme改造计划

LabelMe工具进行了改进,包括从平铺到树状的文件列表展示,增加文件数量显示,支持自定义导出格式,如Yolo格式。用户可通过配置文件轻松扩展导出功能,示例函数详细解释了如何操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

标注工具labelme改造计划

文件列表改造

如下所示, 由平铺列表改成了树状结构的文件列表, 同时能够显示文件个数, 及已标注文件个数。
labelme filelist

支持导出自定义格式

labelme export

添加导出功能, 可导出你想要的任意格式, 默认情况下提供了一个sample示例。笔者添加了导出yolo格式。
当你第一次打开labelme.exe文件时, 会在当前目录下生成默认配置文件.labelmerc以及导出脚本示例export.py:labelme_localfile

如果你想扩展导出功能, 只需要在配置文件.labelmerc中的export列表中添加即可, 注意其名称需要与脚本中的方法名称保持一致。

在默认情况下, 配置中的导出列表为["sample"], 而对应的export.py中也包含同名函数def sample(...)

示例函数说明:

def sample(targetDir, sourceImages, labelextension):
    """Export the current label format to your desired label format

    Args:
        targetDir (str): export directory
        sourceImages (list): list of labeled pictures
        labelextension (str): current annotation file suffix name

    Returns:
        int: return the number of exports
    """
    for idx, image_path in enumerate(sourceImages):
        
        target_basename = "{:04d}".format(idx)
        filepath, image_ext = os.path.splitext(image_path)
        label_file = filepath + labelextension
        
        shutil.copyfile(image_path,  os.path.join(targetDir, "%s%s" % (target_basename, image_ext)))
        shutil.copyfile(label_file,  os.path.join(targetDir, "%s%s" % (target_basename, labelextension)))

    return len(sourceImages)
  • targetDir参数为导出目标目录, 程序已经保证其必然为空目录
  • sourceImages参数为已经标注的图片绝对路径列表
  • labelextension参数为标注文件后缀名, 只需将图片后缀名更改为标注文件后缀名,即可对其进行读取操作。
### LabelMe 数据标注工具使用指南 #### 安装LabelMe 为了能够在Windows 10上顺利安装并使用LabelMe,推荐通过Anaconda环境来管理依赖包。创建一个新的虚拟环境,并激活该环境之后,可以通过pip而不是Conda直接安装LabelMe以避免打开失败的问题[^4]。 ```bash # 创建新的Python虚拟环境(假设已安装anaconda) conda create -n labelme_env python=3.8 conda activate labelme_env # 使用pip安装labelme pip install labelme ``` #### 运行LabelMe进行数据标注 启动LabelMe应用程序后,在特定的工作目录内操作有助于更好地管理和保存标签文件。例如在一个名为`catdog`的项目文件夹里执行命令时加上`--labels`参数指向自定义标签列表文件(label.txt),这能帮助预先加载所需的类别名称至界面中的标签栏中以便于后续的选择和应用[^3]: ```bash labelme --labels labels.txt ``` #### 利用高效标记功能支持大规模数据预处理 针对大量图片的数据集做初步筛选与整理工作时,LabelMe内置了一系列快捷键以及交互式的绘图组件使得绘制边界框、多边形或者其他形状变得简单直观;同时支持拖拽导入本地相册里的照片批次上传待编辑项,极大提高了工作效率[^1]。 #### 将LabelMe JSON转为其他格式 完成图像上的目标检测任务所需的标准格式转换过程也得到了优化。借助第三方库如`labelme2datasets`可实现自动化地把原生导出的结果转变为适合训练模型读取的形式(Pascal VOC 或 COCO)[^2]。以下是简单的调用方式示例代码片段用于展示如何轻松集成进现有流程当中: ```python from labelme2datasets import convert_labelme_jsons_to_coco,convert_labelme_jsons_to_voc # 转换为COCO格式 convert_labelme_jsons_to_coco(input_dir='path/to/json', output_file='output.json') # 转换为VOC格式 convert_labelme_jsons_to_voc(json_input_dir='json/path/', voc_output_dir='voc/output/') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值