昨天要实现一个idea,需要用到opencv中的svd分解。 为了对比也采用matlab的svd进行分解。
te =
3 2 2
2 3 -2
>> [u,w,v]=svd(te)
u =
-0.7071 -0.7071
-0.7071 0.7071
w =
5.0000 0 0
0 3.0000 0
v =
-0.7071 -0.2357 -0.6667
-0.7071 0.2357 0.6667
-0.0000 -0.9428 0.3333
opencv中的svd是按照这个方式:
cvSVD(te,w,u,v)与matlab中的(u,w,v)是不一样的,请注意顺序,其次我发现了opencv中的u,v与matlab的u,v刚好相反,想差一个负号,不过不影响最终结果。