如何获得聚类中心的Y坐标?

How to get the Y-Coordinate of the cluster center?

我阅读了有关 OpenCV 可用的 K-Means 聚类的信息。函数returns簇标签、簇中心和簇的整体紧密度。

中心是 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)

但它 returns 中心为 :

        [[646.8723  ]
     [111.409096]
     [803.1395  ]
     [495.14545 ]
     [235.57547 ]
     [349.85315 ]]

如何获得 Y 坐标?

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

假设您还有一个列表 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)