我试图通过camera2接口在Android 5.0上获得数字缩放帧。 该功能的适当文档是developer.android.com/camera2/captureRequest
我的应用中使用的表面:
相机的传感器尺寸为3280x2464(4:3宽高比)
我想从传感器获得的裁剪区域是:
Rect zoomCropPreview = new Rect(1094, 822, 2186, 1642); //(1092x820, 4:3 aspect ratio)
我将此Rect设置为预览请求的参数:
previewRequestBuilder.set(CaptureRequest.SCALER_CROP_REGION, zoomCropPreview);
captureSession.setRepeatingRequest(previewRequestBuilder.build(), null, null);
拍摄静止图像:
stillRequestBuilder.set(CaptureRequest.SCALER_CROP_REGION, zoomCropPreview);
captureSession.capture(stillRequestBuilder.build(), new captureListener() , null);
预期结果:
真实结果:
我做错了什么?
答案 0 :(得分:2)
固定! 一般的想法是分别计算预览的裁剪区域和静止图像。
1)计算静止图像的裁剪区域,如初始帖子(使用4:3矩形)
2)对于预览,取上面裁剪区域(4:3)并减小垂直尺寸以获得16:9矩形。