<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      xml轉txt

      (64條消息) 目標檢測數(shù)據(jù)集格式轉換( xml - txt )和( txt - xml ),以及圖像標簽的對應裁剪_XC___XC的博客-CSDN博客

       

      具體實現(xiàn),里面有一些語句是無用的不影響結果

      #-*- codeing =utf-8 -*-
      #@Time : 2022/7/1 20:55
      #@Author : huaobin
      #@File : trn.py
      #@Software: PyCharm
      
      
      import xml.etree.ElementTree as ET
      import pickle
      import os
      from os import listdir, getcwd
      from os.path import join
      
      sets=['train', 'test']
      
      classes = ["buildings"]#這里輸入你的數(shù)據(jù)集類別
      
      
      def convert(size, box,img,newclasses):#讀取xml文件中的數(shù)據(jù),xywh
          dw = 1./size[0]
          dh = 1./size[1]
          x = (box[0] + box[1])/2.0
          y = (box[2] + box[3])/2.0
          w = box[1] - box[0]
          h = box[3] - box[2]
          x = x*dw
          w = w*dw
          y = y*dh
          h = h*dh
          aa=box[0]
          bb=box[1]
          cc=box[2]
          dd=box[3]
          return (img,newclasses,aa,bb,cc,dd)
      
      def convert_annotation(image_id):
          in_file = open('./labels/%s.xml'%(image_id))#這里是讀取xml的文件夾
          out_file = open('./txtlabels/%s.txt'%(image_id), 'w')#存入txt文件的文件夾
          tree=ET.parse(in_file)
          root = tree.getroot()
          size = root.find('size')
          w = int(size.find('width').text)
          h = int(size.find('height').text)
          #讀取<object></object>
          for obj in root.iter('object'):
              difficult = obj.find('difficult').text
              cls = obj.find('name').text
              if cls not in classes or int(difficult) == 1:
                  continue
              cls_id = classes.index(cls)  #xml標注的文件的框的labels
              xmlbox = obj.find('bndbox')
              b = (int(xmlbox.find('xmin').text),int(xmlbox.find('ymin').text),int(xmlbox.find('xmax').text), int(xmlbox.find('ymax').text))
              img=image_id+'.jpg'
              bb = convert((w,h), b,img,'buildings')
              print(bb)
              out_file.write(" ".join([str(a) for a in bb])+'\n')
              #out_file.write(str(cls_id) + " " + " ".join([str(a) for a in bb]) + '\n')
      
      
      
      
      def listdir(path, list_name):
          for file in os.listdir(path):
              file_path = os.path.join(path, file)
              if os.path.isdir(file_path):
                  listdir(file_path, list_name)
              elif os.path.splitext(file_path)[1] == '.xml':
                  newstr = file_path.split('\\')[1]
                  str = newstr.split('.')[0]
                  list_name.append(str)
      
      
      wd = getcwd()
      
      list_name=[]
      listdir('./labels',list_name)
      image_ids=list_name   #所有的.xml文件的文件名
      for image_id in image_ids:
          convert_annotation(image_id)
      

        

       

      posted @ 2022-06-28 19:59  青竹之下  閱讀(354)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 在线看片免费人成视频久网| 亚洲国产精品成人无码区| 成人福利一区二区视频在线| 最新国产精品好看的精品| 麻豆蜜桃av蜜臀av色欲av| 国产爆乳乱码女大生Av| 精品视频不卡免费观看| 国产综合亚洲区在线观看| 国产亚洲精品成人aa片新蒲金| 蜜臀久久99精品久久久久久| 中文有码字幕日本第一页| 国产成人精品一区二区| 国产精品麻豆欧美日韩ww| 乱60一70归性欧老妇| 亚洲综合国产成人丁香五| 亚洲精品国模一区二区| 亚洲中文字幕一区二区| 亚洲一区二区三级av| 亚洲综合视频一区二区三区| 亚洲精品一区| 在线aⅴ亚洲中文字幕| 精品国产成人午夜福利| 午夜片神马影院福利| 人妻少妇精品视频专区| 一区二区三区鲁丝不卡| 日韩欧美猛交xxxxx无码| 久久亚洲精品11p| 国产欧美在线一区二区三| 欧洲精品色在线观看| 国产免费午夜福利757| 无码人妻精品一区二区三区蜜桃| 亚洲暴爽av天天爽日日碰| 国产超高清麻豆精品传媒麻豆精品 | 九色综合狠狠综合久久| 亚洲一区二区三区18禁| 爱啪啪av导航| 嫩草欧美曰韩国产大片| 亚洲高潮喷水无码AV电影| 国产精品中文字幕二区| 亚洲综合区激情国产精品| 精品国产美女福到在线不卡|