基于vue+face-api.js实现前端人脸识别功能

 更新时间:2023年12月01日 11:06:31   作者:TroubleMakerr  
基于face-api.js要实现人脸识别功能,首先要将自己需要的模型文件下载保存在静态目录下,可以通过cdn的方式在index.html中引入face-api.js,本文给大家介绍vue+face-api.js实现前端人脸识别功能,感兴趣的朋友一起看看吧

近期做了一个前端vue实现人脸识别的功能,主要功能逻辑包含:人脸识别,人脸验证,唤起摄像头视频流之后从三个事件(用户点头、摇头、眨眼睛)中随机选中两个事件,待两个事件通过判断后人脸静止不动3秒钟后截取视频流生成图片,上传到阿里或者腾讯oss,通过oss返回的url或者自己拼接的url去跟调取后台接口实现人脸识别/人脸识别二次校验

基于face-api.js要实现人脸识别功能,首先要将自己需要的模型文件下载保存在静态目录下,

可以通过cdn的方式在index.html中引入face-api.js

上面页面是自己或者UI给出的前置页面,点击开始验证进入人脸识别页面
 下面代码为人脸识别页面静态内容

页面显示效果为下图:

业务逻辑代码
首先需要通过navigator.mediaDevices.getUserMedia获取视频流
navigator.mediaDevices.getUserMedia涉及到兼容性问题,可以自行参考资料去解决

下面为随机三个事件中选中两个事件的方法也可以忽略不计,可根据自身需求安排

人脸识别设置的是每一秒钟执行一次检测

下面是主要的实现人脸识别的初始化摄像头和调用face-api.js代码部分:

下面方法包含了点头,摇头,眨眼睛三个事件的判断逻辑代码可能存在精度上的问题可以根据自己的实际需求进行调整,api中都有详细的计算公式

以下为截取到的视频流的当前帧的图片上传到oss部分代码

不管是上传到腾讯云还是阿里云都是大同小异,一般都是通过调用后台封装的接口根据临时的SecretId,SecretKey,SecurityToken去获取oss上传之后的图片的url地址

再拿到imageUrl地址之后 就可以根据自身需求去做后续处理了,比如调后台接口进行人脸识别或者人脸二次校验等功能

还有就是在页面销毁的时候不要忘了清掉 设置的定时器,以及停止掉video的视频流

到此这篇关于vue+face-api.js实现前端人脸识别功能的文章就介绍到这了,更多相关vue face-api.js人脸识别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue.js滚动条插件vue-scroll的基本用法

    vue.js滚动条插件vue-scroll的基本用法

    在移动端或PC,页面的部分内容常常需要我们让其在页面滚动,这篇文章主要给大家介绍了关于vue.js滚动条插件vue-scroll的基本用法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • Element表格表头行高问题解决

    Element表格表头行高问题解决

    在最近一个项目的后台管理系统中,写前端界面时用到了ElementUI,但是发现导入数据表格之后表头的高度一直很高,那么如何解决,本文就来详细的介绍一下
    2021-09-09
  • vue.js调用python脚本并给脚本传数据

    vue.js调用python脚本并给脚本传数据

    在有些情况下需要使用不同的语言来完成一个项目,因此就有可能出现不同语言的程序之间的相互调用,下面这篇文章主要给大家介绍了关于vue.js调用python脚本并给脚本传数据的相关资料,需要的朋友可以参考下
    2024-03-03
  • vue限制文本输入框只允许输入字母、数字、禁止输入特殊字符

    vue限制文本输入框只允许输入字母、数字、禁止输入特殊字符

    这篇文章主要介绍了vue限制文本输入框只允许输入字母、数字、不允许输入特殊字符,通过监听表单输入的内容,使用方法的缺陷,本文通过实例代码介绍的非常详细,需要的朋友参考下吧
    2023-10-10
  • 解决vue input或el-input type="number"输入数字,去除右侧箭头问题

    解决vue input或el-input type="number"输入数字,去

    文章讨论了在input或el-input控件中设置type=number时,如何去除右侧上下箭头,针对el-input,推荐使用/deep/深度选择器穿透scoped样式限制进行样式覆盖,并介绍了其适用场景及注意事项
    2025-10-10
  • 基于WebRTC实现音视频通话功能

    基于WebRTC实现音视频通话功能

    WebRTC作为一种开放标准的实时通信协议,能轻松实现浏览器之间的实时音视频通信,本次主要分享基于WebRTC的音视频通话技术,讲解WebRTC原理和音视频传输等关键概念,通过案例实践,带大家掌握如何搭建一个音视频通话应用,需要的朋友可以参考下
    2024-05-05
  • Vuex给state中的对象新添加属性遇到的问题及解决

    Vuex给state中的对象新添加属性遇到的问题及解决

    这篇文章主要介绍了Vuex给state中的对象新添加属性遇到的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • Vue Router中应用中间件的方法

    Vue Router中应用中间件的方法

    这篇文章主要介绍了Vue Router中应用中间件的方法,文中讲解非常细致,帮助大家更好的理解和学习vue router,感兴趣的朋友可以了解下
    2020-08-08
  • 记VUE3+TS获取组件类型的方法踩坑及解决

    记VUE3+TS获取组件类型的方法踩坑及解决

    这篇文章主要介绍了VUE3+TS获取组件类型的方法踩坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • vue2.0 实现富文本编辑器功能

    vue2.0 实现富文本编辑器功能

    这篇文章主要介绍了vue2.0 实现富文本编辑器功能,本文给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-05-05

最新评论