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

相关推荐
AI多Agent协作实战派3 天前
AI多Agent协作系统实战(二十二):从6列到12列——任务监控报告的进化之路
java·人工智能·uni-app·bug
自然 醒4 天前
记录We码开发者工具的一个bug
前端·javascript·bug
GeekArch4 天前
第28讲:避坑——AI堆栈分配错误、栈溢出BUG
c语言·人工智能·stm32·mcu·学习·bug
AI多Agent协作实战派4 天前
AI多Agent协作系统实战(十七):凌晨4点,我的AI系统在“假装工作“——3个bug同时爆炸的5小时
java·前端·bug
尸僵打怪兽4 天前
Claude-code命令行无法下载插件
bug·插件·claude-code
Liu.7745 天前
uni-app 组件 uni-easyinput 常见 Bug 及解决方案
uni-app·bug
QQ骞7 天前
【bug的管理流程深入浅出】
软件测试·bug
Rambo.xia8 天前
AXI跨时钟域与数据一致性——CDC FIFO深度不够、写后读冒险、多Master仲裁、乱序返回,出了Bug根本查不出来
fpga开发·bug
不知名的老吴8 天前
思考:要做到Bug Free需培养怎样的思维?
bug
河南花仙子科技10 天前
小游戏开发中常见的BUG类型及成因
人工智能·科技·游戏·bug