⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 splitclasses.cpp

📁 混合高斯模型的C++程序
💻 CPP
字号:
#include "clust_defs.h"#include "alloc_util.h"#include "clust_util.h"#include "clust_io.h"int SplitClasses(int argc, char *argv[]) {    FILE *fp;    int i,j,k,l;    SigSet Sin,Sout;    ClassSig *Sig;    char *paramfnameIn,*paramfnameOut;    if( argc!=3 ) {      fprintf(stderr,"\nUsage: %s InputParameters OutputParameters Error\n",argv[0]);      exit(-1);    }    /* Read Command Line */    paramfnameIn = argv[1];    paramfnameOut = argv[2];    /* Read SigSet from parameter file */    if((fp=fopen(paramfnameIn,"r"))==NULL) {      fprintf(stderr, "\nError: Can't open parameter file %s",paramfnameIn);       exit(-1);    }    I_ReadSigSet (fp,&Sin);    fclose(fp);    /* Initialize SigSet data structure */    I_InitSigSet (&Sout);    I_SigSetNBands (&Sout, Sin.nbands);    I_SetSigTitle (&Sout, "signature set for unsupervised clustering");    /* Copy each subcluster (subsignature) from input to cluster (class signature) of output */    for(k=0; k<Sin.nclasses; k++) {      for(l=0; l<(Sin.classSig[k].nsubclasses); l++) {        Sig = I_NewClassSig(&Sout);        I_SetClassTitle (Sig, "Single Model Class");        I_NewSubSig (&Sout, Sig);        Sig->subSig[0].pi = 1.0;        for(i=0; i<Sin.nbands; i++) {          Sig->subSig[0].means[i] = Sin.classSig[k].subSig[l].means[i];        }        for(i=0; i<Sin.nbands; i++)        for(j=0; j<Sin.nbands; j++) {          Sig->subSig[0].R[i][j] = Sin.classSig[k].subSig[l].R[i][j];        }      }    }    /* Write out result to output parameter file */    if((fp=fopen(paramfnameOut,"w"))==NULL) {      fprintf(stderr, "\nError: Can't open parameter file %s",paramfnameOut);     }    I_WriteSigSet(fp, &Sout);    fclose(fp);                                                                                    /* De-allocate cluster signature memory */    I_DeallocSigSet (&Sin);    I_DeallocSigSet (&Sout);    return(0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -