如何获取群集中心的Y坐标?

时间:2019-01-29 18:30:51

标签: python opencv k-means

我阅读了有关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坐标?

1 个答案:

答案 0 :(得分:0)

显然,您正在仅使用数据点的x坐标调用cv2.kmeans

假设您还有一个列表y_coord_list代表点的y坐标,则可以使用:

# 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)