MCPcopy Create free account
hub / github.com/creatale/node-dv / cvBackProjectPCA

Function cvBackProjectPCA

deps/opencv/modules/core/src/matmul.cpp:3339–3365  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3337
3338
3339CV_IMPL void
3340cvBackProjectPCA( const CvArr* proj_arr, const CvArr* avg_arr,
3341 const CvArr* eigenvects, CvArr* result_arr )
3342{
3343 cv::Mat data = cv::cvarrToMat(proj_arr), mean = cv::cvarrToMat(avg_arr);
3344 cv::Mat evects = cv::cvarrToMat(eigenvects), dst0 = cv::cvarrToMat(result_arr), dst = dst0;
3345
3346 cv::PCA pca;
3347 pca.mean = mean;
3348 int n;
3349 if( mean.rows == 1 )
3350 {
3351 CV_Assert(data.cols <= evects.rows && dst.rows == data.rows);
3352 n = data.cols;
3353 }
3354 else
3355 {
3356 CV_Assert(data.rows <= evects.rows && dst.cols == data.cols);
3357 n = data.rows;
3358 }
3359 pca.eigenvectors = evects.rowRange(0, n);
3360
3361 cv::Mat result = pca.backProject(data);
3362 result.convertTo(dst, dst.type());
3363
3364 CV_Assert(dst0.data == dst.data);
3365}
3366
3367/* End of file. */

Callers

nothing calls this directly

Calls 5

cvarrToMatFunction · 0.85
backProjectMethod · 0.80
rowRangeMethod · 0.45
convertToMethod · 0.45
typeMethod · 0.45

Tested by

no test coverage detected