如何在android中使用FaceDetector的摄像头资源?

如何在android中使用FaceDetector的摄像头资源?,android,camera,face-detection,Android,Camera,Face Detection,我想在android中使用FaceDetector。 我用位图图像尝试了FaceDetector,效果很好 (借助于:) 现在,我想在摄像机打开时检测人脸。文件写道: 或者,可以在管道结构内使用检测器,例如: 与源(例如CameraSource)和处理器(例如。, 最大的FaceFocusingProcessor),使您能够公平地构建 先进的检测管道,编码最少。例如 下面的代码创建并启动一个连续接收 前向摄影机的摄影机源中的预览帧,运行 检测帧,管理最突出人脸的跟踪, 并随着时间的推移将持续更新

我想在android中使用
FaceDetector
。 我用位图图像尝试了
FaceDetector
,效果很好

(借助于:)

现在,我想在摄像机打开时检测人脸。文件写道:

或者,可以在管道结构内使用检测器,例如: 与源(例如CameraSource)和处理器(例如。, 最大的FaceFocusingProcessor),使您能够公平地构建 先进的检测管道,编码最少。例如 下面的代码创建并启动一个连续接收 前向摄影机的摄影机源中的预览帧,运行 检测帧,管理最突出人脸的跟踪, 并随着时间的推移将持续更新通知发送到 开发人员定义的“FaceTracker”实例

它提供的代码:

detector.setProcessor(
   new LargestFaceFocusingProcessor(
     detector,
     new FaceTracker()));

 CameraSource cameraSource = new CameraSource.Builder(context, detector)
   .setFacing(CameraSource.CAMERA_FACING_FRONT)
   .setRequestedPreviewSize(320, 240)
   .build()
   .start();
我想在我的代码中实现这一点:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        FaceDetector detector = new FaceDetector.Builder(this)
                .setProminentFaceOnly(true)
                .build();
        detector.setProcessor(
                new LargestFaceFocusingProcessor(
                        detector,
                        new FaceTracker()));

        try {
            CameraSource cameraSource = new CameraSource.Builder(this, detector)
                    .setFacing(CameraSource.CAMERA_FACING_FRONT)
                    .setRequestedPreviewSize(320, 240)
                    .build()
                    .start();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    class FaceTracker extends Tracker
    {
        public void onDone ()
        {

        }


    }

}

但是,我们无法前进。你能帮我进一步编码吗

查看类似的面部跟踪器示例代码。它还处理获取相机权限和活动暂停/恢复:

你遇到了什么问题

请注意,“ProjecttFaceOnly”选项将仅检测在相机预览中显示相对较大的面(即,面约为预览图像宽度的35%或更多)