-
Notifications
You must be signed in to change notification settings - Fork 0
/
CVAT_XML_Polyline.py
34 lines (26 loc) · 1.03 KB
/
CVAT_XML_Polyline.py
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
34
import cv2
import matplotlib.pyplot as plt
import xml.etree.ElementTree as ET
import random
def random_color():
return (random.random(), random.random(), random.random())
# Парсинг XML файла
tree = ET.parse('annotations.xml')
root = tree.getroot()
# Цикл по всем объектам в XML файле
for member in root.findall('image'):
image_name = member.get('name')
image = cv2.imread(image_name)
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
# Создание фигуры и осей
fig, ax = plt.subplots(1)
# Отображение изображения
ax.imshow(image)
for polyline in member.findall('polyline'):
points = polyline.get('points').split(';')
for point in points:
x, y = map(float, point.split(','))
# Рисование точки
ax.plot(x, y, 'o', color=random_color())
# Отображение изображения с наложенными точками
plt.savefig(image_name + 'Polygon.png')