描述:
OpenCV Error: Assertion failed (data0.dims <= 2 && type == 5 && K > 0) in kmeans, file /tmp/binarydeb/ros-kinetic-opencv3-3.3.1/modules/core/src/kmeans.cpp, line 243
terminate called after throwing an instance of ‘cv::Exception’
what(): /tmp/binarydeb/ros-kinetic-opencv3-3.3.1/modules/core/src/kmeans.cpp:243: error: (-215) data0.dims <= 2 && type == 5 && K > 0 in function kmeans
错误原因是 : 输入的要聚类的Mat数据类型不是 CV_32F。
解决办法 : 需要强制转换成CV_32F型的Mat。
代码如下:
Mat floatDes;
Descriptors.convertTo(floatDes,CV_32F);