提交 3ae57b26 编写于 作者: K Kentaro Wada

Fix image orientation in labelme_draw_json

上级 1f592db2
#!/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(): ...@@ -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 label_file = LabelFile(args.json_file)
img = utils.img_b64_to_arr(label_file.imageData)
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_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(): ...@@ -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)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册