标注工具labelme改造计划

标注工具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参数为标注文件后缀名, 只需将图片后缀名更改为标注文件后缀名,即可对其进行读取操作。

exe下载地址

posted @ 2024-04-04 18:29  汗牛充栋  阅读(110)  评论(0)    收藏  举报