У меня есть список списка, где каждый список соответствует граничной точке фигуры. Я должен извлечь список из четырех точек, каждая из которых определяет вмещающий прямоугольник фигур. Например, у меня есть этот список
[[[2,5],[3,4],[5,8],[5,6],[5,9]],
[[11,14],[12,15],[16,17]],
...
]
Здесь каждый список определяет границу фигуры. то, что я должен получить, это список из четырех пунктов как
[[min_x, min_y], [min_x, max_y], [max_x, max_y], [max_x, min_y]]
т.е.
[[[2,4],[2,9],[5,9],[5,4]],
[[11,14], [11, 17], [16,17], [16,14]]
...
]
Я сделал это с помощью цикла Python, который прекрасно работает.
Вот код.
cleaned_contours = list()
for cur_cont in contours:
min_x, min_y = cur_cont.min(axis=0).flatten()
max_x, max_y = cur_cont.max(axis=0).flatten()
cleaned_contours.append(np.array([[min_x, min_y], [min_x, max_y], [max_x, max_y], [max_x, min_y]]))
Есть ли способ, которым я могу сделать это без использования циклов или списков.
Я использую python3.