Search code examples
androidandroid-camera2

Camera2 api preview is not same with capture


I am using camera2Basic example and I fixed exposure time, iso, white balance and etc.

mPreviewBuilder.set(CaptureRequest.CONTROL_AF_MODE,CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE);

//mPreviewBuilder.set(CaptureRequest.LENS_FOCUS_DISTANCE, DEFAULT_FOCUS_DISTANCE);

mPreviewBuilder.set(CaptureRequest.CONTROL_AE_MODE, CameraMetadata.CONTROL_AE_MODE_OFF);

mPreviewBuilder.set(CaptureRequest.NOISE_REDUCTION_MODE, CameraMetadata.NOISE_REDUCTION_MODE_FAST);
mPreviewBuilder.set(CaptureRequest.EDGE_MODE, CameraMetadata.EDGE_MODE_FAST);
mPreviewBuilder.set(CaptureRequest.CONTROL_AE_PRECAPTURE_TRIGGER, CaptureRequest.CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL);

mPreviewBuilder.set(CaptureRequest.CONTROL_AWB_MODE, wbMode);
mPreviewBuilder.set(CaptureRequest.CONTROL_AWB_LOCK, wbLock);

mPreviewBuilder.set(CaptureRequest.SENSOR_SENSITIVITY, isoValue);
mPreviewBuilder.set(CaptureRequest.SENSOR_EXPOSURE_TIME, exposureValue);

I am taking several photos by rotating my phone for stitching. While taking photos the preview looks fine, but captured results are totally different in terms of brightness

When I checked the images exif data, they have same exposure time and iso (not on Nexus)

I don't know what I am missing. Any suggestion why it is happening? Thank you


Solution

  • My problem was not using session.setRepeatingRequest() and session.capture() properly. Please check this answer