了解COCO数据集游程编码的方式,请看这个视频,讲的比价详细:https://www.youtube.com/watch?v=h6s61a_pqfM
必须的第三方库:
1.pycocotools (windows安装教程windows如何安装pycocotools_windows安装pycocotools_二呵狗的博客-CSDN博客)
2.opencv-python
直接上代码
from pycocotools import mask as maskUtils
import cv2
import json
input_value = {"size": [2060, 1500], "counts": "TS_f15SP27K3N2iTNHWf1:bYN0Yf12cYN1\\f11mWN7SNKni11PVNS2OmMPj15aUN\\2;aMSj1m3`UNVL_j1m4N1O1O1O10000O10O10O100000000O10000O100O1O100O101O000000000O10O101N1N2N2O1O100O100\\KhUNT3Wj1jLnUNS3Tj1kLoUNR3Rj1mLTVNW3ci1hL`VNW3_i1hLdVNV3\\i1iLfVNV3Zi1jLgVNU3Yi1jLiVNV3Vi1jLlVNT3Ti1kLnVNT3Ri1lLoVNS3Qi1lLQWNS3oh1mLRWNR3nh1nLSWNQ3mh1nLVWNP3jh1PMWWNo2ih1QMXWNl2jh1TMWWNg2mh1XMUWNV1gNlN_j1NkVNS1jNkN]j12jVNQ1lNiN\\j16jVNm0mNjN[j19iVNk0nNjNZj1;iVNh0QOkNVj1=jVNe0TOjNTj1a0jVN3EXObi1e0YYNVOjf1j0\\4001O00001O00001O00001O10O01O001O1O1O1O1O2N1O1O1O1O1O1O100O101N10000O00100O1O1O100O1O1O0000lNRRNGQn17S1O2N1O101M4Mom^o0"}
mask = maskUtils.decode(input_value)
# 查看二值化的mask的结果
from PIL import Image
Image.fromarray(mask * 255)
# 找到掩膜的边界点
contours, hierarchy = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
# 获取第一个边界的所有点坐标
boundary_points = contours[0][:, 0, :].tolist()
# 将二位列表的结果写入json
with open("output_file.json", 'w') as f:
json.dump(boundary_points, f)