【发布时间】:2016-07-26 04:48:25
【问题描述】:
我在 android.hardware.Camera2 的预览中找不到有关人脸检测的信息,有人可以帮我提供一个完整的示例吗?
我在 github 中看到一些有关 camera2 示例的问题,但我无法理解。
我使用了来自 Google 的 Camera2 示例:https://github.com/googlesamples/android-Camera2Basic。
我将人脸识别模式设置为 FULL。
mPreviewRequestBuilder.set(CaptureRequest.STATISTICS_FACE_DETECT_MODE, CameraMetadata.STATISTICS_FACE_DETECT_MODE_FULL);
我还检查了STATISTICS_INFO_MAX_FACE_COUNT 和STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES:
int max_count = characteristics.get(
CameraCharacteristics.STATISTICS_INFO_MAX_FACE_COUNT);
int modes [] = characteristics.get(
CameraCharacteristics.STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES);
Output: maxCount : 5 , modes : [0, 2]
我的 CaptureCallback:
private CameraCaptureSession.CaptureCallback mCaptureCallback = new CameraCaptureSession.CaptureCallback() {
private void process(CaptureResult result) {
Integer mode = result.get(CaptureResult.STATISTICS_FACE_DETECT_MODE);
Face [] faces = result.get(CaptureResult.STATISTICS_FACES);
if(faces != null && mode != null)
Log.e("tag", "faces : " + faces.length + " , mode : " + mode );
}
@Override
public void onCaptureProgressed(CameraCaptureSession session, CaptureRequest request,
CaptureResult partialResult) {
process(partialResult);
}
@Override
public void onCaptureCompleted(CameraCaptureSession session, CaptureRequest request,
TotalCaptureResult result) {
process(result);
} `
输出:面:0,模式:2
public static final int STATISTICS_FACE_DETECT_MODE_FULL = 2;
人脸长度始终为 0。看起来它无法正确识别人脸或者我错过了什么。
我知道使用 FaceDetector 的方法。我只是想看看它如何与新的 camera2 Face 配合使用。
我需要在 camera2 的预览中检测人脸!
【问题讨论】: