参考例程:
@Override
public void onConfigured(@NonNull CameraCaptureSession session) {
android.hardware.camera2.params.RggbChannelVector rgb=null;
mCaptureSession = session; //捕获对话
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AF_MODE_AUTO); // 设置自动对焦
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE);//连续拍照
mPreviewRequestBuilder.set(CaptureRequest.JPEG_ORIENTATION, getJpegOrientation(mDeviceOrientation));//方向
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_OFF); //禁用自动曝光
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_EXPOSURE_COMPENSATION,0);//曝光补偿为0
mPreviewRequestBuilder.set(CaptureRequest.SENSOR_EXPOSURE_TIME, mExpTime);//曝光时长
mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AWB_MODE, CaptureRequest.CONTROL_AWB_MODE_OFF);//白平衡模式关闭
mPreviewRequestBuilder.set(CaptureRequest.COLOR_CORRECTION_MODE, CaptureRequest.COLOR_CORRECTION_MODE_TRANSFORM_MATRIX);//色差校正
//通过设置 android.colorCorrection.gains 来控制WB Gain: [R_gain, G_even_gain, G_odd_gain, B_gain], gain的取值范围[1.0, 3.0]
rgb =new android.hardware.camera2.params.RggbChannelVector((float)2.5,(float)2.5,(float)2.5,(float)2.5);
mPreviewRequestBuilder.set(CaptureRequest.COLOR_CORRECTION_GAINS, rgb);
// 设置完后自动开始预览
mPreviewRequest = mPreviewRequestBuilder.build();
startPreview();
}
执行完,拍照,得到的图片分析。这个禁用的自动曝光、禁用白平衡的操作,不起作用。还是自动曝光,自动白平衡的操作。
为什么?