提取voc数据集中特定的类
先贴出代码:
import shutil
import os
import xml.etree.ElementTree as ETAnnotations_path = r"E:/data/voc/VOCdevkit/VOC2007/Annotations"
image_path = r"E:/data/voc/VOCdevkit/VOC2007/JPEGImages"
save_img_path = r"E:/data/voc/VOCdevkit/VOC2007/tte/"
save_xml_path = r"E:/data/voc/VOCdevkit/VOC2007/xml/"
classes = [ 'car', 'horse', 'cat', 'dog','bird','sheep', 'cow']
def get_my_classes(Annotations_path,image_path,save_img_path,save_xml_path,classes):xml_path = os.listdir(Annotations_path)for i in classes:if not os.path.exists(save_img_path+"/"+i):os.mkdir(save_img_path+i)if not os.path.exists(save_xml_path+"/"+i):os.mkdir(save_xml_path+i)for xmls in xml_path:print(Annotations_path+"/"+xmls)in_file = open(os.path.join(Annotations_path,xmls))print(in_file)tree = ET.parse(in_file)root = tree.getroot()
# print(root)xml_class = []# 这里是要求每一个xml文件(图片)只能有单独的一个类if len(set(root.iter('object'))) != 1:continuefor obj in root.iter('object'):cls_name = obj.find('name').textprint(cls_name)try:shutil.copy(image_path+"/"+xmls[:-3]+"jpg" , save_img_path+"/"+cls_name+"/"+xmls[:-3]+"jpg")shutil.copy(Annotations_path+"/"+xmls , save_xml_path+"/"+cls_name+"/"+xmls)except:continueget_my_classes(Annotations_path,image_path,save_img_path,save_xml_path,classes)
详解:
Annotations_path:这是你xml文件存储的位置,也就是你的这个文件夹
save_img_path:这是你提取特定类后,其每一类的图片存放的位置,如图我提取了以下几类。
image_path:这就是你voc数据集所有图片的位置目录
save_xml_path:是你保存每一类xml的位置
classes:这是你要提取的几个类
注:
这里是要求每一个xml文件(图片)里只能有单独的一个类,也就是如果一张图片里有多种物体,我们直接break,进入下一个xml。
提取voc数据集中特定的类相关推荐
- 数据如何变成知识,第 3 部分 提取暗数据
在我的上一篇文章中,您了解了数据湖如何允许存储大量多格式数据,从而帮助加速数据摄入和降低摄入成本.廉价存储技术的出现,使组织能更轻松.更便宜地存储大量数据. 组织存储数据有许多原因,通常是为了保留记录 ...
- 数据如何变成知识(3):提取暗数据
转发自IBM社区:https://www.ibm.com/developerworks/cn/analytics/library/ba-data-becomes-knowledge-3/index.h ...
- 21天Python学习——lxml库与Xpath提取网页数据
活动地址:CSDN21天学习挑战赛 一.爬虫提取网页数据的流程图 图源:100天精通Python(爬虫篇)--第45天:lxml库与Xpath提取网页数据_无 羡ღ的博客-CSDN博客_pyt ...
- 长文 | 从发展轨迹、社会变迁和人口数据变化来看工具类产品的发展出路有哪些(1)
7月25日,我看到"腾讯某GM|工具类产品,未来发展的出路有哪些?"这个问题觉得很有意思,下面是我对这个问题的回答,希望有更多道友能参与进来分享. 我对这个问题很感兴趣,最近花了不 ...
- 一步一步教你抓数据——用.net精确提取网站数据的通用方法 [转]
一步一步教你抓数据--用.net精确提取网站数据的通用方法 [转] 2008年02月23日 星期六 16:53 具体实现思路: 1 首先用WebClient类下载网页源码 public static ...
- 用Aspose.Words 从Word文档中提取表格数据
用Aspose.Words 从Word文档中提取表格数据 对于某些项目,开发人员需要从Word文档中提取数据并导出到数据库.最大的挑战是必须支持现有Word文档. 相同格式且带多个数据块的Word文档 ...
- asp.net 获取全部在线用户_提取在线数据的9个最佳网页抓取工具
Web Scraping工具专门用于从网站中提取信息.它们也被称为网络收集工具或Web数据提取工具. Web Scraping工具可以在各种场景中用于无限目的. 比如: 1.收集市场研究数据 网络抓取 ...
- 怎么提取pdf中的表格数据_如何从pdf第1部分中提取表格数据
怎么提取pdf中的表格数据 In this article, we talk about the challenges and principles of extracting tabular dat ...
- java索引图片,索引从图片中提取像素数据的代码的错误
我使用Python Imaging Library和Numpy运行以下代码,从图片中的特定感兴趣区域中提取像素数据 . 以下代码应该采用尺寸w乘以h的多张图片,切割宽度a(水平)和b(垂直)的边距,并 ...
最新文章
- mysql切换用户命令_linux基础04:linux用户相关的命令有哪些?怎样切换用户?
- 荣耀30s鸿蒙5g,荣耀赵明:荣耀30S将掀起5G手机购买狂潮
- java误解问题_关于Java的10个误解
- PetShop4,错误提示:System.Web.Security.SqlMembershipProvider”要求一个与架构版本“1”兼容的数据...
- Nginx的location指令
- 世界大百科全书!耶鲁大学教授再出神作!用1000幅图片,讲明白45亿年历史......
- 无法开启计算机,Win7下鼠标右键无法开启计算机属性怎么办?
- 2018数学建模A题的简单指导
- 几种无线充电解决方案特点及原理图
- JAVA基础知识点大全之一
- 手把手带你SQLite3快速入门
- 某站的视频下载与合并,m4s的处理。
- CentOS7防火墙关闭
- 基于Selenium和ChromeDriver的自动化页面性能测试
- 安焦删除贴 牛人纷纷出现(1)
- java测试smtp连接失败_java – MailConnectException:无法连接到主机,端口:smtp.sendgrid.net...
- ERP开发使用Flex
- 多类别分类——吴恩达课程作业python代码实现
- 某公司申请到一个C类IP地址,但要连接6个的子公司,最大的一个子公司有 26台计算机,每个子公司在一个网段中,则子网掩码应设为?
- 多线程 ---- 线程的通信
热门文章
- 图像处理中ct图的通道是多少_新一代安检CT机,智能安防领域又一明星产品
- 思科计算机网络题目及翻译3,思科计算机网络题目及翻译1.doc
- 运维在浏览器搜索linux日志,Graylog日志管理系统---搜索查询方法使用简介
- 老年机按键串号_为什么老人机依然很多人在用?
- java实现手机充电_java – 如何知道手机是否正在充电
- linux下expdp定时备份_Linux下定时任务的配置
- percona zabbix mysql_zabbix采用percona监控mysql主从
- python中如何追加_如何在Python中将元素添加到列表中-追加,扩展和插入
- linux4.9下alsa架构,[Alsa]4, wm8524 Kernel音频子系统入口
- memcache java client_Memcache的客户端连接系列(一) Java