我读到了OpenCV提供的K-Means聚类。该函数返回聚类标签、聚类中心和聚类的整体紧凑度。
中心是X坐标。如何获得集群中心的Y坐标?
这就是我对集群对象所做的工作。
criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 10, 1.0)
compactness,labels,centers = cv2.kmeans(np.float32(x_coord_list), 6, None, criteria, 10, cv2.KMEANS_RANDOM_CENTERS)但它将中心返回为:
[[646.8723 ]
[111.409096]
[803.1395 ]
[495.14545 ]
[235.57547 ]
[349.85315 ]]我怎样才能得到Y坐标?
发布于 2019-01-30 02:46:35
显然,您只使用数据点的x坐标调用cv2.kmeans。
假设您还有一个表示点的y坐标的列表y_coord_list,您可以使用:
# Z contains both coordinates, one per row as specified by the documentation
Z = np.vstack((x_coord_list, y_coord_list))
# convert Z to np.float32
Z = np.float32(Z)
compactness,labels,centers = cv2.kmeans(Z, 6, None, criteria, 10, cv2.KMEANS_RANDOM_CENTERS)https://stackoverflow.com/questions/54427496
复制相似问题