def gen_codebook(dataset, descriptors, k = 64):
"""
Generate a k codebook for the dataset.
Args:
dataset (Dataset object): An object that stores information about the dataset.
descriptors (list of integer arrays): The descriptors for every class.
k (integer): The number of clusters that are going to be calculated.
Returns:
list of integer arrays: The k codewords for the dataset.
"""
iterations = 10
epsilon = 1.0
criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, iterations, epsilon)
compactness, labels, centers = cv2.kmeans(descriptors, k , criteria, iterations, cv2.KMEANS_RANDOM_CENTERS)
return centers
评论列表
文章目录