python - 如何从 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)
但我得到的是这样的东西
但我想要的是这样的
我怎样才能得到每个图像的原始掩码?
解决方案
按照 Filippo 先生的直觉,我能够编写正确的代码,看起来像这样。
mask = coco.annToMask(anns[0])
for i in range(len(anns)):
mask += coco.annToMask(anns[i])
plt.imshow(mask)
推荐阅读
- xml - 如果标记不存在,则使用 XSLT 将 XML 标记添加到 SOAP 消息
- wordpress - Slick Slider - 从左向右滑动
- sqlite - 获取重复的输出并且与另一列不同
- javascript - 使用id递归删除json对象
- java - 具有一对多关系字段的比较器
- java - 如何在每个活动的顶部显示消息?
- xml - 无法接收带有 Angular 7 注入的 http 类的 XML 结构
- java - 由于 AJP 未能与后端建立连接,连接被拒绝
- performance - libsvm compiled with AVX vs no AVX
- javascript - 如何获取元素的完整 CSS(类、内联、@import、@media)