如何使用Cimg(或者openCV或特征库)计算SVD?

时间:2011-01-18 06:11:21

标签: opencv cimg svd pca eigen

任何人都可以给我一个关于如何使用Cimg为三维数组计算SVD的快速指南吗? 我只是希望得到数组的分解,以便将其压缩得很小,以加快进一步的处理速度。 我应该在哪里输入什么值,以及如何获得输出? 我一直在寻找,但仍然无法理解它是如何工作的。并没有完全理解SVD如何工作......只知道它可以用来解压缩矩阵。

同时我发现OpenCV和Eigen库也可以完成这项工作,如果更容易让我知道他们的步骤..

(替代我而不是SVD是PCA,我发现它的源/库但也不知道如何使用..)

谢谢!

1 个答案:

答案 0 :(得分:0)

请参阅http://cimg.sourceforge.net/reference/structcimg__library_1_1CImg.html#a9a79f3a0849388b3ec13bd140b67a12e

CImg<float> A(3,3); // A = U'*S*V
A.rand(0,1);
CImgList<float> USV = A.get_SVD(); //USV[0] = U and so forth