AttributeError: ‘NoneType‘ object has no attribute ‘text‘

文章讲述了在将VOC数据集转换为YOLO格式时遇到的报错,原因在于XML文件中的object标签缺失difficult标签和空的object标签。作者提供了添加条件判断以跳过空object的解决方案。
摘要由CSDN通过智能技术生成

在将数据集格式由VOC转化为YOLO格式过程中出现如下报错:

VOC转YOLO格式代码:https://blog.csdn.net/m0_56013116/article/details/136446559?spm=1001.2014.3001.5501
在这里插入图片描述
这里报错的原因是:在你的xml里面的 < object>里面缺少标签difficult,增加以下代码即可解决:

        if obj.find('difficult'):
            difficult = int(obj.find('difficult'))
        else:
            difficult = 0

但是,我加上之后发现还是不行,于是又仔细检查了我的xml文件,发现其中有空的object标签,里面啥也没有!!!不仔细看还真看不出来~~~~~
在这里插入图片描述打印object中的name看是否存在,

# 这里打印找到的name对象,发现运行到存在空的object的xml文件时出现None,
#即说明object是空的,这时候跳过这次转换即可,即跳过空的object不进行转换。
name = obj.find('name') 
print(name)

增加了以下代码,成功解决:

if name == None:
   continue

这段代码意思是,如果在object标签中不存在name这个标签,直接跳过。因为一个标框不可能没有name也就是你标注的物体的类别。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值