Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
谁能给我一个关于如何使用 Cimg 为 3 维数组计算 SVD 的快速指南?我只想对数组进行分解,以便将其压缩到很小以加快进一步处理。我应该在哪里输入什么值,以及如何获得输出?我一直在搜索,但仍然无法理解它是如何工作的。并没有真正完全理解 SVD 的工作原理。只知道它可以用来解压缩矩阵。
同时我发现 OpenCV 和 Eigen 库也可以完成这项工作,如果更容易的话,请告诉我他们的步骤..
(对我来说,替代 SVD 的是 PCA,我找到了它的源/库,但也不知道如何使用..)
谢谢!
见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