1

谁能给我一个关于如何使用 Cimg 为 3 维数组计算 SVD 的快速指南?我只想对数组进行分解,以便将其压缩到很小以加快进一步处理。我应该在哪里输入什么值,以及如何获得输出?我一直在搜索,但仍然无法理解它是如何工作的。并没有真正完全理解 SVD 的工作原理。只知道它可以用来解压缩矩阵。

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

(对我来说,替代 SVD 的是 PCA,我找到了它的源/库,但也不知道如何使用..)

谢谢!

4

1 回答 1

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
于 2011-11-06T19:14:36.527 回答