OpenCV3.2图像分割 实例4:GMM(高斯混合模型)样本数据训练与预言


1 #include <opencv2/opencv.hpp> 2 #include <iostream> 3 4 using namespace cv; 5 using namespace cv::ml; 6 using namespace std; 7 8 int main(int argc, char** argv) ; 19 20 int numCluster = rng.uniform(2, 5); 21 printf("number of clusters : %d\n", numCluster); 22 23 int sampleCount = rng.uniform(5, 1000); 24 Mat points(sampleCount, 2, CV_32FC1); 25 Mat labels; 26 27 // 生成随机数 28 for (int k = 0; k < numCluster; k++) 37 randShuffle(points, 1, &rng); 38 Ptr<EM> em_model = EM::create(); 39 em_model>setClustersNumber(numCluster); 40 em_model>setCovarianceMatrixType(EM::COV_MAT_SPHERICAL);//协方差矩阵 41 //训练次数设置为100 42 em_model>setTermCriteria(TermCriteria(TermCriteria::EPS + TermCriteria::COUNT, 100, 0.1)); 43 em_model>trainEM(points, noArray(), labels, noArray()); 44 45 // classify every image pixels 46 Mat sample(1, 2, CV_32FC1); 47 for (int row = 0; row < img.rows; row++) 55 } 56 57 // draw the clusters 58 for (int i = 0; i < sampleCount; i++) 62 imshow("GMMEM Demo", img); 64 65 waitKey(0); 66 return 0; 67 }



上一篇:ITK 实例2 连接门限对脑部MHA文件进行三维分割

下一篇:ITK 实例12 置信连接对PNG向量图像进行二维分割


OpenCV
Copyright © 2002-2019 k262电脑网 www.k262.cn 皖ICP备2020016292号
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!QQ:251442993 热门搜索 网站地图