完全关闭自动曝光补偿?
我正在编写一个相机应用程序,无论环境光如何,都需要相同的曝光。不幸的是,setExposureCompensation() 只能充当偏移量。我可以关闭此自动调整,还是这更像是用户前硬件校正?
I'm writing a camera application that requires the same exposure regardless of ambient light. Unfortunately, setExposureCompensation() only acts like an offset. Can I turn off this auto adjustment, or is this more of a pre-user hardware correction?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
编辑:因此,对于Android 4.0及更高版本,有一个
setAutoExposureLock(boolean)
应该可以满足您的需要。它不允许您自行设置曝光,但在确定曝光后,您可以将其锁定为当前曝光。不过,您需要通过检查 isAutoExposureLockSupported() 来保护它,以确保设备支持该功能。为了每次获得相同的实际曝光,您需要能够设置固定的 ISO、快门速度和光圈。正如您所说,曝光补偿仅抵消相机自动确定的测光曝光。据我所知,Android 中没有内置的方法来设置 ISO、快门速度或光圈值。
EDIT: So, for Android 4.0 and above, there is a
setAutoExposureLock(boolean)
that should work for what you need. It doesn't let you set the exposure yourself, but after the exposure is determined, you can lock it into its current exposure. You need to guard it with a check forisAutoExposureLockSupported()
, though, to make sure the device supports that feature.To get the same actual exposure every time, you'd need to be able to set a fixed ISO, shutter speed, and aperture. As you said, the exposure compensation only offsets from the metered exposure, which the camera determines automatically. To my knowledge, there's no built in way to set the ISO, the shutter speed, or the aperture values in Android.
您应该浏览所有相机参数,看看是否有与 ISO、快门速度和光圈相关的参数。
例子:
You should browse all your camera parameters to see if there are any related to ISO,shutter speed, and aperture.
Example: