0

我想找到图像数据集的协方差矩阵。为此我编写了以下代码:

int main()
{
    IplImage** dataset=new IplImage*[400];
    CvArr* cov_result = cvCreateMat(10304,10304,CV_64FC1);
    CvArr* mean_result = cvCreateMat(10304,10304,CV_64FC1);
    char* temp=new char[20];
    char* x=new char[3];
    char* y=new char[3];
    for (int i=0;i<40;i++)
        for (int j=0;j<10;j++)
        {
            itoa(i+1,x,10);
            itoa(j+1,y,10);
            strcpy(temp,"orl_faces\\s");
            strcat(temp,x);
            strcat(temp,"\\");
            strcat(temp,y);
            strcat(temp,".pgm");
            dataset[i]=cvLoadImage(temp,1); 
        }``
    cvCalcCovarMatrix((constvoid**)dataset,400,cov_result,mean_result,CV_COVAR_NORMAL);
    return 0;
}

它从特定目录加载图像并以 iplimage* 格式写入。但是当我试图计算协方差时,我得到了一个错误。我的代码有什么问题?谁能帮助我?

4

0 回答 0