[英]Android camera2: capture request keys don't include settings I can control from the default app
[英]I can't detect face with camera2
我在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的预览中检测到脸!
我认为你不能使用CameraMetadata.STATISTICS_FACE_DETECT_MODE_FULL ,因为有些设备不支持这种类型的人脸检测。 您能否验证您的设备是否支持STATISTICS_FACE_DETECT_MODE_FULL ?
如果答案为“否”,请尝试使用STATISTICS_FACE_DETECT_MODE_SIMPLE
看看这个三星的例子https://developer.samsung.com/galaxy/camera#techdocs
有一个示例解释了如何使用camera2 API进行人脸检测
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.