昨天要实现一个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刚好相反,想差一个负号,不过不影响最终结果。
本文探讨了opencv中的cvSVD函数与matlab的svd函数在计算奇异值分解时的不同之处,注意到两者在输出顺序及矩阵元素上存在差异,但不影响最终结果的正确性。
1220

被折叠的 条评论
为什么被折叠?



