0

我在这里找到了演示代码:https ://github.com/googlesamples/android-vision/blob/master/visionSamples/FaceTracker/app/src/main/java/com/google/android/gms/samples/vision/face /facetracker/FaceTrackerActivity.java

我的问题是如何在检测到人脸时拍照并将其保存到设备,当我们拍摄第一张照片时,下一张照片将在检测到人脸时 5 秒后拍摄,因为我们无法将多张照片保存到设备。

4

1 回答 1

0

您必须在相机 API 中添加 FaceDetectionListener 然后调用 startFaceDetection() 方法,

CameraFaceDetectionListener fDListener = new CameraFaceDetectionListener();
mCamera.setFaceDetectionListener(fDetectionListener);
mCamera.startFaceDetection();

实现Camera.FaceDetectionListener,你在onFaceDetection覆盖方法中接收到检测到的人脸,

private class MyFaceDetectionListener 
          implements Camera.FaceDetectionListener {

@Override
public void onFaceDetection(Face[] faces, Camera camera) {

    if (faces.length == 0) {
        Log.i(TAG, "No faces detected");
    } else if (faces.length > 0) {
        Log.i(TAG, "Faces Detected = " + 
              String.valueOf(faces.length));

        public List<Rect> faceRects;
        faceRects = new ArrayList<Rect>();

        for (int i=0; i<faces.length; i++) {
            int left = faces[i].rect.left;
            int right = faces[i].rect.right;
            int top = faces[i].rect.top;
            int bottom = faces[i].rect.bottom;
            Rect uRect = new Rect(left0, top0, right0, bottom0);
            faceRects.add(uRect);
        }

        // add function to draw rects on view/surface/canvas
    }
}

根据您的情况, new Handler().postDelayed(new Runnable,long seconds) 在 5 秒后在 runnable 内拍摄第二张照片。如果您有任何疑问,请告诉我。

于 2017-03-09T09:41:18.280 回答