fixed U non-orthogonality in SVD (http://code.opencv.org/issues/3801)

This commit is contained in:
Vadim Pisarevsky
2015-04-29 16:09:58 +03:00
parent 135fa85e8f
commit 7918267d02
2 changed files with 15 additions and 1 deletions

View File

@@ -527,7 +527,7 @@ JacobiSVDImpl_(_Tp* At, size_t astep, _Tp* _W, _Tp* Vt, size_t vstep,
At[i*astep + k] = t;
asum += std::abs(t);
}
asum = asum ? 1/asum : 0;
asum = asum > eps*100 ? 1/asum : 0;
for( k = 0; k < m; k++ )
At[i*astep + k] *= asum;
}