博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
目标检测-数据准备系列(四)--voc2csv
阅读量:2051 次
发布时间:2019-04-28

本文共 1555 字,大约阅读时间需要 5 分钟。

直接贴源码: 

# @TIME  :2019/7/20 21:48# @File  :voc2csv.py"""将voc转化为csv文件作为中间中间转化体 """import osimport xml.dom.minidompath_img = "../vocdata/JPEGImages"path_xml = "../vocdata/Annotations"xml_list = []for xml1 in os.listdir(path_xml):    if xml1.endswith(".xml"):        xml_list.append(xml1)csv_labels = open("csv_labels.csv","w")for xml_file in xml_list:    print(xml_file)    image, ext = os.path.splitext(xml_file)    abspath_img = os.path.abspath(path_img + "/"+image+".jpg")    DomTree = xml.dom.minidom.parse(path_xml+"/"+xml_file)    annotation = DomTree.documentElement    objectlist = annotation.getElementsByTagName('object')    for objects in objectlist:        namelist = objects.getElementsByTagName('name')        #print("namelist:", namelist)        objectname = namelist[0].childNodes[0].data        print("abspath:", abspath_img)        print("objectname:", objectname)        bndbox = objects.getElementsByTagName('bndbox')        for box in bndbox:            x1_list = box.getElementsByTagName('xmin')            x1 = int(x1_list[0].childNodes[0].data)            y1_list = box.getElementsByTagName('ymin')            y1 = int(y1_list[0].childNodes[0].data)            x2_list = box.getElementsByTagName('xmax')            x2 = int(x2_list[0].childNodes[0].data)            y2_list = box.getElementsByTagName('ymax')            y2 = int(y2_list[0].childNodes[0].data)            print(x1,y1,x2,y2)        csv_labels.write(abspath_img + "," + str(x1) + "," + str(y1) + "," + str(x2) + "," + str(y2) + "," + objectname + "\n")csv_labels.close()

转载地址:http://krzlf.baihongyu.com/

你可能感兴趣的文章
kubectl 创建 Pod 背后到底发生了什么?
查看>>
Kube-scheduler 源码分析(二):调度程序启动前逻辑
查看>>
kubernetes 1.15 有哪些让人眼前一亮的新特性?
查看>>
云原生周报:第 3 期
查看>>
深入理解 Linux Cgroup 系列(三):内存
查看>>
7月最新Java微服务资料
查看>>
Linux 指令
查看>>
wi10优化
查看>>
windows console 颜色设置
查看>>
VC unicode下Cstring转char*
查看>>
MFC ListBox使用
查看>>
Linux 使用grep筛选多个条件
查看>>
H264 NALU分析(sps,pps,关键帧,非关键帧)
查看>>
Windows文本加载wscite的使用
查看>>
浏览器主页被篡改修复
查看>>
FFmpeg - 新老接口对比问题
查看>>
Windows下MinGW编译ffmpeg库
查看>>
SDL在windows下使用 - 显示YUV
查看>>
三种方式YUV420转RGB24/BGR24,实测可用
查看>>
Windows下使用VS2015编译openssl库
查看>>