Kmeans断言错误:我的垫子不是空的
Kmeans Assertion error: my Mat isn't empty though
我的kmeans()
函数失败,错误:
OpenCV错误:断言失败(N>= K)在cv::kmeans,文件C:buildsmaster_Pacopencvmodulescoresrckmeans.cpp,第231行
我的错误是什么?'N>= K'必须意味着它检查Mat行*cols(长度)是否>集群-我的是(我认为)。我的Mat有1行,大约80k列。我的Mat
是我传递的第一个参数(对于kmeans)的像素/体素数据空吗?我已经确认这个参数是一个"折叠"图像(1行,80K列)。所以它不是完全空的,但它可以全部都是黑色像素这可能是错误?
Mat image = imread("images/jp.png", CV_32F); // The Jurassic Park movie logo
cvtColor(image, image, CV_BGR2RGB);
Mat collapsedImage = image.reshape(1, 1);
collapsedImage.convertTo(collapsedImage, CV_32F);
int clusterCount = 2;
Mat labels, centres;
// Assertion error thrown here
kmeans(collapsedImage, clusterCount, labels,
TermCriteria(TermCriteria::EPS + TermCriteria::COUNT, 10, 1.0),
3, KMEANS_PP_CENTERS, centres);
imshow("flat", collapsedImage); // shows long flat with all black pixels
imshow("image", image);
看起来问题是我的重塑。应该是:
Mat collapsedImage = image.reshape(1, image.rows * image.cols);
相关文章:
- OpenCV - Python 断言错误:SAD 算法 - 立体相机视差图计算
- 我收到一个断言错误,但是当我编写 cout 语句时,它会消失
- 尝试删除指向派生对象的基指针时断言错误
- Sysmalloc:使用向量的断言错误
- OpenCV CV 查找单应断言错误计数器 = > 4
- Mat的convertTo函数在OpenCV中将灰度图像的类型转换为CV_32F时抱怨断言错误
- 是什么导致我的C 代码中的断言错误
- 迭代器取消引用断言错误
- boost::shared_ptr 断言错误与 boost::asio:io_service
- CDao数据库断言错误
- STL 迭代器:断言错误
- 断言错误,字符串下标超出范围
- 调试断言错误-OpenCV
- 向量push_back会导致断言错误,但列表push_back有效
- 如何在子进程中禁用断言错误对话框
- OpenCV.norm中的断言错误
- 将功能区添加到现有的非功能区 mfc 项目 - 在 VS2010 中断言错误
- 访问指向像素openCV的指针时发生断言错误
- 断言错误,即使在使用 new 初始化字符指针后也是如此
- 使用结构向量 c++ 的断言错误