小编use*_*743的帖子

如何在Android上使用FaceDetector.Face进行人脸识别

这是我在这里的第一篇文章,所以如果我的问题不清楚或者提供的信息不足,我很抱歉.

我目前正在开发一款能够识别照片中脸部的Android应用程序.

我的第一个方法是使用JavaCV并且一切正常,除了面部检测需要花费太多时间才能完成的事实!

之后,我尝试使用FaceDetector.Face检测面部.然后我使用检测到的面部来训练我的脸部识别器模型.到目前为止没有发现任何错误.

我的问题是我的模型无法识别FaceDetector.Face给出的任何检测到的面部.我总是从预测函数得到-1.有人能说出什么可能是错的吗?先感谢您!

这是我在检测后裁剪面部的方法:

    for(int count=0;count<NUMBER_OF_FACE_DETECTED;count++)
    {
        Face face=detectedFaces[count];
        PointF midPoint=new PointF();
        face.getMidPoint(midPoint);         
        eyeDistance=face.eyesDistance();

        left = midPoint.x - (float)(1.4 * eyeDistance);
        top = midPoint.y - (float)(1.8 * eyeDistance);

        bmFace = Bitmap.createBitmap(origiImage, (int) left, (int) top, (int) (2.8 * eyeDistance), (int) (3.6 * eyeDistance));          
        bmFaces.add(bmFace);
    }
Run Code Online (Sandbox Code Playgroud)

这是培训模型的主要部分.

    MatVector images = new MatVector(imageFiles.length);            
    int[] labels = new int[imageFiles.length];

    IplImage img;
    IplImage grayImage;
    FaceRecognizer faceRecognizer = createLBPHFaceRecognizer(1, 8, 8, 8, binaryTreshold);
    try
    {          
        FileInputStream fstream = new FileInputStream(working_Dir.getAbsolutePath()+"/csv.txt");
        BufferedReader br = …
Run Code Online (Sandbox Code Playgroud)

android face-recognition face-detection javacv

7
推荐指数
1
解决办法
4808
查看次数