当前位置: 首页 > news >正文

手机抬手亮屏解锁,用到了哪些硬件?

随着时代发展,智能手机以丰富的功能及便利性,成为了人们必不可少的物品,其中人脸解锁功能是非常有用的功能,广受年轻人的喜爱,那么你知道她是如何实现吗?今天凡小亿带你们探索!


cd0cfac75a1f6c5ff6bae1970ba294e6.jpeg


手机抬手亮屏解锁,它可允许用户在不按任何按键的情况下,通过将手机抬离面部或放下手机来触发屏幕解锁。该功能的实现是利用了手机的内置硬件和软件来检测和响应特定的动作或事件。

1、距离传感器

①检测用户距离

距离传感器可检测检测用户与手机之间的距离,判断用户是否位于手机前面。在人脸识别解锁过程中,当用户距离手机太近或太远时,距离传感器的数据可以提供额外的安全性判断依据。

②防止干扰

如果用户距离手机太近,距离传感器的数据也可以防止其他物体对人脸识别解锁功能的干扰。举个例子:当用户在黑暗环境下使用手机时,如果脸部离手机太近,距离传感器可以检测到这一情况并防止其他光源对人脸识别解锁的影响。

③判断手机姿态

距离传感器也可以结合其他传感器如陀螺仪等来判断手机的姿态。当用户将手机放在桌子上或手中把玩时,距离传感器的数据可以提供手机姿态的信息,从而帮助人脸识别解锁算法调整解锁的角度和位置。


082a19d563a14e70e451dac084eb5be9.jpeg


2、重力传感器

重力传感器的作用主要是检测手机的姿态和倾斜状态。

它可以通过感知手机的位置和重力变化来检测手机是否被抬起。当手机被抬起时,重力传感器的输出会发生变化,从而触发亮屏解锁操作。
另外,在一些场景下,重力传感器也可以被用来实现一些创意功能。例如,在某些

用中,可以通过根据手机的倾斜角度来调整UI元素的位置或大小,从而提供更加个性化的用户体验。


95355d50e0a8a51d09d055e5899dd96e.jpeg


3、陀螺仪

①检测手机姿态

距离传感器也可以结合其他传感器如陀螺仪等来判断手机的姿态。当用户将手机放在桌子上或手中把玩时,距离传感器的数据可以提供手机姿态的信息,从而帮助人脸识别解锁算法调整解锁的角度和位置。

②配合相机进行人脸定位

在人脸识别解锁过程中,陀螺仪可以配合相机进行人脸的定位。通过陀螺仪的姿态数据,可以计算出手机与人脸之间的相对位置和角度,从而调整相机对人脸的拍摄角度,以便更准确地捕捉和识别人脸。

③提高识别的准确性

在一些先进的人脸识别解锁技术中,陀螺仪还可以与加速度计、磁力计等其他传感器一起配合,通过多传感器的融合来提高人脸识别的准确性。

总之,手机抬手亮屏解锁功能需要多个硬件和软件协同工作才能实现。


声明:本文凡亿企业培训原创文章,转载请注明来源!

相关文章:

手机抬手亮屏解锁,用到了哪些硬件?

随着时代发展,智能手机以丰富的功能及便利性,成为了人们必不可少的物品,其中人脸解锁功能是非常有用的功能,广受年轻人的喜爱,那么你知道她是如何实现吗?今天凡小亿带你们探索! 手机抬手亮屏解锁…...

AI大模型高速发展,Web3还远吗?

在过去的几年里,人工智能(AI)和Web3技术都经历了令人瞩目的发展。AI大模型,特别是像GPT-3、GPT-4等这样的巨型语言模型,已经成为AI领域的明星,而Web3则代表了下一代互联网的愿景,具有去中心化和…...

CSS 滚动驱动动画 animation-range

animation-range 语法 normallength-percentagetimeline-range-name 具名时间线范围 named timeline rangecovercontainentry 和 entry-crossingexit 和 exit-crossing 兼容性 animation-range 这个属性可同时对 scroll progress timeline 和 view progress timeline 这两种不…...

快速学习MyBatisPlus

文章目录 前言一、条件构造器和常用接口1.wapper介绍2.QueryWrapper(1)组装查询条件(2)组装排序查询(3)组装删除查询(4)条件优先级(5)组装select子句&#xf…...

ElasticsearchRestTemplate 和ElasticsearchRepository 的使用

目录 一、使用ElasticsearchRestTemplate类 1.引用Maven类库 2. 配置文件application.yml 3.创建实体类(用于JSON文档对象的转换) 二、使用ElasticsearchRepository 类 1.引用Maven类库 2. 配置文件application.yml 3. ElasticsearchRepository接…...

Typora +Picgo 搭建个人笔记

文章目录 Typora Picgo 搭建个人笔记一、Picgo Github 搭建图床1.基础设置2. 将配置导出,方便下次使用 二、Typora:设置 :1. 基本设置2. 导出自动提交3. 备份图片 Typora Picgo 搭建个人笔记 typora 下载地址: https://zahui.fan…...

八、K8S之HPA自动扩缩容

HPA 一、概念 HPA(Horizontal Pod Autoscaler,水平 Pod 自动伸缩)是 Kubernetes 中的一种特性,其作用是根据资源使用情况自动调整 Pod 的副本数,以实现应用程序的自动扩展和收缩。 HPA 可以根据 CPU 使用率或其他自…...

损失函数总结(二):L1Loss、MSELoss

损失函数总结(二):L1Loss、MSELoss 1 引言2 损失函数2.1 L1Loss2.2 MSELoss 3 总结 1 引言 在上一篇博文中介绍了损失函数是什么以及为什么使用损失函数,从这一篇博文就开始关于损失函数有哪些进行进一步的介绍。这里放一张损失函…...

力扣(LeetCode)2530. 执行 K 次操作后的最大分数(C++)

贪心优先队列 请看答案需求:得到最大分数。易猜到,得到最大分数的取法是每次取数组中最大的数字(贪心思路)。 问题转化为:如何快速找到数组中最大的数字,根据问题规模 k 1 0 5 k10^5 k105,维护优先队列即可 O ( k l…...

C# 快速简单反射操作

文章目录 前言新反射使用BindingFlags以公有属性使用举例运行结果 前言 我之前写过一篇博客,是关于C# 反射的,我那时候使用的C# 反射写起来还是比较麻烦,需要获取Properies,再遍历Property,再找到对应Property,再使用…...

【python高级】设计模式、类工厂、对象工厂

一、说明 最近试着读Design pattern, 不过有些概念实在太抽象了, 整理一下自己所学抽象工厂的精神,就是要有abstract class(not implement),而所有不同种类的对象,都是继承这个abstract class&a…...

Flink的算子列表状态的使用

背景 算子的列表状态是平时比较常见的一种状态,本文通过官方的例子来看一下怎么使用算子列表状态 算子列表状态 算子列表状态支持应用的并行度扩缩容,如下所示: 使用方法参见官方示例,我加了几个注解: public class Bufferin…...

使用 Github Actions 工作流自动部署 Github Pages

GitHub-Actions actions顾名思义就是一堆动作,是一个持续集成服务,持续集成包含了拉代码、运行测试、编译代码、登录远程服务器,发布到第三方服务等等的操作,GitHub将这些操作称为actions。 概念:Workflows, Events,…...

Xposed hook 抖音账户信息

本篇主要讲下hook获取 抖音账户的相关信息,直接上代码。 public class DouHook {private static final String TAG "DouHook";public static void hook(XC_LoadPackage.LoadPackageParam lpparam) {Log.e(TAG, "DouHook start");if (lpparam …...

回顾 | E³CI效能认知与改进论坛,助力企业研发效能度量和提升

2023年8月,TiD质量竞争力大会组委会和ECI专家委员会成功举办TiD大时段课程“度量驱动研发效能提升”与“ECI效能认知与改进论坛”。与会专家以《ECI软件研发效能度量规范》团体标准为要点,为企业研发效能度量和提升分享诸多实践成果与经验。 《ECI软件研…...

科技的成就(五十二)

405、微信公众平台正式上线 "1995 年 8 月 24 日,微软发布 Windows 95。Windows 95 极大地改进了前续系统的图形用户界面,首次推出了开始菜单、任务栏、最大化、最小化窗口以及关闭按钮。此外,Windows 95 最大程度兼容当时的 MS-DOS 和 …...

【23种设计模式】装饰器模式

个人主页:金鳞踏雨 个人简介:大家好,我是金鳞,一个初出茅庐的Java小白 目前状况:22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作 我的博客&am…...

解决IDEA中SpringBoot项目创建多个子模块时配置文件小绿叶图标异常问题

在新建子模块下创建配置文件: 在子模块gateway中新建的配置文件,正常情况下配置文件左侧是小树叶标识,而这次新建application-dev.yml是个小树叶标识,bootstrap.yml是个方框。 看其他方案都是在project structure中设置,但未显示…...

【马蹄集】—— 概率论专题

概率论专题 目录 MT2226 抽奖概率MT2227 饿饿!饭饭!MT2228 甜甜花的研究MT2229 赌石MT2230 square MT2226 抽奖概率 难度:黄金    时间限制:1秒    占用内存:128M 题目描述 小码哥正在进行抽奖,箱子里有…...

Spring 6整合单元测试JUnit4和JUnit5

单元测试:JUnit 在之前的测试方法中,几乎都能看到以下的两行代码: ApplicationContext context new ClassPathXmlApplicationContext("xxx.xml"); Xxxx xxx context.getBean(Xxxx.class);这两行代码的作用是创建Spring容器&…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

Python如何给视频添加音频和字幕

在Python中&#xff0c;给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加&#xff0c;包括必要的代码示例和详细解释。 环境准备 在开始之前&#xff0c;需要安装以下Python库&#xff1a;…...

day36-多路IO复用

一、基本概念 &#xff08;服务器多客户端模型&#xff09; 定义&#xff1a;单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用&#xff1a;应用程序通常需要处理来自多条事件流中的事件&#xff0c;比如我现在用的电脑&#xff0c;需要同时处理键盘鼠标…...

探索Selenium:自动化测试的神奇钥匙

目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代&#xff0c;海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构&#xff0c;在处理大规模数据抓取任务时展现出强大的能力。然而&#xff0c;随着业务规模的不断扩大和数据抓取需求的日益复杂&#xff0c;传统…...

C++--string的模拟实现

一,引言 string的模拟实现是只对string对象中给的主要功能经行模拟实现&#xff0c;其目的是加强对string的底层了解&#xff0c;以便于在以后的学习或者工作中更加熟练的使用string。本文中的代码仅供参考并不唯一。 二,默认成员函数 string主要有三个成员变量&#xff0c;…...