【相机开发问题总结】曝光补偿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,支持最大的补偿级数,将其传递给底层

相关推荐
千里马学框架10 小时前
重学安卓14/15自由窗口freeform企业实战bug-学员作业
android·framework·bug·systrace·安卓framework开发·安卓窗口系统·自由窗口
Bear on Toilet1 天前
Bug日记——实现“日期类”
开发语言·c++·bug
Direction_Wind1 天前
flinksql bug : Max aggregate function does not support type: CHAR
bug
mg6682 天前
Python Bug 修复案例分析:多线程数据竞争引发的bug 两种修复方法
bug
黎猫大侠3 天前
一次Android Fragment内存泄露的bug解决记录|Fragment not attach to an Activity
android·bug
七七小报3 天前
uniapp-商城-48-后台 分类数据添加修改弹窗bug
uni-app·bug
windwind20003 天前
发行基础:本地化BUG导致审核失败
游戏·青少年编程·编辑器·bug·创业创新·玩游戏
Htht1113 天前
【Qt】之【Bug】点击按钮(ui->pushButton)触发非本类设置的槽函数
qt·ui·bug
gxn_mmf4 天前
典籍知识问答模块AI问答功能feedbackBug修改+添加对话名称修改功能
前端·后端·bug
marvindev4 天前
提bug测试专用
开发语言·javascript·bug