简单使用 cvCalcPCA 计算主成分的代码

简单使用 cvCalcPCA 计算主成分的代码

            CvMat *  pData  =  cvCreateMat( 100 2 , CV_32FC1);   // 二维数据点
             for ( int  i  =   0 ; i  <   100 ; i ++ )
            
{
                cvSet2D(pData, i, 
0,cvRealScalar(i));
                cvSet2D(pData, i, 
1,cvRealScalar(i));
            }


            CvMat
*  pMean  =  cvCreateMat( 1 2 , CV_32FC1);
            CvMat
*  pEigVals  =  cvCreateMat( 1 2 , CV_32FC1);
            CvMat
*  pEigVecs  =  cvCreateMat( 2 2 , CV_32FC1);

            cvCalcPCA(pData, pMean, pEigVals, pEigVecs, CV_PCA_DATA_AS_ROW );

            
float  pp[ 100 ];
            memcpy(pp,pEigVals
-> data.fl, 100  );
            memcpy(pp,pEigVecs
-> data.fl, 100  );
            memcpy(pp,pMean
-> data.fl, 100  );

 

你可能感兴趣的:(float)