在Java中使用OpenCV的kmeans
函数时出现错误。有谁知道这意味着什么?
error: (-215) N >= K in function double cv::kmeans(cv::InputArray, int, cv::InputOutputArray, cv::TermCriteria, int, int, cv::OutputArray)
我的参数是:
Mat labels = new Mat();
int attempts = 3;
Mat centers = new Mat();
TermCriteria criteria = new TermCriteria(TermCriteria.EPS +
TermCriteria.MAX_ITER,100,0.1);
clusterCount = 14;
和示例是一个包含26
行和6
列的矩阵,代表26
个要素向量,每个要素向量包含6
个要素。
我的函数调用是
Core.kmeans(samples, clusterCount, labels, criteria, attempts, Core.KMEANS_PP_CENTERS, centers );
在错误消息中,K
显然是群集的数量,我的一个假设是N
是样本中的行数?但在这种情况下,N显然会超过K
。
希望有人之前遇到过此事,并知道这意味着什么。