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
- VOC2012数据集图片画框
- VOC2007数据集图片画框
- pascal voc2012数据集介绍
- 机器学习(7) PASCAL VOC2012数据集
- TensorFlow Object Detection API 训练VOC2012数据集
- 【caffe-Windows】基于Python多标签方法——VOC2012数据集
- 图像语义分割:从头开始训练deeplab v2系列之二【VOC2012数据集】
- 针对pascal voc2012数据集语义分割各类对象的颜色表示
- matlab在图片上画框
- matlab在图片上画框
- 画框
- 利用TinyXML读取VOC2012数据集的XML标注文件裁剪出所有人体目标保存为文件
- 利用TinyXML读取VOC2012数据集的XML标注文件裁剪出所有人体目标保存为文件
- 纯CSS装饰画(给图片加画框)
- java代码在图片上画框
- VOC2012 分割数据 转 lmdb 格式 python 代码
- C#图片处理之:在图片上画框(圈)
- C#图片处理之:在图片上画框(圈)
- Job Control后续实验(二)
- 《Java编程技巧1001条》第368条 用gettime 测量程序执行时间;
- tp5怎样在视图中引用公共模块foot.html和header.html
- 分布式任务系统cronsun
- Java IO流关闭问题的深入研究
- VOC2012数据集图片画框
- Ubuntu安裝Node.js
- 浅谈对机器学习的理解
- 贝叶斯公式的理解
- 如何实现虚拟机跟主机间文件共享和复制粘贴功能及互ping通功能
- 设计模式【建造者模式】
- OpenSSH_SSL的升级(完结)
- 《SpringCloud微服务实战》学习笔记之服务消费者Ribbon+RestTemplate
- intellij下实现新建类和方法时的自动注释功能