提交 e3bde924 编写于 作者: K Kentaro Wada

Support type='instance' by shapes_to_label

上级 0bdbd7fe
......@@ -119,14 +119,31 @@ def draw_label(label, img, label_names, colormap=None):
def shapes_to_label(img_shape, shapes, label_name_to_value, type='class'):
lbl = np.zeros(img_shape[:2], dtype=np.int32)
assert type in ['class', 'instance']
cls = np.zeros(img_shape[:2], dtype=np.int32)
if type == 'instance':
ins = np.zeros(img_shape[:2], dtype=np.int32)
instance_names = ['__background__']
for shape in shapes:
polygons = shape['points']
label_name = shape['label']
label_value = label_name_to_value[label_name]
label = shape['label']
if type == 'class':
cls_name = label
elif type == 'instance':
cls_name = label.split('-')[0]
if label not in instance_names:
instance_names.append(label)
ins_id = len(instance_names) - 1
cls_id = label_name_to_value[cls_name]
mask = polygons_to_mask(img_shape[:2], polygons)
lbl[mask] = label_value
return lbl
cls[mask] = cls_id
if type == 'instance':
ins[mask] = ins_id
if type == 'instance':
return cls, ins
return cls
def labelme_shapes_to_label(img_shape, shapes):
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册