0
我在計算特徵向量時出現問題,OpenCV中的值爲。我在Python(SciPy)中做了同樣的事情,但我在上移植我的代碼時遇到了麻煩。使用OpenCV計算特徵值,特徵向量
我有2矩陣瑞士法郎,銻其值:
Sw:[0.0112962962962963, 0.00675925925925926;
0.00675925925925926, 0.007962962962962963]
Sb:[0.0530787037037037, 0.01657407407407407;
0.01657407407407407, 0.004606481481481482]
對於瑞士法郎,銻,計算本徵值,本徵矢量的SciPy的使用上述值(Python)的以下:
from numpy import *
from scipy import linalg as la
evals,evecs = la.eig(Sw,Sb)
產生以下:
evals:
[ 0.17299805+0.j -8.47412141+0.j]
evecs:
[[ 1. -0.31926401]
[-0.54311321 1. ]]
我試圖端口上面的代碼的OpenCV(C++ API)
對於SW的相同的值,銻,計算特徵值和特徵向量中的OpenCV使用
cv::eigen(Sb,Sb_Eig_Val,Sb_Eig_Vec);
產量不同的值它是:
Sb_Eig_Val
[0.05820394496612978; -0.0005187597809445917]
Sb_Eig_Vec
[0.9553644860284983, 0.2954296850952915;
-0.2954296850952915, 0.9553644860284983]
我在這裏錯過了什麼嗎?
請修改您的問題,詢問您真正感興趣的知識。 – DSM 2012-03-15 20:01:50
這個問題可能適合在[scicomp](http://scicomp.stackexchange.com) – 2012-03-17 19:28:48