Android开发经验谈Android技术知识Android开发

科普-手机环境光强度检测的两种方案

2018-12-10  本文已影响5人  蚍蜉一生

应用场景

例如:

一  根据环境光亮度自动调节屏幕亮度;

二  根据环境光亮度自动打开闪光灯;

三  根绝环境光亮度自动对照片进行补光;

方案一  利用光线传感器检测环境光强度

    光线传感器也叫感光器,手机的感光器一般位于手机机身前面上端的一个小孔里面,它可以通过感知当前小孔所在环境的光强度,一旦遮住了那个小孔,光线传感器监测到的光线强度立马低,我拿联想手机做实验当完全遮盖住光感应器时候光强度显示8,手电筒光照射强度显示20000。

    光线传感器往往用于感应手机正面的光线强弱,从而自动调节屏幕的亮度。

    具体用法也非常简单,有个简单的Android代码如下

光线传感器使用方法


方案二  利用摄像头来检测环境光亮度

   基本原理

    当我们打开摄像头时候,摄像头元件便可以把外界的图像信息转换为数字信息,并以一帧帧图片的形式展示出来,不同的光照情况下照片的平均亮度是不一样的,我们可以根据一些预判信息或者阈值来判断环境光亮度的一个大概值。

    做法基本步骤

1 打开相机。

2 请求获取一帧预览照片的信息。

3 根据灰度值换算每个像素点亮度。

4 求出平均像素点亮度,把它当做照片亮度值、也可以当做环境光亮度值。

具体做法:略 -可以查看当前二维码通用扫描库的做法。

    方案总结对比

上一篇下一篇

猜你喜欢

热点阅读