SO のおかげで、私はプロジェクトに取り組んでおり、焦点を合わせて顔検出を機能させる必要がありました。
現在、写真を撮っていますが、Nexus 5 の前面カメラと 1280x960 のプレビュー サイズを使用すると、再生サービスは写真サイズを 320x240 に設定しているようです。
確認したところ、プレビューと画像の両方で 1280x960 がサポートされています。
反射を使用してパラメータを変更しようとしましたが(フォーカスと同じ)、何も変わりませんでした。プレビューを開始する前にそれを変更する必要があるようです...
難読化されたコードを読み取ってデバッグしようとしましたが、ライブラリがこの低解像度を選択する理由がわかりません:-(
使用されているコードは、サンプルに含まれているものに近く、CameraSource.takePicture(...) を使用して写真を撮る可能性を追加しただけです。
サンプルリポジトリでコードを見つけることができます
問題を再現するコード =>こちら
カメラの初期化を次のように変更しました:
mCameraSource = new CameraSource.Builder(context, detector)
.setRequestedPreviewSize(1280, 960)
.setFacing(CameraSource.CAMERA_FACING_FRONT)
.setRequestedFps(30.0f)
.build();
ボタンを追加し、クリックリスナーを接続しました:
findViewById(R.id.snap).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mCameraSource.takePicture(null, new CameraSource.PictureCallback() {
@Override
public void onPictureTaken(byte[] bytes) {
Bitmap bmp = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
Log.d("BITMAP", bmp.getWidth() + "x" + bmp.getHeight());
}
});
}
});
ログ出力:
BITMAP﹕ 320x240
助けてくれてありがとう !