有没有人知道HDR逻辑是在相机应用程序中还是在Android手机的相机驱动程序中?例如,在三星Galaxy上,您可以在默认相机应用程序上启用HDR模式,以获得照片上捕获的更大动态范围。这是由相机应用程序完成的,还是由相机驱动程序/ API完成的?
例如,我是否可以编写可以在HDR模式下捕捉的相机应用程序?我注意到在相机设置中(如果你压平设置)有一个名为“hdr-mode”的隐藏设置。我试图设置这个但是当我拍照时它报告错误。
或者,是否有一种方法可以非常快速地捕获一组具有不同曝光值的照片,以便HDR可以进行后期处理?我还看到一个隐藏的设置,如每个快门的图片,似乎允许突发捕获。但它似乎没有办法像处理HDR一样进行曝光包围。
让我们说这个例子,如果这取决于特定的电话 - 我们正在使用Galaxy S3。
答案 0 :(得分:3)
使用Android 4.2加入公共API。
在4.2中,您可以设置SCENE_MODE_HDR
Camera.Parameters cameraParameters = camera.getParameters();
cameraParameters.setSceneMode(Camera.Parameters.SCENE_MODE_HDR);
camera.setParameters(cameraParameters);
只是猜测,您可以尝试将其设置为字符串。
String android.hardware.Camera.Parameters.SCENE_MODE_HDR = "hdr"
所以在4.2之前你可以试试
cameraParameters.setSceneMode("hdr");
答案 1 :(得分:0)
仅当您的设备支持硬件HDR时才可用。据我所知,硬件HDR由相机供应商实现,应用程序无需关心它。
这个SCENC_MODE_HDR是从android 4.2引入的。因此,如果在4.2之前将场景模式设置为SCENE_MODE_HDR,则没有任何效果。