【发布时间】:2016-06-20 04:33:54
【问题描述】:
我的代码如下:
Mat cflow; /*computed optical flow */
Mat p = Mat::zeros ( cflow.cols* cflow.rows, 5, CV_32F);
...
...( initializations of p )
...
int K = 10;
cv::kmeans(p,K,bestLabels,TermCriteria(CV_TERMCRIT_EPS+CV_TERMCRIT_ITER, 10,1.0),3,KMEANS_PP_CENTERS,centers);
我想出了以下错误:
error: (-215) N >= K in function K 表示 .
显然 N>=K ,但我怎样才能重塑它以使其工作?
【问题讨论】:
-
cflow.cols* cflow.rows小于 10。您应该添加更多样本。 -
添加更多样本是什么意思?在计算的光流中?
-
要找到 K 个聚类,您至少需要 K 个点(“p”行)。
-
Rows of cflow=288 Cols of cflow=384 这是cflow的大小。所以如果这就是你的意思,两个维度都大于 10
-
是的,我是这个意思。可能有时会发生
cflow没有足够的元素。在致电kmeans之前先检查一下