VOC数据集含有20个类别,根据不同的任务和场景,我们可能用不到所有的数据集,此时我们可以从所有的数据集中提取出我们想要的类别。
提取过程:
首先我们需要根据xml文件中的类别信息来判断是否是需要的类别,然后提取出相应的xml文件,其次我们根据xml文件的名字确定图片的名称,然后将对应图片提取出来。
所有的操作的路径,注意修改为自己的路径,代码如下:
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
import os
import xml.etree.ElementTree as ET
import shutil
#根据自己的情况修改相应的路径
ann_filepath = 'Annotations/'
img_filepath = 'JPEGImages/'
img_savepath = 'test/JPEGImages/'
ann_savepath = 'test/Annotations/'
if not os.path.exists(img_savepath):
os.mkdir(img_savepath)
if not os.path.exists(ann_savepath):
os.mkdir(ann_savepath)
#这是VOC数据集中所有类别
# classes = ['aeroplane', 'bicycle', 'bird', 'boat', 'bottle',
# 'bus', 'car', 'cat', 'chair', 'cow', 'diningtable',
# 'do