est ici la matrice origial que je veux inverser:cvInvert() de la matrice renvoie 0 matrice? mais le retour des valeurs réelles dans Matlab
rows: 5
cols: 5
dt: f
data: [ 927321., 1014163., 923303., 923303., 947641., 1014163.,
1260101., 1062130., 1062130., 1102823., 923303., 1062130.,
1004488., 1004488., 990651., 923303., 1062130., 1004488.,
1004488., 990651., 947641., 1102823., 990651., 990651., 1116004. ]
et en utilisant cette ligne pour inverser la matrice ci-dessus:
cvInvert(Mult, Inv, CV_LU);
La matrice est revenu après inverse est-ce :
rows: 5
cols: 5
dt: f
data: [ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0. ]
et selon la documentation:
Dans le cas de la méthode LU, la fonction renvoie le déterminant src1 (src1 doit être carré). S'il vaut 0, la matrice n'est pas inversée et src2 est remplie de zéros.
Mais la chose étrange est que je demandé à mon ami de faire la même chose dans Matlab en utilisant cette même matrice et il retourne une matrice non nulle .. cela signifie que le facteur déterminant est non nul .. alors pourquoi OpenCV pense que le déterminant est nul?
Merci
Risque de débordement? Ces chiffres sont assez gros, mais je ne suis pas familier avec la taille de la mémoire de float/double/nombres sur Opencv pour dire à coup sûr. –