标注工具labelme改造计划
文件列表改造
如下所示, 由平铺列表改成了树状结构的文件列表, 同时能够显示文件个数, 及已标注文件个数。
支持导出自定义格式
添加导出功能, 可导出你想要的任意格式, 默认情况下提供了一个sample示例。笔者添加了导出yolo格式。
当你第一次打开labelme.exe文件时, 会在当前目录下生成默认配置文件.labelmerc
以及导出脚本示例export.py
:
如果你想扩展导出功能, 只需要在配置文件.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参数为标注文件后缀名, 只需将图片后缀名更改为标注文件后缀名,即可对其进行读取操作。