def k_means(self, a_frame, K=2):
"""
:param a_frame:
:param K:
:return: np.ndarray draw the frame use K color's centers
"""
i = 0
Z = a_frame.reshape((-1, 1))
Z = np.float32(Z)
criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 10, 1.0)
ret, label, center = cv2.kmeans(Z, K, criteria, 10, cv2.KMEANS_RANDOM_CENTERS)
center = np.uint8(center)
res = center[label.flatten()]
res2 = res.reshape((a_frame.shape))
return res2
评论列表
文章目录