位置: IT常识 - 正文

UNI-APP 人脸识别分析及实现(前端)(unik面部识别怎么用)

编辑:rootadmin
UNI-APP 人脸识别分析及实现(前端) APP开发一个人脸识别,实现刷脸功能实现流程:

推荐整理分享UNI-APP 人脸识别分析及实现(前端)(unik面部识别怎么用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:uniapp人脸识别打卡,uniapp人脸识别登录,uniapp人脸识别身份证,uniapp人脸识别方案,uniapp人脸识别上传,uniapp人脸识别上传,uniapp人脸识别上传,uniapp人脸识别方案,内容如对您有帮助,希望把文章链接给更多的朋友!

UNI-APP 人脸识别分析及实现(前端)(unik面部识别怎么用)

1、打开摄像头——自动读取照片——传输给后端——后端交由第三发或自主开发来识别——返回结果(相识度比) 2、打开摄像头——自动读取视频——传输给后端——后端通过解析视频,截取图片交由第三发或自主开发来识别——返回结果(相识度比) 通过分析,只需要做两步骤:打开摄像头和自动读取视频或照片

打开摄像头

分步骤分析:打开摄像头,并展示视频效果在html上,目前有两种方式: 1、使用camera组件进行,借用.createcameracontext()对象来打开摄像头(由于平台差异,uniapp不能在App、H5、支付宝/字节跳动/飞书/360小程序中使用) 2、通过livepusher对象(直播推流技术)实现视频预览和截屏 现在就有两种获取推流的方式了:第一种是nvue开发,第二种vue开发 如果是nvue开发,可以直接使用live-pusher组件进行直播推流,如果是vue开发,则需要使用h5+的plus.video.LivePusher对象来获取

使用NVUE来开发人脸识别

实际实现流程:调用手机摄像头创建直播推流 → 自动截图 → 压缩图片为base64格式→ 上传图片到服务器 → 服务器调用阿里人脸api → 阿里api返回该图片与底图的相似度

html部分<template> <view><div class="custom" :style="{height: CustomBar+'px'}"><view class="navcontent" :style="[{top:statusBar + 'px'}]"><text style="color: #FFFFFF;font-size: 16px;line-height: 45px;" class="iconfont icon-xiangzuo" @click="BackPage">返回</text><text style="color: #FFFFFF;font-size: 16px;line-height: 45px;">人脸识别</text><text></text></view></div> <div class="livefater"><div style="width: 350px;height: 350px;border-radius: 350px;overflow: hidden;background-color: #CCCCCC;"><live-pusher id='livePusher' ref="livePusher" class="livePusher" url=""mode="SD" :muted="true" :enable-camera="true" :auto-focus="true" :beauty="1" whiteness="2"aspect="1:1" @statechange="statechange" @netstatus="netstatus" @error = "error"></live-pusher></div><cover-image src="../static/image/gai.png" class="gaiimg"></cover-image></div> <button class="btn" @click="startPreview">打开摄像头进行人脸识别</button> </view></template>js部分 export default { data: { fil: true,imgList:[""],statusBar:'',CustomBar: 0 },onLoad(){// this.startPreview()}, onReady() { // 注意:需要在onReady中 或 onLoad 延时 this.context = uni.createLivePusherContext("livePusher", this);var that = thisuni.getSystemInfo({ success:function(e){ // 计算导航栏高度that.statusBar = e.statusBarHeight // #ifndef MP if(e.platform == 'android') { that.CustomBar = e.statusBarHeight + 50 }else { that.CustomBar = e.statusBarHeight + 45 } console.log(that.statusBar)// #endif // #ifdef MP-WEIXIN let custom = wx.getMenuButtonBoundingClientRect() that.CustomBar = custom.bottom + custom.top - e.statusBarHeight // #endif // #ifdef MP-ALIPAY that.CustomBar = e.statusBarHeight + e.titleBarHeight // #endif }}) }, methods: {Timer(){}, statechange(e) { console.log("statechange:" + JSON.stringify(e)); }, netstatus(e) { console.log("netstatus:" + JSON.stringify(e)); }, error(e) { console.log("error:" + JSON.stringify(e)); }, start: function() { this.context.start({ success: (a) => { console.log("livePusher.start:" + JSON.stringify(a)); } }); }, close: function() { this.context.close({ success: (a) => { console.log("livePusher.close:" + JSON.stringify(a)); } }); },// 拍照事件 snapshot: function() {var that = this this.context.snapshot({ success: (e) => { console.log(JSON.stringify(e));that.getMinImage(e.message.tempImagePath) } }); },// 开启摄像头 startPreview() {console.log("1")var that = this this.context.startPreview({ success: (a) => { console.log("livePusher.startPreview:" + JSON.stringify(a));that.Timer = setInterval(function(){that.snapshot()if(that.imgList.length>3){console.log("3")clearInterval(that.Timer)}},2000) } }); },// 使用plus.zip.compressImage压缩图片并转换成base64getMinImage(imgPath) {plus.zip.compressImage({src: imgPath,dst: imgPath,overwrite: true,quality: 40},zipRes => {setTimeout(() => {var reader = new plus.io.FileReader();reader.onloadend = res => {var speech = res.target.result; //base64图片console.log(speech);this.imgList.push(speech);};//一定要使用plus.io.convertLocalFileSystemURL将target地址转换为本地文件地址,否则readAsDataURL会找不到文件reader.readAsDataURL(plus.io.convertLocalFileSystemURL(zipRes.target));}, 1000);},function(error) {console.log('Compress error!', error);});},BackPage() {uni.navigateBack({delta: 1});} } }css部分.custom{background-color: #2C65F7;}.navcontent{height: 45px;display: -ms-flex;display: -webkit-flex;display: flex;justify-content:space-around;flex-direction:row;color:#FFFFFF;}.livePusher{width: 350px;height: 350px;}.livefater{display: -ms-flex;display: -webkit-flex;display: flex;justify-content:center;flex-direction:column;align-items:center;margin-top: 50rpx;margin-bottom: 50rpx;height: 350px;}.gaiimg{width: 350px;height: 350px;margin-top: -350px;}使用微信小程序开发人脸识别

微信小程序开发人脸识别,有很大的限制,在于资质审核。 微信文档

本文链接地址:https://www.jiuchutong.com/zhishi/283737.html 转载请保留说明!

上一篇:无痛人流多少钱(无痛人流多少钱?)

下一篇:最新小程序反编译详细教程,亲测可用(小程序在线反编译网页版)

  • 小苹果13怎么打开悬浮球(苹果怎么打出小1)

    小苹果13怎么打开悬浮球(苹果怎么打出小1)

  • 微信注销显示非法请求什么意思(微信注销显示非法请求怎么解决)

    微信注销显示非法请求什么意思(微信注销显示非法请求怎么解决)

  • iphone怎么双应用分屏(苹果手机双应用)

    iphone怎么双应用分屏(苹果手机双应用)

  • 佳能打印机连不上手机(佳能打印机连不上网怎么回事)

    佳能打印机连不上手机(佳能打印机连不上网怎么回事)

  • 直播管理员做什么的(直播间管理员干什么)

    直播管理员做什么的(直播间管理员干什么)

  • 畅连通话跟微信视频区别(畅连通话跟微信的区别)

    畅连通话跟微信视频区别(畅连通话跟微信的区别)

  • qar是什么文件(qar后缀是什么文件)

    qar是什么文件(qar后缀是什么文件)

  • 小米手机fastboot不动怎么解决(小米手机fastboot退不出去)

    小米手机fastboot不动怎么解决(小米手机fastboot退不出去)

  • 苹果11控制中心怎么打开(苹果11控制中心怎么没有自定义控制)

    苹果11控制中心怎么打开(苹果11控制中心怎么没有自定义控制)

  • 瀑布屏和曲面屏区别(瀑布屏和曲面屏哪个贵)

    瀑布屏和曲面屏区别(瀑布屏和曲面屏哪个贵)

  • 手机半个屏幕黑屏(手机半个屏幕黑了怎么办)

    手机半个屏幕黑屏(手机半个屏幕黑了怎么办)

  • 华为p30防水到什么程度(华为p30防水级别高吗)

    华为p30防水到什么程度(华为p30防水级别高吗)

  • qq音乐的收藏在哪里找到(qq音乐收藏的音乐在哪个文件夹)

    qq音乐的收藏在哪里找到(qq音乐收藏的音乐在哪个文件夹)

  • word域代码在哪里(word域代码是什么意思)

    word域代码在哪里(word域代码是什么意思)

  • 换修无忧月付怎么付费(换修无忧取消自动续费)

    换修无忧月付怎么付费(换修无忧取消自动续费)

  • 在域名系统中cn表示什么(在域名系统中,每个域可以再分成一系列的)

    在域名系统中cn表示什么(在域名系统中,每个域可以再分成一系列的)

  • 手机微信的文件在哪个文件夹(手机微信的文件怎么传到电脑上进行打印)

    手机微信的文件在哪个文件夹(手机微信的文件怎么传到电脑上进行打印)

  • 拼多多取消订单会退款吗(拼多多取消订单提示发起24小时后才能取消)

    拼多多取消订单会退款吗(拼多多取消订单提示发起24小时后才能取消)

  • 华为nova5pro和5i有什么区别(华为nova5pro和5i的区别)

    华为nova5pro和5i有什么区别(华为nova5pro和5i的区别)

  • 荣耀20怎么把时间设置24小时(荣耀20怎么把时间显示在手机桌面)

    荣耀20怎么把时间设置24小时(荣耀20怎么把时间显示在手机桌面)

  • 腾讯视频hdr10怎么开(腾讯视频hdr怎么开)

    腾讯视频hdr10怎么开(腾讯视频hdr怎么开)

  • 蓝牙有什么作用(投影仪上的蓝牙有什么作用)

    蓝牙有什么作用(投影仪上的蓝牙有什么作用)

  • vivonex如何开启闪充(vivonex如何开启月亮模式)

    vivonex如何开启闪充(vivonex如何开启月亮模式)

  • 如何使用python绘制折线图?(用python绘制)

    如何使用python绘制折线图?(用python绘制)

  • 印花税减免优惠政策2020
  • 委托收款和托收承付结算方式,都受结算金额起点的限制
  • 个人所得税可以不交税吗
  • 待认证进项税是借方还是贷方
  • 计划成本法委托加工物资例题
  • 无形资产特许权使用费怎么做账
  • 政府往来账
  • 退回剩余工程物资计入什么科目
  • 资本公积提取比例怎么算
  • 有限责任公司(自然人投资或控股)属于什么经济类型
  • 进项借方有余额怎么调账
  • 维护费可以留到明年抵扣吗?
  • 财税2010 121号文件是否作废
  • 个人汽车租给公司租金需多少钱?
  • 企业年金个税如何计提
  • 增值税专用发票使用规定 最新
  • 外贸企业出口货物会计账务处理
  • 信用卡核销是什么意思
  • 固定资产更新改造替换部件怎么做账务处理
  • 永恒之蓝是
  • 无线路由器1200m覆盖范围
  • 情绪情感的特点
  • 培训费发票模板
  • 净资产增加数怎么计算
  • 出口发票汇率按照报关单什么时间计算
  • php开源软件
  • 收到服务费的发票怎么做
  • win10关闭自动更新方法永久
  • php字符串操作函数
  • 缴纳租房押金会被骗吗
  • 房地产开发公式
  • 建筑公司算不算企业
  • Vue Admin Template关闭eslint校验,lintOnSave:false设置无效解决办法
  • phptoken验证原理
  • pytorch基础教程
  • node-
  • vue发布时间
  • CV攻城狮入门VIT(vision transformer)之旅——VIT原理详解篇
  • MMEngine理解
  • mvc框架工作流程
  • 套期工具会计核算
  • 商业积分消费模式
  • 如何顺利完成年度任务
  • 作价出资土地与出让区别
  • 为SQLite3提供一个ANSI到UTF8的互转函数
  • 投资性房地产在资产负债表中的列示
  • 发票开具与小票的关系是怎样的
  • 销售农产品是否交消费税
  • 蔬菜开票税率是多少
  • 增值税的账务处理怎么做
  • 社保缴费基数如何核定
  • 以前年度损益调整是什么意思
  • 应收票据背书转让购买原材料
  • 技术研发费用是什么意思
  • 费用报销单怎么写 样本图片
  • 税控系统技术维护费的申报抵扣方法
  • 试算平衡表的编制方法
  • 计费销售额如何计税
  • 员工个人买的保险可以税前扣除吗
  • 企业开发有多个产品
  • 如何判断应当预见
  • centos6.10安装教程
  • ubuntu12.04.5安装教程
  • Win10怎么修改hosts文件
  • mac终端好玩的命令
  • linux系统的配置
  • linux中统计字符命令
  • win8系统怎么设置开机密码
  • linux错误提示
  • eclipse怎么创建安卓
  • css常用布局方式
  • 自定义dialogfragment
  • 单机模式在哪
  • node运行js文件
  • 江苏国税电子税务局网上申报流程
  • 税务局发票邮寄需要多久
  • 农机行业的利润
  • 天津户籍信息查询
  • 宪法宣誓仪式流程图
  • 审计如何配合教师工作
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设