首页 > 解决方案 > 如何从 COCO 数据集创建掩码图像?

问题描述

所以我一直在使用这个代码,。我正在尝试从 COCO 数据集生成图像的原始掩码。

dataDir='G:'
dataType='train2014'
annFile='{}/annotations/instances_{}.json'.format(dataDir,dataType)


coco=COCO(annFile)
annFile = '{}/annotations/person_keypoints_{}.json'.format(dataDir,dataType)
coco_kps=COCO(annFile)


catIds = coco.getCatIds(catNms=['person'])
imgIds = coco.getImgIds(catIds=catIds );
imgIds = coco.getImgIds(imgIds = imgIds[0])
img = coco.loadImgs(imgIds[np.random.randint(0,len(imgIds))])[0]
I = io.imread('G:/train2014/'+img['file_name'])

plt.imshow(I); plt.axis('off')
annIds = coco.getAnnIds(imgIds=img['id'], catIds=catIds, iscrowd=None)
anns = coco.loadAnns(annIds)
coco.showAnns(anns)

但我得到的是这样的东西

在此处输入图像描述

但我想要的是这样的

在此处输入图像描述

我怎样才能得到每个图像的原始掩码?

标签: pythonimage-processingtensorflowcomputer-visionimage-segmentation

解决方案


按照 Filippo 先生的直觉,我能够编写正确的代码,看起来像这样。

mask = coco.annToMask(anns[0])
for i in range(len(anns)):
    mask += coco.annToMask(anns[i])

plt.imshow(mask)

推荐阅读