Android亮度自动调节
最近在做人脸识别项目。在抓取人脸时,发现了很多问题。其中旋转角度和光线问题最令人抓狂。
Camera拍摄照片可能存在0度/90度/180度/270度的(右侧)旋转,不同设备不同。例如,小米3w,0度;小米8,270度。所以需要获取照片后不能立即使用,需要根据旋转角度,对照片进行处理,以方便人脸位置的获取。关于如何实现,是另一话题,改天再论。
光线问题,其实是非常感官的因素。同样的处理代码,同样的画面,光线是否充足,影响抓取结果。
尝试了三个方案,仅有最终的光线传感器奏效。现将成功和不成功的方案都记录下来。
(1)方案一(失败):Camera接口
起初,对于Camer接口一通查找,发现曝光补偿和白平衡带有auto设置,调试后发现,不起作用。
(2)方案二(失败):屏幕亮度
后将焦点放在屏幕的亮度调节上,通过设置SCREEN_BRIGHTNESS_MODE_AUTOMATIC,达到自动调节屏幕亮度的效果。调试后,仍无效。测试代码,如下
public static boolean autoBrightness(Context activity, boolean flag) {int value = 0;if (flag) {value = Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;} else {value = Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL;}return Settings.System.putInt(activity.getContentResolver(),Settings.System.SCREEN_BRIGHTNESS_MODE,value);}
(3)方案三(成功):光线传感器
最后才发现,其实真正起作用的是光线传感器。
下方为编写的适配器demo
package com.breakloop.common;import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.view.Window;
import android.view.WindowManager;import static android.content.Context.SENSOR_SERVICE;public class BrightnessAdapter implements SensorEventListener {private Context mContext;private SensorManager sensorManager;private Window mWindow;public BrightnessAdapter(Context fContext, Window fWindow) {this.mContext = fContext;this.mWindow=fWindow;this.sensorManager=(SensorManager)mContext.getSystemService(SENSOR_SERVICE);}public void regist(){if(sensorManager!=null){sensorManager.registerListener(this,sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT),SensorManager.SENSOR_DELAY_GAME);}}public void unRegist(){if(sensorManager!=null){sensorManager.unregisterListener(this,sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT));}}@Overridepublic void onSensorChanged(SensorEvent event) {float[] values = event.values;//传感器类型int sensorType = event.sensor.getType();switch (sensorType){case Sensor.TYPE_LIGHT://获取窗口管理属性WindowManager.LayoutParams lp =mWindow.getAttributes();//计算屏幕亮度lp.screenBrightness = Float.valueOf(values[0])*(1f/255f);//参数设置mWindow.setAttributes(lp);break;default:break;}}@Overridepublic void onAccuracyChanged(Sensor sensor, int accuracy) {}
}
调用时,仅需要创建对象,并在Activity中适时registor和unregistor即可。
Android亮度自动调节相关推荐
- java手机太亮,Android 亮度调节
最近在做一个App的设置项,亮度调节.真正做时,发现Android亮度调节比预想要复杂一些.其实目前网上已有不少这方面的资料,但有些博文具有一定误导性.在此将这块内容按照自己理解整理一下. 整体上看, ...
- android设置自动亮度,Android亮度调节的几种实现方法
最近在做一个App的设置项,亮度调节.真正做时,发现Android亮度调节比预想要复杂一些.其实目前网上已有不少这方面的资料,但有些博文具有一定误导性.在此将这块内容按照自己理解整理一下. 整体上看, ...
- Android 亮度调节
专注Android领域开发.仰望星空,同时需要脚踏实地. --好记性不如烂博客 Android 亮度调节 最近在做一个App的设置项,亮度调节.真正做时,发现Android亮度调节比预想要复杂一些.其 ...
- 诺基亚Lumia 920更新后出现屏幕亮度自动调节问题?
在前些天,美国及加拿大的诺基亚Lumia 920 (图集, 点评, 教程)用户陆续收到推送WP8"Portico"更新,更新的系统优化了消息功能,增加了短信回复来电.改进IE浏览器 ...
- Android 亮度调节的方法
整体上看,Android亮度调节分为三个层次,分别是:Android系统亮度调节.Android App亮度调节和Android当前屏幕(Window)亮度调节. 1.Android系统亮度调节 An ...
- 屏幕亮度自动调节的实现
以下文章转载自:http://www.miui.com/thread-27347-1-1.html 当在论坛上看到很多机友反映G7的自动亮度太暗,石头的自动亮度太亮的时候,MIUI小组准备做自动亮度的 ...
- android 亮度 对比度,Android图像锐化,饱和度,色调,亮度和对比度
是的,android有一些操作颜色的工具,比别人更容易.做特别要求所有图像的一般空间的唯一方法是修改单个像素.还有其他快速和肮脏的技巧,速度要快得多,但不够精确(ColorFilter). 色相换: ...
- java rgb 黑色_Java实现图片亮度自动调节(RGB格式)
最关键的获取亮度公式: float luminance = (red * 0.2126f + green * 0.7152f + blue * 0.0722f) / 255; private Buff ...
- 华为亮度自动调节没了_一加8T不止有8192级自动亮度调节 刘作虎在线种草
9月24日,一加手机官方正式放出了小罗伯特唐尼为一加8T拍摄的宣传片,并且邀请加油和小唐尼一起"飙"起来,虽然视频中一加8T并未亮相,不过单单一个"飙"字就已经 ...
- 苹果亮度自动调节怎么关闭_一加8T升级到8192级自动亮度调节:安卓中最好
一加8T将于10月15日在北京发布.今天一加创始人兼首席执行官刘作虎为一加8T预热.刘作虎表示,上半年一加8系列屏幕的4096级自动亮度调节备受好评,安卓中最好.这次一加8T上升级到了8192级,并且 ...
最新文章
- 数据派研究组招募 | 寻找最志同道合的你!
- XP系统,无法创建新的网络连接
- mysql拉荐_荐 一步一步教你MySQL主从复制读写分离
- 关于《在Windows与.NET平台上的持续交付实践》的问答录
- 开发之路(设计模式二:观察者模式)
- Android之封装倒计时页面
- 保险的现金价值是什么意思?
- thrift java first demo
- 阶段3 1.Mybatis_03.自定义Mybatis框架_1.自定义Mybatis的分析-执行查询所有分析
- Genius ACM(倍增+归并排序)
- c语言色环电阻计算器源代码,色环电阻在线计算器
- 微软收购雅虎要中国政府审批?
- 学大数据一定要会Java开发吗?
- 通达 php解密,全网首发 | 通达OA多枚0day漏洞分享
- NVIDIA CUDA初级教程(P2-P3)CPU体系架构概述、并行程序设计概述
- 北航计算机学院硕士培养方案,北航硕士研究生培养方案.doc
- Mysql跨库跨表复制数据
- Win系统 - 色域、IPS、TN傻傻分不清楚?
- C++实现单源最短路算法
- 案例篇:Python天气播报系统,这才是未雨绸缪
热门文章
- mysql 汉字笔画排序规则_SQL Server与MySQL中排序规则与字符集相关知识的一点总结...
- chrome突然无法复制粘贴了
- word快捷键复制粘贴无法使用
- html submit修改名称,HTML Input Submit name用法及代码示例
- php html ubb,php UBB 解析实现代码
- 分享几个免费的人工智能类API接口
- 数据埋点日志awk脚本快速入库
- BLC(Black Level Correction)——黑电平校正
- Docker容器下安装ubantu,其中 command not found 的问题(已经解决)
- 无限法则裸连本地服务器错误,无限法则D3Dinitfailed报错问题解决办法