Reputation: 71
Does anyone know how if the HDR logic is in the camera application or in the camera driver for android phones? For example on the samsung galaxy you can enable HDR mode on the default camera app to get greater dynamic range captured on your photos. Is that done by the camera app, or done by the camera driver/API?
For example can I write a camera app that can capture in HDR mode as well? I noticed in the camera settings (if you flatten the settings) that there is a hidden setting called "hdr-mode". I tried to set this but when i took a picture it reported an error.
Alternatively, is there a way to capture a burst of photos very rapidly each with a different exposure value so HDR can be post-processed? I also saw a hidden setting something like pictures-per-shutter that appears to allow burst capture. But it dooesn't seem to have a way to do exposure bracketing as would be necessary to process HDR.
Let's say for this example if this is dependent on specific phone-- that we are working with a Galaxy S3.
Upvotes: 3
Views: 4970
Reputation: 26
It's only available while you device support the hardware HDR. And as i know, the hardware HDR is implemented by camera vendor, application doesn't need to care about it.
And this SCENC_MODE_HDR is introduced from android 4.2. So there is not any effect if you set the scene mode as SCENE_MODE_HDR in pre 4.2.
Upvotes: 0
Reputation: 4615
Comes in the public API with Android 4.2.
In 4.2 you can set SCENE_MODE_HDR
Camera.Parameters cameraParameters = camera.getParameters();
cameraParameters.setSceneMode(Camera.Parameters.SCENE_MODE_HDR);
camera.setParameters(cameraParameters);
What's just a guess and you could try is to set it as a string.
String android.hardware.Camera.Parameters.SCENE_MODE_HDR = "hdr"
so in pre 4.2 you can try
cameraParameters.setSceneMode("hdr");
Upvotes: 4