有18张大图和对应的xml标签,怎么切割图片和标签

因为要对遥感图像数据集进行训练,有了大图和对应的xml标签,怎么切割才能用于yolov5

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7415327
  • 除此之外, 这篇博客: 【Yolov5】训练自己的yolov5模型并集成到安卓应用中【上】——模型训练中的 读取XML文件 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • ReadXML类用于读取xml文件,并提取图片尺寸信息及图片中的标记(方框及类别)。由于图片中的标记可能存在多个,所以返回的是list。

    class ReadXML():
        def __init__(self, filename):
            self.filename = filename
            with open(self.filename,'rb') as xmlfile:
                tree = ET.parse(xmlfile)
                root = tree.getroot()
                size = root.find('size')
                self.imageSize = ( int(size.find('width').text), int(size.find('height').text) )
    
                self.objs = []
    
                for obj in root.iter("object"):
                    cls = obj.find('name').text
                    if cls not in classes:
                        continue
                    classID = classes.index(cls)
                    bndbox = obj.find('bndbox')
                    boxCoor = ( float(bndbox.find('xmin').text), float(bndbox.find('xmax').text), float(bndbox.find('ymin').text), float(bndbox.find('ymax').text) )
                    self.objs.append({'classID': classID,  'boxCoor' : boxCoor})
    
        def getImageSize(self):
            return self.imageSize
    
        def getObjs(self):
            return self.objs
    

xml转换成txt,大图直接放进去就行了