OpenCV kmeans: N>=K 异常 , 错误 (-215)
OpenCV kmeans: N>=K exception , error (-215)
我的代码如下:
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);
我想出了以下错误:
误差: (-215) N>= K 在函数 K 表示 中。
显然 N>=K ,但是我如何重塑它以使其工作?
该误差意味着(5维)点N
(即矩阵p
的行)的数量小于K
。
显然,您不能将N (<K)
点聚类到K
聚类。
确保矩阵p
始终至少有 K
行,并放置如下控制语句:
int K = 10;
if(p.rows < K) {
// can't run kmeans with K cluster...
} else {
// kmeans(p, K, ...);
}
在打电话给kmeans
之前。
相关文章:
- VisualC++ 2010 有没有办法找出有关未处理异常错误的更多详细信息
- 打开CV异常错误,尽管我的代码是正确的
- 异常错误C++ //Visual Studio
- 提升序列化异常错误
- 返回内存异常错误的矢量
- 使用用户定义的函数查找完美数时出现浮点异常错误
- cv::内存位置出现异常错误
- OpenCV未经处理的异常错误
- 分数简化算法,浮点异常错误
- 为什么我会收到浮点异常错误
- 文本框为空时,C++Windows窗体应用程序出现未处理的异常错误
- 文本框为空时C++ Windows 窗体应用程序未处理的异常错误
- 函数传递映射时出现异常错误
- 在MS Visual Studio 2010上使用带有Cuda互操作的OpenGL缓冲区时出现异常错误
- 未处理的异常错误
- C++:关闭控制台应用后出现异常错误
- 写入对象时运行时引发异常错误
- C++ C# 包装器空异常错误
- Coin3D(Open Inventor)中出现未处理的异常错误
- Stack Pop()函数出现未处理的异常错误