java
1 private CameraCaptureSession.CaptureCallback mCaptureCallback 2 = new CameraCaptureSession.CaptureCallback() { 3 4 private void process(CaptureResult result) { 5 6 Integer mode = result.get(CaptureResult.STATISTICS_FACE_DETECT_MODE); 7 Log.e("tag", "mode : " + mode); 8Face[] faces = result.get(CaptureResult.STATISTICS_FACES); 9 10
この上のコードで、Log出力をするとmodeは、1になります。
それは、STATISTICS_FACE_DETECT_MODE_OFFになっているということなのでしょうか?
faces for文でfaceにして、Rect r=face.getBounds()して、drawRect(r.paint)
でもまともな位置に矩形が表示されず、face.getMouthPosition()は取得できず、face.getScore()をしても「1」になります。
STATISTICS_FACE_DETECT_MODE_SIMPLEか、STATISTICS_FACE_DETECT_MODE_FULLをセットしたいのですが、onConfigred()に書いてもLogの結果が変わりません。どうすればいいでしょうか?
java
1 mCameraDevice.createCaptureSession(Arrays.asList(surface, mImageReader.getSurface()), 2 new CameraCaptureSession.StateCallback() { 3 4 @Override 5 public void onConfigured(@NonNull CameraCaptureSession cameraCaptureSession) { 6 7 mPreviewRequestBuilder.set(CaptureRequest.STATISTICS_FACE_DETECT_MODE, 8 CameraMetadata.STATISTICS_FACE_DETECT_MODE_FULL); 9 } 10}
Logではint型で1と出ています。 SIMPLEもしくわFULLを選択したく検索したら、onConfiguredの中で mPreviewRequestBuilder.set(CaptureRequest.STATISTICS_FACE_DETECT_MODE, CameraMetadata.STATISTICS_FACE_DETECT_MODE_FULL); のようにFULLをセットする場所を見つけました。 Logで1と出力する前にonConfiguで値をセットしているのですが、 public static final int STATISTICS_FACE_DETECT_MODE_SIMPLE= 2; public static final int STATISTICS_FACE_DETECT_MODE_FULL=3; このように、SIMPLEとFULLは、2,3とセットしているので、1はOFFのことなのではと思います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/24 13:14
2017/09/24 13:14