参考例程:
@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(); }
执行完,拍照,得到的图片分析。这个禁用的自动曝光、禁用白平衡的操作,不起作用。还是自动曝光,自动白平衡的操作。
为什么?