2014-10-01 47 views
1

我使用openCV 2.4.9 Java庫,我有幾個問題來實現一些FaceRecognizer。我知道,在C++中,類contrib.FaceRecognizer是Abastract,但我不知道它是否也發生在Java庫(實際上Java文檔太稀缺了!)。不管怎麼說,這裏是我試圖調用類:FaceRecognizer與openCV

FaceRecognizer rec = new FaceRecognizer();

FaceRecognizer rec = null;

FaceRecognizer rec;

最後,我想打電話給TrainPredict方法這個方法:

public static void main(String[] args) { 
    // TODO code application logic here 
    System.loadLibrary(Core.NATIVE_LIBRARY_NAME); 
    FaceRecognizer rec = null; 
    List<Mat> images; 
    images = new ArrayList<Mat>(); 
    images.add(Highgui.imread("/home/adriano/Desktop/fotos/gabi/1.jpg")); 
    images.add(Highgui.imread("/home/adriano/Desktop/fotos/gabi/2.jpg")); 
    images.add(Highgui.imread("/home/adriano/Desktop/fotos/gabi/3.jpg")); 
    images.add(Highgui.imread("/home/adriano/Desktop/fotos/estevao/1.jpg")); 
    images.add(Highgui.imread("/home/adriano/Desktop/fotos/estevao/2.jpg")); 
    images.add(Highgui.imread("/home/adriano/Desktop/fotos/estevao/3.jpg")); 

    Mat labels = new Mat(1, 6, CvType.CV_8UC1, Scalar(0)); 
    // How can I add some values different from 0 to this Mat? 


    rec.train(images, labels); 


    // Predicts the label 
    System.out.println(testando.predict(Highgui.imread("/home/adriano/Desktop/fotos/gabi/4.jpg")); 


    } 

歡迎任何幫助(:

+0

http://answers.opencv.org/question/34342/missing-createfisherfacerecognizer-method-on/ – berak 2014-10-01 05:19:53

回答

1

使facerecognizer可以使用

FaceRecognizer rec=createLBPHFaceRecognizer(); 

FaceRecognizer rec=createEigenFaceRecognizer(); 

FaceRecognizer rec=createFisherFaceRecognizer(); 
1

由於OpenCV的V3.0,創建FaceRecognizer的方法是,如:

faceRecognizer = LBPHFaceRecognizer.create(); 

與創建其他兩個識別器的方式相同。