У меня есть работающий код анализа связанных компонентов, работающий на C. На самом деле это копия из книги "Изучение Opencv".
Теперь я переписываю весь этот код на Python и не могу найти некоторые из этих функцийв API-интерфейсе Python, например cvStartFindContours.
Мне интересно, есть ли у кого-то базовая функция анализа связанных компонентов, реализованная в Python.Я знаю, что есть некоторые библиотеки, но я ищу что-то более простое, просто функцию или фрагмент кода.
Мне не нужно ничего «большого», потому что у меня есть простое черное изображение с 2 или 3белые кружки, и я хочу найти число окружностей и их центр.
Я знаю, что, вероятно, могу написать код для себя, но я предпочитаю использовать чью-то функцию или простую библиотеку.
РЕДАКТИРОВАТЬ: Iрешил это следующим образом.
def find_connected_components(img):
"""Find the connected components in img being a binary image.
it approximates by rectangles and returns its centers
"""
storage = cv.CreateMemStorage(0)
contour = cv.FindContours(img, storage, cv.CV_RETR_CCOMP, cv.CV_CHAIN_APPROX_SIMPLE)
centers = []
while contour:
# Approximates rectangles
bound_rect = cv.BoundingRect(list(contour))
centers.append(bound_rect[0] + bound_rect[2] / 2, bound_rect[1] + bound_rect[3] / 2)
contour = contour.h_next()