| 3337 | |
| 3338 | |
| 3339 | CV_IMPL void |
| 3340 | cvBackProjectPCA( 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. */ |
nothing calls this directly
no test coverage detected