Fix implementation of PCA overload with retained variance parameter
authorAndrey Kamaev <andrey.kamaev@itseez.com>
Mon, 22 Oct 2012 14:39:56 +0000 (18:39 +0400)
committerAndrey Kamaev <andrey.kamaev@itseez.com>
Mon, 22 Oct 2012 14:46:20 +0000 (18:46 +0400)
modules/core/src/matmul.cpp
modules/core/test/test_mat.cpp

index af8c575..9b38685 100644 (file)
@@ -2813,7 +2813,7 @@ PCA::PCA(InputArray data, InputArray _mean, int flags, int maxComponents)
 
 PCA::PCA(InputArray data, InputArray _mean, int flags, double retainedVariance)
 {
-    operator()(data, _mean, flags, retainedVariance);
+    computeVar(data, _mean, flags, retainedVariance);
 }
 
 PCA& PCA::operator()(InputArray _data, InputArray __mean, int flags, int maxComponents)
@@ -3077,7 +3077,7 @@ void cv::PCAComputeVar(InputArray data, InputOutputArray mean,
                     OutputArray eigenvectors, double retainedVariance)
 {
     PCA pca;
-    pca(data, mean, 0, retainedVariance);
+    pca.computeVar(data, mean, 0, retainedVariance);
     pca.mean.copyTo(mean);
     pca.eigenvectors.copyTo(eigenvectors);
 }
index 8c72789..514b587 100644 (file)
@@ -426,7 +426,7 @@ protected:
         }
 
         // 3. check C++ PCA w/retainedVariance
-        cPCA( rPoints.t(), Mat(), CV_PCA_DATA_AS_COL, retainedVariance );
+        cPCA.computeVar( rPoints.t(), Mat(), CV_PCA_DATA_AS_COL, retainedVariance );
         diffPrjEps = 1, diffBackPrjEps = 1;
         Mat rvPrjTestPoints = cPCA.project(rTestPoints.t());