对voc2007数据集进行person的单类数据抽取

使用方式

ython tovoc.py VOC2007 VOC 14 1
4个参数分别为
VOC2007原始数据集路径
新数据集路径
标签下标
新标签下标

tovoc.py

#!/usr/bin/ python
# -*- encoding: utf-8 -*-
'''
@文件    :tovoc.py
@说明    :python tovoc.py VOC2007 VOC 14 1
@时间    :2022/03/21 16:43:49
@作者    :刘子沫
@邮箱    :spiritai@qq.com
@版本    :1.0
'''from __future__ import print_functionimport argparse
import glob
import os
import os.path as osp
import sys
import shutil
# shutil.copy(源文件, 目标文件) 目标文件可以是目录
def main():parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)parser.add_argument("input_dir", help="input annotated directory")parser.add_argument("output_dir", help="output dataset directory")parser.add_argument("inclass", help="labels num")parser.add_argument("outclass", help="labels num")args = parser.parse_args()if osp.exists(args.output_dir):print("Output directory already exists:", args.output_dir)sys.exit(1)os.makedirs(args.output_dir)os.makedirs(osp.join(args.output_dir, "JPEGImages"))os.makedirs(osp.join(args.output_dir, "SegmentationClassPNG"))os.makedirs(osp.join(args.output_dir, "SegmentationObjectPNG"))os.makedirs(osp.join(args.output_dir, "labels"))print("Creating dataset:", args.output_dir)for filename in glob.glob(osp.join(args.input_dir,"labels", "*.txt")):print("Generating dataset from:", filename)base = osp.splitext(osp.basename(filename))[0]in_txt_file = osp.join(args.input_dir, "labels", base + ".txt")# yololabelsout_txt_file = osp.join(args.output_dir, "labels", base + ".txt")datas = []nwedatas = []flag = Truewith open(in_txt_file, "r") as f1:datas = f1.readlines()for dt in datas:a,b,c,d,e = dt.replace("\n","").split(" ")if a==str(args.inclass):a = args.outclasselse:flag=Falsebreaknwedatas.append([a,b,c,d,e])if not flag:continuetry:shutil.copy(osp.join(args.input_dir, "SegmentationClass", base + ".png"), osp.join(args.output_dir, "SegmentationClassPNG", base + ".png"))shutil.copy(osp.join(args.input_dir, "SegmentationObject", base + ".png"), osp.join(args.output_dir, "SegmentationObjectPNG", base + ".png"))except:continuewith open(out_txt_file, "w+") as f2:for cls_id,x, y, w, h in nwedatas:f2.write("%s %s %s %s %s\n"%(cls_id,x, y, w, h))shutil.copy(osp.join(args.input_dir, "JPEGImages", base + ".jpg"), osp.join(args.output_dir, "JPEGImages", base + ".jpg"))if __name__ == "__main__":main()

对voc2007数据集进行person的单类数据抽取相关推荐

  1. 【深度学习】制作VOC2007数据集用于Faster-RCNN训练

    制作VOC2007数据集用于Faster-RCNN训练:VOC2007格式是faster-RCNN中官方给出的用于训练的数据集,把它下载下来用frcnn/tool里的训练程序跑一跑就可以得到自己的训练 ...

  2. Ubuntu 16.04下Caffe-SSD的应用(八)——处理标注好的VOC2007数据集

    前言 前面已经演示了如何把图像文件标注成VOC2007数据集,标注完成之后,就要把数据转换成caffe支持的数据格式lmdb. 处理数据 1.在caffe_ssd/data/下新建一个叫VOCdevk ...

  3. Ubuntu 16.04下Caffe-SSD的应用(七)——制作自己的VOC2007数据集

    前言 1.前面的博文大概讲了官方的VOC2007的内容结构与各个目录的作用,接下来要讲的是如何制作自己的VOC2007数据,并用于训练. 2.制作VOC2007数据集的前准备是必须有包含要训练的样本的 ...

  4. Ubuntu 16.04下Caffe-SSD的应用(六)——PASCAL VOC2007数据集介绍

    前言 1.PASCAL VOC为图像识别与分类提供了一整套标准化的图像数据集,VOC数据集是衡量图像分类识别能力的基准,好多深度学习的框架在识别这块都以此数据集作为演示样例.PASCAL VOC数据集 ...

  5. voc2007数据集_【目标检测数据集】PASCAL VOC制作

    [VOC2007+2012] 数据集地址:https://pjreddie.com/projects/pascal-voc-dataset-mirror/ PASCAL VOC为图像识别和分类提供了一 ...

  6. VOC2007数据集 VOC2012数据集下载 百度云

    VOC2007数据集 VOC2007数据集下载 百度云 Download VOC2007 trainval & test 链接:https://pan.baidu.com/s/1_uTFp4_ ...

  7. (详细版Win10+Pycharm)YOLOX——训练自己的VOC2007数据集,以NWPU VHR-10 dataset为例

    目录 一.搭建YOLOX环境 二.训练自己的VOC数据集 1.打开Pycharm配置Anaconda已创建好的yolo_x虚拟环境 2.在Pycharm中设置Git环境 3.修改配置文件 (1)修改Y ...

  8. VOC2007数据集制作

    相信看这篇文章的人都在做深度学习吧,此数据集是为目标检测做的数据集,有错误处请海涵 代码见我的github上:https://github.com/EddyGao/make_VOC2007 第一步:首 ...

  9. 【目标检测算法】YOLO-V5实战检测VOC2007数据集

    文章目录 一.项目克隆与环境配置 1. 下载源码 2. 安装依赖包 二.自定义数据集导入和预训练权重 1. 导入自定义数据集 2. 获得预训练权重 三.修改配置文件 1. data目录中的yaml文件 ...

  10. 利用VOC2007数据集创建属于自己的数据集

    最近在做本科毕设,是做个关于汽车类型识别的论文.已经在网上找来了VOC格式的车辆数据集,已有轿车.suv.卡车.公交车等类别的照片和标签文件,但是还是缺少一类数据:摩托车.摩托车数据集应该很好找,但是 ...

最新文章

  1. 表单高级应用和语义化
  2. 再造人类生命的神奇细胞Human.Life.Our.Amazing.Cell
  3. mysql基本的增删改查和条件语句
  4. java学习(110):日期date类
  5. 微软企业库mysql分页存储_使用微软企业库,非分页sql语句得到分页数据方法
  6. 测试流程 - 关于用例评审,给你的 9 点建议
  7. 【MM32F5270开发板试用】基于MindSDK对接雨滴传感器
  8. linux 开机密码忘了,linux系统开机忘记密码
  9. android 转发朋友圈,微信怎么转发朋友圈 转发朋友圈方法详细教程
  10. 电力自动化系统为何需要卫星同步时钟装置?
  11. 大数据对人们生活的积极影响_大数据对生活带来的影响
  12. python搬家具_python面向对象编程: 搬家具案例
  13. Hot Observable 和 Cold Observable的区别
  14. the sun also rises day17
  15. 14 Python 办公自动化
  16. 微机原理 || MOV 指令使用规则(详细+例题)
  17. idea中找不到maven projects的集中解决办法
  18. samb连接linux服务器,在Windows上访问Linux下的Samba服务器的方法
  19. oracle全文索引之FILTER_2_INSO_FILTER
  20. 手机端软件 小界面有“大江湖”

热门文章

  1. c++做病毒|教程代码
  2. 防(普通)病毒U盘的制作
  3. java运用itextpdf批量添加书签
  4. access数据库应用系统客观题_Access制作客观题考试系统的应用
  5. PDF如何转Excel?学会这3个方法,1分钟就能实现转换
  6. sql server 读写txt文件
  7. 第21篇 项目进度管理__关键路径法
  8. 使用油猴脚本在网页中插入按键
  9. 适合小白的word基本操作
  10. Java实现简单聊天室【含源码】