Java 我能';t使用摄像机2检测人脸
我在android.hardware.Camera2的预览中找不到关于人脸检测的信息,有人能帮我举一个完整的例子吗 我在github中看到了一些关于camera2示例的问题,但我无法理解它们 我使用了来自谷歌的Camera2示例: 我将人脸识别模式设置为完全Java 我能';t使用摄像机2检测人脸,java,android,camera2,Java,Android,Camera2,我在android.hardware.Camera2的预览中找不到关于人脸检测的信息,有人能帮我举一个完整的例子吗 我在github中看到了一些关于camera2示例的问题,但我无法理解它们 我使用了来自谷歌的Camera2示例: 我将人脸识别模式设置为完全 mPreviewRequestBuilder.set(CaptureRequest.STATISTICS_FACE_DETECT_MODE, CameraMetadata.STATISTICS_FACE_DETECT_MODE_FULL);
mPreviewRequestBuilder.set(CaptureRequest.STATISTICS_FACE_DETECT_MODE, CameraMetadata.STATISTICS_FACE_DETECT_MODE_FULL);
我还检查了STATISTICS\u INFO\u MAX\u FACE\u COUNT
和STATISTICS\u INFO\u AVAILABLE\u FACE\u DETECT\u 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。看起来它不能正确识别一张脸,或者我错过了什么
我知道用面部检测器的方法。我只是想看看它是如何与新的camera2 Face配合使用的
我需要在camera2的预览中检测人脸 我认为您不能使用CameraMetadata.STATISTICS\u FACE\u DETECT\u MODE\u FULL,因为有些设备不支持这种类型的人脸检测。请验证您的设备是否支持统计信息、面部检测、模式、完整信息 如果答案为“否”,请尝试使用统计\u面部\u检测\u模式\u简单 看看这个三星的例子 有一个示例解释如何使用camera2 API进行人脸检测