未验证 提交 a7ba98a8 编写于 作者: L LutaoChu 提交者: GitHub

Fix label tools bug (#224)

上级 cd51ed6c
...@@ -17,10 +17,8 @@ from gray2pseudo_color import get_color_map_list ...@@ -17,10 +17,8 @@ from gray2pseudo_color import get_color_map_list
def parse_args(): def parse_args():
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
formatter_class=argparse.ArgumentDefaultsHelpFormatter formatter_class=argparse.ArgumentDefaultsHelpFormatter)
) parser.add_argument('input_dir', help='input annotated directory')
parser.add_argument('input_dir',
help='input annotated directory')
return parser.parse_args() return parser.parse_args()
...@@ -62,8 +60,7 @@ def main(args): ...@@ -62,8 +60,7 @@ def main(args):
print('Generating dataset from:', label_file) print('Generating dataset from:', label_file)
with open(label_file) as f: with open(label_file) as f:
base = osp.splitext(osp.basename(label_file))[0] base = osp.splitext(osp.basename(label_file))[0]
out_png_file = osp.join( out_png_file = osp.join(output_dir, base + '.png')
output_dir, base + '.png')
data = json.load(f) data = json.load(f)
...@@ -77,16 +74,22 @@ def main(args): ...@@ -77,16 +74,22 @@ def main(args):
# convert jingling format to labelme format # convert jingling format to labelme format
points = [] points = []
for i in range(1, int(len(polygon) / 2) + 1): for i in range(1, int(len(polygon) / 2) + 1):
points.append([polygon['x' + str(i)], polygon['y' + str(i)]]) points.append(
shape = {'label': name, 'points': points, 'shape_type': 'polygon'} [polygon['x' + str(i)], polygon['y' + str(i)]])
shape = {
'label': name,
'points': points,
'shape_type': 'polygon'
}
data_shapes.append(shape) data_shapes.append(shape)
if 'size' not in data: if 'size' not in data:
continue continue
data_size = data['size'] data_size = data['size']
img_shape = (data_size['height'], data_size['width'], data_size['depth']) img_shape = (data_size['height'], data_size['width'],
data_size['depth'])
lbl = labelme.utils.shapes_to_label( lbl, _ = labelme.utils.shapes_to_label(
img_shape=img_shape, img_shape=img_shape,
shapes=data_shapes, shapes=data_shapes,
label_name_to_value=class_name_to_id, label_name_to_value=class_name_to_id,
...@@ -102,8 +105,7 @@ def main(args): ...@@ -102,8 +105,7 @@ def main(args):
else: else:
raise ValueError( raise ValueError(
'[%s] Cannot save the pixel-wise class label as PNG. ' '[%s] Cannot save the pixel-wise class label as PNG. '
'Please consider using the .npy format.' % out_png_file 'Please consider using the .npy format.' % out_png_file)
)
if __name__ == '__main__': if __name__ == '__main__':
......
...@@ -17,10 +17,8 @@ from gray2pseudo_color import get_color_map_list ...@@ -17,10 +17,8 @@ from gray2pseudo_color import get_color_map_list
def parse_args(): def parse_args():
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
formatter_class=argparse.ArgumentDefaultsHelpFormatter formatter_class=argparse.ArgumentDefaultsHelpFormatter)
) parser.add_argument('input_dir', help='input annotated directory')
parser.add_argument('input_dir',
help='input annotated directory')
return parser.parse_args() return parser.parse_args()
...@@ -61,15 +59,14 @@ def main(args): ...@@ -61,15 +59,14 @@ def main(args):
print('Generating dataset from:', label_file) print('Generating dataset from:', label_file)
with open(label_file) as f: with open(label_file) as f:
base = osp.splitext(osp.basename(label_file))[0] base = osp.splitext(osp.basename(label_file))[0]
out_png_file = osp.join( out_png_file = osp.join(output_dir, base + '.png')
output_dir, base + '.png')
data = json.load(f) data = json.load(f)
img_file = osp.join(osp.dirname(label_file), data['imagePath']) img_file = osp.join(osp.dirname(label_file), data['imagePath'])
img = np.asarray(PIL.Image.open(img_file)) img = np.asarray(PIL.Image.open(img_file))
lbl = labelme.utils.shapes_to_label( lbl, _ = labelme.utils.shapes_to_label(
img_shape=img.shape, img_shape=img.shape,
shapes=data['shapes'], shapes=data['shapes'],
label_name_to_value=class_name_to_id, label_name_to_value=class_name_to_id,
...@@ -85,8 +82,7 @@ def main(args): ...@@ -85,8 +82,7 @@ def main(args):
else: else:
raise ValueError( raise ValueError(
'[%s] Cannot save the pixel-wise class label as PNG. ' '[%s] Cannot save the pixel-wise class label as PNG. '
'Please consider using the .npy format.' % out_png_file 'Please consider using the .npy format.' % out_png_file)
)
if __name__ == '__main__': if __name__ == '__main__':
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册