当前位置: 首页 > 网络知识

OpenCV3.2图像分割 实例2:KMeans对随机生成数据进行分类

时间:2026-01-29 09:25:27
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 实例1 连接门限对脑部切片PNG图像进行二维分割
下一篇:ITK 实例10 边缘保留平滑滤波对PNG图像进行二维滤波
OpenCV
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素