不说废话,直接上代码:
import os
from pycocotools.coco import COCO
from skimage import io
from matplotlib import pyplot as plt
json_file = r'D:\data\data_set\catenary_data\image5\coco\annotations\instances_val2017.json'
dataset_dir = r'D:\data\data_set\catenary_data\image5\coco\images\val2017/'
coco = COCO(json_file)
catIds = coco.getCatIds(catNms=['nut1,nut2,nutLost']) # catIds=1 表示人这一类
imgIds = coco.getImgIds(catIds=catIds ) # 图片id,许多值
for i in range(len(imgIds)):
img = coco.loadImgs(imgIds[i])[0]
I = io.imread(dataset_dir + img['file_name'])
plt.axis('off')
plt.imshow(I)
annIds = coco.getAnnIds(imgIds=img['id'], catIds=catIds, iscrowd=None)
anns = coco.loadAnns(annIds)
coco.showAnns(anns)
plt.show()
代码解释:
运行的关键为:pycocotools.coco工具箱,skimage库
下载:pip install XXX
需要更改的部分:
json_file:coco数据集中的.json文件
dataset_dir:图像文件