VOC2012数据集图片画框

来源:互联网 发布:java web前端 编辑:程序博客网 时间:2024/05/14 17:29

上篇文章对VOC2007数据集画框(http://blog.csdn.net/majinlei121/article/details/78851725),本篇文章对VOC2012数据集画框
VOC2012数据集只给了jpg格式原图片和xml的信息,想看一下ground_truth还是需要自己画出来的,下面是python画框并保存程序

import osimport os.pathimport numpy as npimport xml.etree.ElementTree as xmlETfrom PIL import Image, ImageDrawclasses = ('__background__', # always index 0           'aeroplane', 'bicycle', 'bird', 'boat',           'bottle', 'bus', 'car', 'cat', 'chair',           'cow', 'diningtable', 'dog', 'horse',           'motorbike', 'person', 'pottedplant',           'sheep', 'sofa', 'train', 'tvmonitor')file_path_img = '~/data/VOCdevkit/VOC2012/JPEGImages'file_path_xml = '~/data/VOCdevkit/VOC2012/Annotations'save_file_path = '~/data/VOCdevkit/VOC2012/Vis_boxes_VOC2012'pathDir = os.listdir(file_path_xml)#for idx in xrange(len(pathDir)):  for idx in xrange(5):        filename = pathDir[idx]    tree = xmlET.parse(os.path.join(file_path_xml, filename))    objs = tree.findall('object')            num_objs = len(objs)    boxes = np.zeros((num_objs, 5), dtype=np.uint16)    for ix, obj in enumerate(objs):        bbox = obj.find('bndbox')        # Make pixel indexes 0-based        x1 = float(bbox.find('xmin').text) - 1        y1 = float(bbox.find('ymin').text) - 1        x2 = float(bbox.find('xmax').text) - 1        y2 = float(bbox.find('ymax').text) - 1        cla = obj.find('name').text         label = classes.index(cla)        boxes[ix, 0:4] = [x1, y1, x2, y2]        boxes[ix, 4] = label    image_name = os.path.splitext(filename)[0]    img = Image.open(os.path.join(file_path_img, image_name + '.jpg'))     draw = ImageDraw.Draw(img)    for ix in xrange(len(boxes)):        xmin = int(boxes[ix, 0])        ymin = int(boxes[ix, 1])        xmax = int(boxes[ix, 2])        ymax = int(boxes[ix, 3])        draw.rectangle([xmin, ymin, xmax, ymax], outline=(255, 0, 0))        draw.text([xmin, ymin], classes[boxes[ix, 4]], (255, 0, 0))    img.save(os.path.join(save_file_path, image_name + '.png'))

VOC2012数据集图片更多,运行时间更长

阅读全文
0 0
原创粉丝点击