I wonder why there is sign difference in result for SVD computing in Matlab and OpenCV. I input the same matrix
3.65E+06 -2.09E+06 0 YY = -
The results of the SVD need not be unique. For example, I = UIV' for any unitary V = U. The example you give above in particular is rank deficient, so there is no reason to expect uniqueness.