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