且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

PCACompute opencv的回报特征向量= 0

更新时间:2023-02-26 14:49:44

我根据我的$ C $上的​​ http://www.bytefish.de/blog/pca_in_opencv
以下是我做:

I based my code on the example at http://www.bytefish.de/blog/pca_in_opencv. Here's how I did this:

    Vector trainingImages = new Vector();;
    trainingImages.add(Highgui.imread("/sdcard/facedatabase/s1/1.pgm",0));
    trainingImages.add(Highgui.imread("/sdcard/facedatabase/s1/2.pgm",0));

    Mat x = (Mat) trainingImages.get(0);
    int total = x.rows() * x.cols();

    // build matrix (column)
    // This matrix will have one col for each image and imagerows x imagecols rows
        Mat mat = new Mat(total, trainingImages.size(), CvType.CV_32FC1);
        for(int i = 0; i < trainingImages.size(); i++) {
            Mat X = mat.col(i);
            Mat c = (Mat) trainingImages.get(i);
            c.reshape(1,total).convertTo(X, CvType.CV_32FC1);
        }

    Mat eigenVectors = new Mat();
    Mat mean = new Mat();
    Core.PCACompute(mat, mean, eigenVectors);