想要读取图片,在读取目标图的时候出现问题代码,不知道该如何修改
train_images = []
train_labels = []
for xmlFile in files:
if not os.path.isdir(xmlFile):
dom = xml.dom.minidom.parse(os.path.join(path,xmlFile))
root = dom.documentElement
name = root.getElementsByTagName("name")
if len(name)==1:
filename = root.getElementsByTagName("filename")
img_path=train_dir + "/" + filename[0].firstChild.data
if os.path.exists(img_path)==True:
objects=root.getElementsByTagName("object")
objects_num=len(objects)
for object in objects:
bndbox = object.getElementsByTagName('bndbox')[0]
xmin = bndbox.getElementsByTagName('xmin')[0]
xmin_data=int(xmin.childNodes[0].data)#坐标xmin
ymin = bndbox.getElementsByTagName('ymin')[0]
ymin_data=int(ymin.childNodes[0].data)#坐标ymin
xmax = bndbox.getElementsByTagName('xmax')[0]
xmax_data=int(xmax.childNodes[0].data)#坐标xmax
ymax = bndbox.getElementsByTagName('ymax')[0]
ymax_data=int(ymax.childNodes[0].data)#坐标ymax
train_img = cv2.imread(img_path)
crop = train_img[ymin_data:ymax_data, xmin_data:xmax_data] #扣取目标图块(此处为代码问题处)
crop = cv2.resize(crop, size)
train_images.append(crop)
current_label = name[0].firstChild.data
train_labels.append(current_label)
print("completed")
报错内容:TypeError: 'NoneType' object is not subscriptable
自己敲的时候看不出问题在哪里QwQ
代码正常运行
没告诉你哪行报错吗
这错误的意思就是你以为是个list的东西其实是个None
要是IDE只告诉你错误类型,而不告诉你错误所在的行,尽快把IDE卸载了换个能告诉你哪行报错的IDE
在出错的语句前添加
print(str(出错的变量名)) #看出错的变量当前值到底是啥
input("pause")
明显是取下标时候报错了,如果没有提示哪行的问题 那就从取下标之前打印试试