diff --git a/labelme/app.py b/labelme/app.py index de3746915b5226eff96073eacc4665adbbdb2f24..1890648b328cc7bd0fde6d6c6962b139eb35bc68 100644 --- a/labelme/app.py +++ b/labelme/app.py @@ -1011,7 +1011,14 @@ class MainWindow(QtWidgets.QMainWindow): def loadLabels(self, shapes): s = [] - for label, points, line_color, fill_color, shape_type, flags in shapes: + for shape in shapes: + label = shape['label'] + points = shape['points'] + line_color = shape['line_color'] + fill_color = shape['fill_color'] + shape_type = shape['shape_type'] + flags = shape['flags'] + shape = Shape(label=label, shape_type=shape_type) for x, y in points: shape.addPoint(QtCore.QPointF(x, y)) diff --git a/labelme/label_file.py b/labelme/label_file.py index ca756a69308a205c24a45c4f86bf363e5fd0f506..25f90b80d8c1c7762816b1d8c0a8d3b11f072c16 100644 --- a/labelme/label_file.py +++ b/labelme/label_file.py @@ -21,7 +21,7 @@ class LabelFile(object): suffix = '.json' def __init__(self, filename=None): - self.shapes = () + self.shapes = [] self.imagePath = None self.imageData = None if filename is not None: @@ -82,17 +82,17 @@ class LabelFile(object): ) lineColor = data['lineColor'] fillColor = data['fillColor'] - shapes = ( - ( - s['label'], - s['points'], - s['line_color'], - s['fill_color'], - s.get('shape_type', 'polygon'), - s.get('flags', {}), + shapes = [ + dict( + label=s['label'], + points=s['points'], + line_color=s['line_color'], + fill_color=s['fill_color'], + shape_type=s.get('shape_type', 'polygon'), + flags=s.get('flags', {}), ) for s in data['shapes'] - ) + ] except Exception as e: raise LabelFileError(e)