OpenCV3.2图像分割 实例2:KMeans对随机生成数据进行分类
1 #include <opencv2/opencv.hpp> 2 #include <iostream> 3 4 using namespace cv; 5 using namespace std; 6 7 int main(int argc, char** argv) ; 18 19 int numCluster = rng.uniform(2, 5);//定义分类种类数量块 20 printf("number of clusters : %d\n", numCluster); 21 //设置从原图像中抽取多少个数据点 22 int sampleCount = rng.uniform(5, 1000); 23 Mat points(sampleCount, 1, CV_32FC2); 24 Mat labels; 25 Mat centers; 26 27 // 生成随机数 28 for (int k = 0; k < numCluster; k++) 38 randShuffle(points, 1, &rng); 39 40 // 使用KMeans 41 kmeans(points, numCluster, labels, TermCriteria(TermCriteria::EPS + TermCriteria::COUNT, 10, 0.1), 3, KMEANS_PP_CENTERS, centers); 42 43 // 用不同颜色显示分类 44 img = Scalar::all(255); 45 for (int i = 0; i < sampleCount; i++) 50 51 // 每个聚类的中心来绘制圆 52 for (int i = 0; i < centers.rows; i++) 58 59 imshow("KMeansDataDemo", img); 60 waitKey(0); 61 return 0; 62 }
可见,随机生成的数据被分成了四块,每块的中心坐标如下:
上一篇:ITK 实例8 PNG图像进行不带滤波的二维导函数提取
下一篇:ITK 实例10 边缘保留平滑滤波对PNG图像进行二维滤波
OpenCV
pla文件怎么看,pla文件用什么打开?
pl1文件怎么看,pl1文件用什么打开?
pl文件怎么看,pl文件用什么打开?
pl0文件怎么看,pl0文件用什么打开?
pkt文件怎么看,pkt文件用什么打开?
pkm文件怎么看,pkm文件用什么打开?
pks文件怎么看,pks文件用什么打开?
pka文件怎么看,pka文件用什么打开?
pkh文件怎么看,pkh文件用什么打开?
pkg文件怎么看,pkg文件用什么打开?