如何获得聚类中心的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)
我阅读了有关 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)