加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – K-means算法出错

发布时间:2020-12-16 07:31:10 所属栏目:百科 来源:网络整理
导读:我使用以下调用openCV函数来执行K-means算法: cvKMeans2(points,count,clusters,cvTermCriteria( CV_TERMCRIT_EPS+CV_TERMCRIT_ITER,10,1.0 ),1,CV_KMEANS_USE_INITIAL_LABELS,centers); 哪里 image2 = cvLoadImage( "lab.jpg",0);points = cvCreateMat( im
我使用以下调用openCV函数来执行K-means算法:

cvKMeans2(points,count,&clusters,cvTermCriteria( CV_TERMCRIT_EPS+CV_TERMCRIT_ITER,10,1.0 ),1,CV_KMEANS_USE_INITIAL_LABELS,centers);

哪里

image2 = cvLoadImage( "lab.jpg",0);
points = cvCreateMat( image2->height,image2->width,CV_32FC1 );    
cvConvert(image2,points);
//count= number of clusters.
CvMat* centers; // To store the center of each cluster. (output).

lab.jpg是CIE L * a * b *格式的图像.

但上面的行在编译时显示以下错误:

`CV_KMEANS_USE_INITIAL_LABELS' undeclared (first use in this function) 

too many arguments to function `cvKMeans2'

如果有人可以指出哪里出错,那将是非常有帮助的,特别是第一个错误,即KMEANS_USE_INITIAL_LABELS未声明.

提前致谢 !

解决方法

从 opencv doc开始cvKMeans2:

flags – Can be 0 or CV_KMEANS_USE_INITIAL_LABELS.

你遗漏了CV_.

编辑:还要注意termcrit和flags之间应该有两个参数,所以你要跳过尝试或rng.尝试

cvKMeans2(points,centers);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读