2014-10-01 46 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(); 

与创建其他两个识别器的方式相同。