【相机开发问题总结】曝光补偿ExposureCompensation未生效异常分析及解决

问题描述

做一款相机应用时,用户反馈相机预览界面太暗了,由于我们是嵌入式设备,没有手机那么高大上得闪光灯补光,因此只能考虑从软件层面提高界面亮度,还好找到了曝光补偿,但是开发过程中发现曝光补偿未生效,界面依然很黑

问题分析

什么事曝光补偿?曝光补偿是指,通过增加或者减少光线的摄入量,来提高或降低照片的亮度。

曝光补偿存在一定范围,比如-2至2,或者-3至3,单位为EV,可以理解为exposure value。

每增加或者降低1EV,光线的摄入量便增加或降低1倍。

android camera的曝光补偿为阶段性变化,每次变化1/2或1/3,该数量级被称为step。

android camera可以通过以下五个API,分别获取step,最大曝光补偿级数,最小曝光补偿级数,当前曝光补偿级数,设置曝光补偿级数。曝光补偿值=step * 曝光补偿级数。

(1)float getExposureCompensationStep()

(2)int getMinExposureCompensation()

(3)int getMaxExposureCompensation()

(4)int getExposureCompensation()

(5)void setExposureCompensation(int)

根据上述概念,我发现setExposureCompensation的值传递错误,当时是随便传值的

问题解决

先计算getMaxExposureCompensation*getExposureCompensationStep,支持最大的补偿级数,将其传递给底层

相关推荐
初圣魔门首席弟子11 小时前
boost配置遇到的bug
bug
万粉变现经纪人18 小时前
如何解决 pip install ta-lib 报错 本地 TA-Lib 库未安装 问题
数据库·python·scrapy·oracle·bug·pandas·pip
Cc_Debugger1 天前
【饿了么plus-table】开启多选时,点击下面的单选按钮,页面显示是全选的样子,bug
bug
龙卷风卷云1 天前
【BUG】Nginx使用upstream后端接口报 400
运维·nginx·bug
jiayi_19993 天前
[bug] unsupported GNU version! gcc versions later than 12 are not supported!
服务器·bug·gnu
管二狗赶快去工作!4 天前
体系结构论文(九十三):LLM-Aided Compilation for Tensor Accelerators
人工智能·语言模型·自然语言处理·bug·体系结构
查古穆4 天前
LLM的“小bug”:聊聊幻觉是什么,以及如何有效规避免
人工智能·bug
程序员 沐阳4 天前
Git 二分法精准定位 Bug:从原理到实战,让调试效率起飞
git·elasticsearch·bug
软泡芙4 天前
【Bug】ReactiveUI WPF绑定中依赖属性不更新的问题分析与解决方案
java·bug·wpf
Yiyi_Coding5 天前
BUG列表:如何定位线上 OOM ?
java·linux·bug