2

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 のプレビューで顔を検出する必要があります。

4

1 に答える 1