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