12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #!/usr/bin/env python
- import argparse
- import sys
- import imgviz
- import matplotlib.pyplot as plt
- from labelme.label_file import LabelFile
- from labelme import utils
- PY2 = sys.version_info[0] == 2
- def main():
- parser = argparse.ArgumentParser()
- parser.add_argument("json_file")
- args = parser.parse_args()
- label_file = LabelFile(args.json_file)
- img = utils.img_data_to_arr(label_file.imageData)
- label_name_to_value = {"_background_": 0}
- for shape in sorted(label_file.shapes, key=lambda x: x["label"]):
- label_name = shape["label"]
- if label_name in label_name_to_value:
- label_value = label_name_to_value[label_name]
- else:
- label_value = len(label_name_to_value)
- label_name_to_value[label_name] = label_value
- lbl, _ = utils.shapes_to_label(
- img.shape, label_file.shapes, label_name_to_value
- )
- label_names = [None] * (max(label_name_to_value.values()) + 1)
- for name, value in label_name_to_value.items():
- label_names[value] = name
- lbl_viz = imgviz.label2rgb(
- label=lbl,
- img=imgviz.asgray(img),
- label_names=label_names,
- font_size=30,
- loc="rb",
- )
- plt.subplot(121)
- plt.imshow(img)
- plt.subplot(122)
- plt.imshow(lbl_viz)
- plt.show()
- if __name__ == "__main__":
- main()
|