1
在Android Opencv2.3.1中PCACompute有這個問題,因爲當我打電話給PCACompute時,我的特徵向量都是0.所以,我爲每個人拍攝10張照片,並將它保存到100X100的Mat中。 之後,將我的100X100墊一墊1X10000與此代碼:PCACompute Opencv return eigenvectors = 0
double [] elem = null;
for(int riga=0;riga<m.rows();riga++)
{
for(int colonna=0;colonna<m.cols();colonna++)
{
elem = m.get(riga, colonna);
mrow.put(0,((riga*100)+colonna), elem[0]);
}//for colonna
}//for riga
之後,當我把10張照片,我插入照片的所有墊成一個墊子,此代碼:
double b[] = null;
for (int i = 0; i< listafoto.size(); i++)
{
Mat t = listafoto.get(i);
for(int riga = 0;riga<t.rows();riga++)
{
for(int colonna =0;colonna<t.cols();colonna++)
{
b = t.get(riga, colonna);
datiOriginali.put(i, colonna, b[0]);
}//for colonna
}//for riga
}//for lista e contemporaneamente riga datiOriginali
之後,我打電話PCACompute與此代碼:`
org.opencv.core.Core.PCACompute(datiOriginali,mean, eigenvectors, 10);`
所以,datiOriginali是10行和10000點的cols輸入墊,平均值和本徵矢量是輸出馬特里X。平均矩陣給我一個結果,但特徵向量給我全部0.你能幫我解決這個問題嗎? 在此先感謝.MArco