def means(contours, prev): X = [] means = [] clusters = {} for contour in contours: M = moments(contour) try: X.append((M['m10']/M['m00'],M['m01']/M['m00'])) except ZeroDivisionError: print 'ZERO!' if len(X) >= 2: means, clusters = kcluster.cluster(np.asarray(X), ROBOTS_COUNT, np.asarray(prev)) return means, clusters
def means(contours, prev): X = [] means = [] clusters = {} for contour in contours: M = moments(contour) try: centre = (M['m10']/M['m00'],M['m01']/M['m00']) X.append(centre) except ZeroDivisionError: print 'ZERO!' if len(X) >= 2: means, clusters = kcluster.cluster(np.asarray(X), ROBOTS_COUNT, np.asarray(prev)) #km = KMeans(n_clusters = ROBOTS_COUNT,n_init=1, verbose=1, init=np.asarray(prev)).fit(np.asarray(X)) #means = km.cluster_centers_ #labels = km.labels_ #clusters = cluster_points(X,labels) return means, clusters