una rango propiedades matriz ejemplos como calcular ampliada 4x4 4x3 3x3 2x2 c++ visual-studio-2008 opencv

c++ - propiedades - rango de una matriz ampliada



opencv calcular el rango de la matriz (1)

Estoy tratando de encontrar el rango de una matriz. En matlab esto es bastante directo, pero estoy usando Visual Studio 2008 (c ++). Recientemente instalé openCV y funciona para la mayoría de mi aritmética de matriz hasta el momento, excepto que no puedo entender cómo usar openCV para obtener el rango de una matriz. En mi investigación en línea, encontré que aparentemente cvSVD puede darme rango http://www.emgu.com/wiki/files/1.3.0.0/html/55d6f4d2-223d-8c55-2770-2b6a9c6eefa2.htm

Pero no tengo idea de cómo cvSVD devolverá esta propiedad en particular. ¿Alguna idea sobre cómo obtener el rango matricial de openCV?

Gracias.


Lea lo siguiente

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

en la sección Rango, espacio nulo y rango , explica cómo obtener el rango de los valores singulares. Citando esta página:

Como consecuencia, el rango de M es igual al número de valor singular distinto de cero

Entonces, básicamente, puedes contar el número de valores singulares distintos de cero y ese es el rango. De acuerdo con el enlace que proporciona en la pregunta, su función de cálculo SVD en opencv debería devolverle una matriz o vector de valores singulares; si se trata de una matriz, los valores singulares se encuentran en la diagonal principal de esta matriz. Desde aquí deberías estar bien. Puede haber una manera más simple, pero no estoy familiarizado con opencv.