Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
opencv android人脸识别_Android_Opencv_Face Recognition_Facebook Sdk 3.1 - Fatal编程技术网

opencv android人脸识别

opencv android人脸识别,android,opencv,face-recognition,facebook-sdk-3.1,Android,Opencv,Face Recognition,Facebook Sdk 3.1,这是我下载的人脸识别代码 注: //我在这一行遇到了一个错误。它说它需要一个垫子,一旦我把它添加到den,它说不能//从垫子转换到void。。我如何解决这个问题 } catch (MalformedURLException e) { /* ... */ e.printStackTrace(); } catch (IOException e) { /* ... */ e.printStackTrace(); } Loader.load(opencv_obj

这是我下载的人脸识别代码

注: //我在这一行遇到了一个错误。它说它需要一个垫子,一旦我把它添加到den,它说不能//从垫子转换到void。。我如何解决这个问题

    } catch (MalformedURLException e) { /* ... */ e.printStackTrace();
    } catch (IOException e)     { /* ... */ e.printStackTrace();
    }

    Loader.load(opencv_objdetect.class);  

    try {

        InputStream is = context.getResources().openRawResource(R.raw.haarcascade_frontalface_alt);
        File cascadeDir = context.getDir("cascade", Context.MODE_PRIVATE);
        File cascadeFile = new File(cascadeDir, "lbpcascade_frontalface.xml");
        FileOutputStream os = new FileOutputStream(cascadeFile);

        byte[] buffer = new byte[4096];
        int bytesRead;
        while ((bytesRead = is.read(buffer)) != -1) {
            os.write(buffer, 0, bytesRead);
        }
        is.close();
        os.close();

        mCascade = new CascadeClassifier(cascadeFile.getAbsolutePath());
        if (mCascade.empty()) {
                Log.e("TAG", "Failed to load cascade classifier");
                mCascade = null;
        } else
            Log.i("TAG", "Loaded cascade classifier from " + cascadeFile.getAbsolutePath());

        cascadeFile.delete();
        cascadeDir.delete();

    } catch (IOException e) {
        e.printStackTrace();
        Log.e("TAG", "Failed to load cascade. Exception thrown: " + e);
    }

    LinkedList<Rect> facesdetection = new LinkedList<Rect>();

    mCascade.detectMultiScale(imageMat, facesdetection);

    Bitmap imageBitmap = null;
    for (Rect r : facesdetection){  
        Core.rectangle(imageMat, r.tl(), r.br(), new Scalar(0, 255, 0, 255), 2); 
    }

    imageBitmap = Bitmap.createBitmap(imageMat.cols(), imageMat.rows(), Bitmap.Config.ARGB_8888);
    Utils.matToBitmap(imageMat, imageBitmap);
    imageView.setImageBitmap(imageBitmap); 
}
}不会返回任何内容。您必须将结果作为参数传递,如下所示:

imageMat = new Mat();
org.opencv.android.Utils.bitmapToMat(fbImage.copy(Bitmap.Config.ARGB_8888,true), imageMat);

上面是人脸检测还是不人脸?不是人脸识别是谁?
imageMat = new Mat();
org.opencv.android.Utils.bitmapToMat(fbImage.copy(Bitmap.Config.ARGB_8888,true), imageMat);