Emgu cvEigenVV - great result from matlab eigs

I am trying to calculate eigenvectors and matrix values ​​using the Emgu CV method, cvEigenVV. But the result of the calculated eigenvectors is different from what I got with the matlab eigs function before ... the numbers are the same, but their signs are different! any ideas why this is so? ad what should i do ?! here is the code I wrote in Emgu CV:

epsilon = 0.0;
image_eigen_vectors = new Matrix<double>(image_covariance.Rows, image_covariance.Cols);
image_eigen_values = new Matrix<double>(image_covariance.Rows, 1);
CvInvoke.cvEigenVV(image_covariance, image_eigen_vectors, image_eigen_values, epsilon, 0, 0);

and here is the code I used in matlab:

[eigen_vectors eigen_value]=eigs(covariance_convert, 87);

help me please! thanks in advance!

+4
source share

All Articles