123456789101112131415161718192021222324252627282930313233 |
- import json
- import os.path as osp
- import imgviz
- import labelme.utils
- def assert_labelfile_sanity(filename):
- assert osp.exists(filename)
- data = json.load(open(filename))
- assert 'imagePath' in data
- imageData = data.get('imageData', None)
- if imageData is None:
- parent_dir = osp.dirname(filename)
- img_file = osp.join(parent_dir, data['imagePath'])
- assert osp.exists(img_file)
- img = imgviz.io.imread(img_file)
- else:
- img = labelme.utils.img_b64_to_arr(imageData)
- H, W = img.shape[:2]
- assert H == data['imageHeight']
- assert W == data['imageWidth']
- assert 'shapes' in data
- for shape in data['shapes']:
- assert 'label' in shape
- assert 'points' in shape
- for x, y in shape['points']:
- assert 0 <= x <= W
- assert 0 <= y <= H
|