labelme xml 标注文件输出掩码图片

mac2026-10-01  2

离线标注版 labelme 和网页标注版 LabelMeAnnotationTool 的标注格式是不同的。以下代码实现通过网页标注版 labelme 输出的 xml 格式标注文件,输出掩码照片。 代码地址:labelme_xml2mask.py  

# -*- coding: utf-8 -*- def xml2mask(image_path, xml, id2class_dict): class2id_dict = {value: key for key, value in id2class_dict.items()} tree = ET.parse(xml) root = tree.getroot() img_size = cv2.imread(image_path).shape height = img_size[0] weight = img_size[1] mask = np.zeros([height, weight], dtype=np.uint8) for instance in root.iter('object'): if (instance.findall('deleted')[0].text) == '0': classname = instance.findall('name')[0].text cnt_points = [] for pt in instance.iter('pt'): for x in pt.findall('x'): # print("x:", x.text) ptx = float(x.text) for y in pt.findall('y'): # print("y:", y.text) pty = float(y.text) cnt_points.append([ptx, pty]) pts = np.asarray([cnt_points], dtype=np.int32) cv2.fillPoly(img=mask, pts=pts, color=class2id_dict[classname]) return mask

 

最新回复(0)