我参加NVIDIA Sky Hackathon(VOC转kitti)

在第七届第七届NVIDIA SKy Hackathon中,我们团队遇到一个难题,将voc格式转为kitti格式,因为是初次遇到此类问题,我们上网搜了很多资料,最后是通过脚本来转换格式,在pycharm中生成kitti的txt文本。

#1以voc格式打标签

#转换文本格式

打开pycharm,从文件中选中一个.xml格式。在

xmlfile = ""中添加路径。
# import xmltodict
import xml.dom.minidom

xmlfile = "R-C.xml"

document_tree = xml.dom.minidom.parse(xmlfile)
collection = document_tree.documentElement
# print(collection.toxml())

class_record = []
xmin_record = []
ymin_record = []
xmax_record = []
ymax_record = []

filename = collection.getElementsByTagName("filename")
filename = filename[0].childNodes[0].data

name = collection.getElementsByTagName("name")
print(name[0].childNodes[0].data)

for name_object in name:
    class_name = name_object.childNodes[0].nodeValue
    class_name = str(class_name)
    class_record.append(class_name)
print(class_record)
print(len(class_record))

xmin = collection.getElementsByTagName("xmin")
# print(xmin[0].childNodes[0].data)
ymin = collection.getElementsByTagName("ymin")
xmax = collection.getElementsByTagName("xmax")
ymax = collection.getElementsByTagName("ymax")

for xmin_object in xmin:
    # print(good_object.childNodes)
    x1 = xmin_object.childNodes[0].nodeValue
    x1 = float(x1)
    xmin_record.append(x1)
print(xmin_record)

for ymin_object in ymin:
    y1 = ymin_object.childNodes[0].nodeValue
    y1 = float(y1)
    ymin_record.append(y1)
print(ymin_record)

for xmax_object in xmax:
    x2 = xmax_object.childNodes[0].nodeValue
    x2 = float(x2)
    xmax_record.append(x2)
print(xmax_record)

for ymax_object in ymax:
    y2 = ymax_object.childNodes[0].nodeValue
    y2 = float(y2)
    ymax_record.append(y2)
print(ymax_record)

label_file = str(filename).replace(".jpg", ".txt")
print(label_file)
for i in range(len(class_record)):
    with open(label_file, 'a') as j:
        j.write("{} 0.0 0 0.0 {:.1f} {:.1f} {:.1f} {:.1f} 0.0 0.0 0.0 0.0 0.0 0.0 0.0\n".format(class_record[i],
                                                                                                xmin_record[i],
                                                                                                ymin_record[i],
                                                                                                xmax_record[i],
                                                                                                ymax_record[i]))

生成txt文本

 参考资料xml convert to KITTI - cdekelon - 博客园

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值