已有的mask图像上打标签
def mask_label(img_shape,mask,label_name_to_value):
cls = np.zeros(img_shape[:2], dtype=np.int32)
cls_name='module'
cls_id = label_name_to_value[cls_name]
cls[mask] = cls_id
return cls
labelme中自带的绘制mask图像代码
def shape_to_mask(img_shape, points, shape_type=None,
line_width=10, point_size=5):
mask = np.zeros(img_shape[:2], dtype=np.uint8)
mask = PIL.Image.fromarray(mask)
draw = PIL.ImageDraw.Draw(mask)
xy = [tuple(point) for point in points]
assert len(xy) > 2, 'Polygon must have points more than 2'
draw.polygon(xy=xy, outline=1, fill=1)
mask = np.array(mask, dtype=bool)
return mask