Недостаточно информации о механизме распознавания лица камеры2. Я использовал образец Camera2 от Google: 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);
Выход: maxCount: 5, режимы: [0, 2]
My 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. Я просто хотел проверить, как это работает с новой камерой2 Face.