12345678910111213141516171819202122232425262728293031323334 |
- 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
|