昨天要实现一个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函数在计算奇异值分解时的不同之处,注意到两者在输出顺序及矩阵元素上存在差异,但不影响最终结果的正确性。
&spm=1001.2101.3001.5002&articleId=8030834&d=1&t=3&u=d45cbf654064475fbc3a8a0c6ec24ff7)
2498

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



