Spaces:
Sleeping
Sleeping
File size: 1,144 Bytes
c20a1af |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# Copyright (C) 2020 * Ltd. All rights reserved.
# author : Sanghyeon Jo <[email protected]>
import xml.etree.ElementTree as ET
def read_xml(xml_path):
tree = ET.parse(xml_path)
root = tree.getroot()
size = root.find('size')
image_width = int(size.find('width').text)
image_height = int(size.find('height').text)
bboxes = []
classes = []
for obj in root.findall('object'):
label = obj.find('name').text
bbox = obj.find('bndbox')
bbox_xmin = max(min(int(bbox.find('xmin').text.split('.')[0]), image_width - 1), 0)
bbox_ymin = max(min(int(bbox.find('ymin').text.split('.')[0]), image_height - 1), 0)
bbox_xmax = max(min(int(bbox.find('xmax').text.split('.')[0]), image_width - 1), 0)
bbox_ymax = max(min(int(bbox.find('ymax').text.split('.')[0]), image_height - 1), 0)
if (bbox_xmax - bbox_xmin) == 0 or (bbox_ymax - bbox_ymin) == 0:
continue
bboxes.append([bbox_xmin, bbox_ymin, bbox_xmax, bbox_ymax])
classes.append(label)
return bboxes, classes
|