def writeXML(bbox, class_name, namenum):
tree = ElementTree()
tree.parse('/home/share/liubo/tf-fater-rcnn-bdz4/data/demo_xml/' + namenum + '.xml')
root = tree.getroot()
object = Element('object')
name = Element('name')
name.text = class_name
bndbox = Element('bndbox')
root.append(object)
object.append(name)
object.append(bndbox)
'''
IMG = Image.open('/home/share/liubo/tf-fater-rcnn-bdz4/data/demo/' + namenum + '.jpg')
width = int(IMG.size[0]) / 2
height = int(IMG.size[1]) / 2
'''
xmin = Element('xmin')
xmin.text = str(bbox[0])
ymin = Element('ymin')
ymin.text = str(bbox[1])
xmax = Element('xmax')
xmax.text = str(bbox[2])
ymax = Element('ymax')
ymax.text = str(bbox[3])
bndbox.append(xmin)
bndbox.append(ymin)
bndbox.append(xmax)
bndbox.append(ymax)
tree.write('/home/share/liubo/tf-fater-rcnn-bdz4/data/demo_xml/' + namenum + '.xml')
def UpdataXML(bbox, class_name, name):
tree = ET.parse('/home/share/liubo/tf-fater-rcnn-bdz4/data/demo_xml/' + name + '.xml')
root = tree.getroot()
flag = 0
objs = tree.findall('object')
# num_objs = len(objs)
r1 = (bbox[0], bbox[1], bbox[2], bbox[3])
for i, obj in enumerate(objs):
xmin = int(obj.find('bndbox').find('xmin').text)
ymin = int(obj.find('bndbox').find('ymin').text)
xmax = int(obj.find('bndbox').find('xmax').text)
ymax = int(obj.find('bndbox').find('ymax').text)
objname = obj.find('name').text
r2 = (xmin, ymin, xmax, ymax)
IOU = compute_IOU(r1, r2)
if IOU >= 0.5:
flag = 1
if objname != class_name:
obj.find('name').text = class_name
if flag == 0:
writeXML(bbox, class_name, name)
tree.write('/home/share/liubo/tf-fater-rcnn-bdz4/data/demo_xml/' + name + '.xml')