json中的样子:

{  "version": "4.5.7",  "flags": {},  "shapes": [    {      "label": "wood",      "points": [        [          739.3162393162394,          482.0512820512821        ]      ],      "group_id": null,      "shape_type": "point",      "flags": {}    },    {      "label": "wood",      "points": [        [          758.1196581196582,          458.11965811965814        ]      ],      "group_id": null,      "shape_type": "point",      "flags": {}    },      ],  "imagePath": "..\\img\\141.jpg",  "imageData":           "          .......          图片的base64编码,十分长          ........          ",  "imageHeight": 1080,  "imageWidth": 1920}

重要的信息就是外面的points坐标,其余的都用不到。提取办法如下:

import jsonimport numpy as npimport scipy.io as sioimport scipy.io as sioimport matplotlib.pyplot as pltimport shutilimport ospath = 'D:/test/wood/yi'files = os.listdir(path)for name in files:    if name.endswith('.json'):            print(name)                        fp =  open(os.path.join(path, name), 'r')        json_data = json.load(fp)        points_data  = json_data['shapes']                points = []        for point in points_data:            points.append(point['points'][0])              sio.savemat(os.path.join('./mat', name.replace('.json','.mat')), {'annPoints':points, 'num':len(points)})