|
@@ -1,14 +1,12 @@
|
|
#!/usr/bin/env python
|
|
#!/usr/bin/env python
|
|
|
|
|
|
import argparse
|
|
import argparse
|
|
-import base64
|
|
|
|
-import json
|
|
|
|
-import os
|
|
|
|
import sys
|
|
import sys
|
|
|
|
|
|
import imgviz
|
|
import imgviz
|
|
import matplotlib.pyplot as plt
|
|
import matplotlib.pyplot as plt
|
|
|
|
|
|
|
|
+from labelme.label_file import LabelFile
|
|
from labelme import utils
|
|
from labelme import utils
|
|
|
|
|
|
|
|
|
|
@@ -20,21 +18,11 @@ def main():
|
|
parser.add_argument('json_file')
|
|
parser.add_argument('json_file')
|
|
args = parser.parse_args()
|
|
args = parser.parse_args()
|
|
|
|
|
|
- json_file = args.json_file
|
|
|
|
-
|
|
|
|
- data = json.load(open(json_file))
|
|
|
|
-
|
|
|
|
- if data['imageData']:
|
|
|
|
- imageData = data['imageData']
|
|
|
|
- else:
|
|
|
|
- imagePath = os.path.join(os.path.dirname(json_file), data['imagePath'])
|
|
|
|
- with open(imagePath, 'rb') as f:
|
|
|
|
- imageData = f.read()
|
|
|
|
- imageData = base64.b64encode(imageData).decode('utf-8')
|
|
|
|
- img = utils.img_b64_to_arr(imageData)
|
|
|
|
|
|
+ label_file = LabelFile(args.json_file)
|
|
|
|
+ img = utils.img_b64_to_arr(label_file.imageData)
|
|
|
|
|
|
label_name_to_value = {'_background_': 0}
|
|
label_name_to_value = {'_background_': 0}
|
|
- for shape in sorted(data['shapes'], key=lambda x: x['label']):
|
|
|
|
|
|
+ for shape in sorted(label_file.shapes, key=lambda x: x['label']):
|
|
label_name = shape['label']
|
|
label_name = shape['label']
|
|
if label_name in label_name_to_value:
|
|
if label_name in label_name_to_value:
|
|
label_value = label_name_to_value[label_name]
|
|
label_value = label_name_to_value[label_name]
|
|
@@ -42,7 +30,7 @@ def main():
|
|
label_value = len(label_name_to_value)
|
|
label_value = len(label_name_to_value)
|
|
label_name_to_value[label_name] = label_value
|
|
label_name_to_value[label_name] = label_value
|
|
lbl, _ = utils.shapes_to_label(
|
|
lbl, _ = utils.shapes_to_label(
|
|
- img.shape, data['shapes'], label_name_to_value
|
|
|
|
|
|
+ img.shape, label_file.shapes, label_name_to_value
|
|
)
|
|
)
|
|
|
|
|
|
label_names = [None] * (max(label_name_to_value.values()) + 1)
|
|
label_names = [None] * (max(label_name_to_value.values()) + 1)
|