opencv计算矩阵秩

opencv calculate matrix rank

本文关键字:计算 opencv      更新时间:2023-10-16

我正试图找到矩阵的秩。在matlab中,这是相当直接的,但我使用的是visualstudio2008(c++)。我最近安装了openCV,到目前为止,它适用于我的大多数矩阵运算,只是我不知道如何使用openCV来获得矩阵的秩。在我的网上研究中,我发现cvSVD显然可以给我排名http://www.emgu.com/wiki/files/1.3.0.0/html/55d6f4d2-223d-8c55-2770-2b6a9c6eefa2.htm

但我不知道cvSVD将如何返回这个特定的属性。关于从openCV获得矩阵排名,有什么想法吗???

谢谢。

阅读以下

http://en.wikipedia.org/wiki/Singular_value_decomposition#Applications_of_the_SVD

范围、空空间和秩一节中,它解释了如何从奇异值中获得秩。引用此页面:

因此,M的秩等于非零奇异数值

所以基本上你可以计算非零奇异值的数量,这就是秩。根据您在问题中提供的链接,您在opencv中的SVD计算函数应该向您返回奇异值的矩阵或向量——如果它是矩阵,则奇异值位于该矩阵的主对角线上。从这里开始,你应该没事。也许有一个更简单的方法,但我不熟悉opencv。