Python 如何将.txt文件转换为xml进行yolo对象检测
我正在用yolo(暗流)进行目标检测。我有一个数据集和数据集的标签。但问题是,我需要XML格式的注释,但我有.txt格式的注释。如何将txt转换为xml 这是一个示例txt文件Python 如何将.txt文件转换为xml进行yolo对象检测,python,xml,object-detection,yolo,darkflow,Python,Xml,Object Detection,Yolo,Darkflow,我正在用yolo(暗流)进行目标检测。我有一个数据集和数据集的标签。但问题是,我需要XML格式的注释,但我有.txt格式的注释。如何将txt转换为xml 这是一个示例txt文件 001.jpg 528 412 162 52 001 我编写了一些代码将txt转换为xml import os import xml.etree.cElementTree as ET from lxml import etree import cv2 def text_to_xml(file): file
001.jpg 528 412 162 52 001
我编写了一些代码将txt转换为xml
import os
import xml.etree.cElementTree as ET
from lxml import etree
import cv2
def text_to_xml(file):
filename = file.split('.')[0]
extention = file.split('.')[1]
image = cv2.imread(os.path.join(folder, file))
height, width, depth = image.shape
f = open(filename+'.txt', 'r')
content = f.readlines()[0]
content = content.split('\t')
xmin, xmax, ymin, ymax = content[1], content[2], content[3], content[4]
f.close()
annotation = ET.Element('annotation')
ET.SubElement(annotation, 'folder').text = folder
ET.SubElement(annotation, 'filename').text = filename + '.jpg'
ET.SubElement(annotation, 'segmented').text = '0'
size = ET.SubElement(annotation, 'size')
ET.SubElement(size, 'width').text = str(width)
ET.SubElement(size, 'height').text = str(height)
ET.SubElement(size, 'depth').text = str(depth)
ob = ET.SubElement(annotation, 'object')
ET.SubElement(ob, 'name').text = 'sign'
ET.SubElement(ob, 'pose').text = 'Unspecified'
ET.SubElement(ob, 'truncated').text = '0'
ET.SubElement(ob, 'difficult').text = '0'
bbox = ET.SubElement(ob, 'bndbox')
ET.SubElement(bbox, 'xmin').text = str(xmin)
ET.SubElement(bbox, 'ymin').text = str(ymin)
ET.SubElement(bbox, 'xmax').text = str(xmax)
ET.SubElement(bbox, 'ymax').text = str(ymax)
xml_str = ET.tostring(annotation)
root = etree.fromstring(xml_str)
xml_str = etree.tostring(root, pretty_print=True)
return xml_str
if __name__ == '__main__':
folder = './images/'
for file in os.listdir(folder):
if file.split('.')[1] == 'jpg':
text_to_xml(file)
但是,当我使用转换后的xml文件训练模型时,模型没有检测到任何东西。所以我想我在某个地方搞砸了。也许这可以帮助:也许这可以帮助:也许这可以帮助:也许这可以帮助: