Commit 15076f92 authored by Andrey Kamaev's avatar Andrey Kamaev

Fix implementation of PCA overload with retained variance parameter

parent d0ec65e8
...@@ -2813,7 +2813,7 @@ PCA::PCA(InputArray data, InputArray _mean, int flags, int maxComponents) ...@@ -2813,7 +2813,7 @@ PCA::PCA(InputArray data, InputArray _mean, int flags, int maxComponents)
PCA::PCA(InputArray data, InputArray _mean, int flags, double retainedVariance) 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) PCA& PCA::operator()(InputArray _data, InputArray __mean, int flags, int maxComponents)
...@@ -3077,7 +3077,7 @@ void cv::PCAComputeVar(InputArray data, InputOutputArray mean, ...@@ -3077,7 +3077,7 @@ void cv::PCAComputeVar(InputArray data, InputOutputArray mean,
OutputArray eigenvectors, double retainedVariance) OutputArray eigenvectors, double retainedVariance)
{ {
PCA pca; PCA pca;
pca(data, mean, 0, retainedVariance); pca.computeVar(data, mean, 0, retainedVariance);
pca.mean.copyTo(mean); pca.mean.copyTo(mean);
pca.eigenvectors.copyTo(eigenvectors); pca.eigenvectors.copyTo(eigenvectors);
} }
......
...@@ -426,7 +426,7 @@ protected: ...@@ -426,7 +426,7 @@ protected:
} }
// 3. check C++ PCA w/retainedVariance // 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; diffPrjEps = 1, diffBackPrjEps = 1;
Mat rvPrjTestPoints = cPCA.project(rTestPoints.t()); Mat rvPrjTestPoints = cPCA.project(rTestPoints.t());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment