void CBsqViewView::OnKmeans() { // TOD0:Add your comnand handler code here if(m_fileopen == false) { MessageBox("还没有打开任何图象文件!","Error",MB_ICONERROR); return; } CUnsupervised funsupervised; CString fileoutname; fileoutname="KMeansC"; CKmeans cs; cs.DoModal(); int t=cs.m_number; int n=cs.m_class; double h=cs.m_limit; //调用K均值函数 funsupervised.k_means(Width, Height, Bands,n,t,h,m_pathname,fileoutname); }
时间: 2024-01-08 15:01:50 浏览: 80
tod0:Microsoft To-Do的终端客户端
这是一个 MFC 应用程序中的一个命令处理程序,用于执行 K 均值聚类算法。
首先会检查是否打开了图像文件,如果没有打开,会显示一个错误消息框并返回。
然后创建一个未监督学习类 CUnsupervised 的对象 funsupervised,并设置输出文件名为 "KMeansC"。
接着创建一个 CKmeans 对话框,调用它的 DoModal() 函数以显示对话框并等待用户输入。获取对话框中的聚类数(n)、迭代次数(t)和收敛阈值(h)。
最后,调用 funsupervised 对象的 k_means 函数,对图像进行 K 均值聚类,将输出结果保存到指定的文件中。
阅读全文