前言
问题:
(labelme) xxx@xxx:~/xxx/labelme2dataset/anno$ labelme_json_to_dataset 0.json [INFO ] font_manager:_rebuild:1337 - generated new fontManager [INFO ] font_manager:_rebuild:1337 - generated new fontManager [WARNING] json_to_dataset:main:15 - This script is aimed to demonstrate how to convert the JSON file to a single image dataset. [WARNING] json_to_dataset:main:19 - It won't handle multiple JSON files to generate a real-use dataset. Traceback (most recent call last): File "/home/xxx/miniconda3/envs/labelme/bin/labelme_json_to_dataset", line 8, in <module> sys.exit(main()) File "/home/xxx/miniconda3/envs/labelme/lib/python3.8/site-packages/labelme/cli/json_to_dataset.py", line 57, in main lbl, _ = utils.shapes_to_label( File "/home/xxx/miniconda3/envs/labelme/lib/python3.8/site-packages/labelme/utils/shape.py", line 71, in shapes_to_label mask = shape_to_mask(img_shape[:2], points, shape_type) File "/home/xxx/miniconda3/envs/labelme/lib/python3.8/site-packages/labelme/utils/shape.py", line 47, in shape_to_mask mask = np.array(mask, dtype=bool) TypeError: __array__() takes 1 positional argument but 2 were given
原因
python中numpy数据和PIL中Image数据类型之间的转换;
mask = np.array(mask) print('mask type: ', mask.dtype) mask = np.array(mask, dtype=bool)
添加第一条语句即可;
完