这个问题困扰了我好些时间,转换的时候总是报错。 我的错主要是json保存的时候出错,TypeError: Object of type 'int32' is not JSON serializable,因为我labelme的json中point数据是整型,但是json好像不支持这种数据序列化,经过一番百度,结果是需要自己写一个解析类,继承json.JSONEncoder就可以。 还需要改一个地方:img_b64_to_array改成img_b64_to_arr
下面贴图代码:
# -*- coding:utf-8 -*-
# !/usr/bin/env python
import argparse
import json
import matplotlib.pyplot as plt
import skimage.io as io
import cv2
from labelme import utils
import numpy as np
import glob
import PIL.Image
class MyEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, np.integer):
return int(obj)
elif isinstance(obj, np.floating):
return float(obj)
elif isinstance(obj, np.ndarray):
return obj.tolist()
else: