C++ EM算法,读取并保存XML文件

C++ EM算法,读取并保存XML文件,c++,opencv,C++,Opencv,我想保存我的分类器,然后当我试图读回它时,它抛出分段错误。我试图弄明白,我认为这是opencv的一个错误 这是我的密码: bool result = model.train(samples,Mat(),ps,&lables); printf("Train Result %d\n",result); CvFileStorage *fs; fs = cvOpenFileStorage("skin_new.xml",NULL, CV_S

我想保存我的分类器,然后当我试图读回它时,它抛出分段错误。我试图弄明白,我认为这是opencv的一个错误

这是我的密码:

    bool result = model.train(samples,Mat(),ps,&lables);    
    printf("Train Result %d\n",result);        
    CvFileStorage *fs;
    fs =  cvOpenFileStorage("skin_new.xml",NULL, CV_STORAGE_WRITE);
    model.write_params(fs);
    cvReleaseFileStorage( &fs );
    CvFileStorage *fs1;
    //Reading back XML file
    fs1 =  cvOpenFileStorage("skin_new.xml",NULL , CV_STORAGE_READ);
    classifier.read_params(fs1,NULL);
    cvReleaseFileStorage( &fs1 );
    printf("XML reading done\n");
    //the two dominating colors
    Mat means = model.getMeans();//This step leads to segmentation error

我使用的是OpenCV 2.3.1。

我认为您是在Linux操作系统中开发的。因此,我认为您没有对skin_new.xml文件的访问权限

你可以用

chmod 777 skin_new.xml

但这是暂时的。我也面临着同样的问题。

您应该发布更多的代码,和/或检查前面的任何步骤是否在运行时失败(即确保对象正确初始化,文件成功打开,等等)。此外,为什么要混合C和C++ OpenCV API?