uni-app 人脸识别 App端

news2024/9/21 0:29:59

文章目录

  • 背景介绍
  • 开发前准备
  • 基础版获取视频流
  • 人脸识别版本
  • 这时候就可以开心的调试了

背景介绍

本文介绍如何制作人脸打卡等类似功能的实现。
使用nvue+live-pusher来实现。在App端这是成本较低的可以控制样式的方案了
实现了两个版本
基础版本:视频流 => 抓拍照片 => 传给后端
识别版本:视频流 => 抓拍照片 => 检测照片中有无人脸 => 有人脸传给后端

开发前准备

  • live-pusher官网
    官方介绍
  • 云端打包配置权限
    在这里插入图片描述
  • 离线打包权限配置
    安卓离线打包官方教程
    ios离线打包官方教程

基础版获取视频流

  • 效果图如下
    基础视频流
  • 创建face.nvue文件
<!-- 人脸识别 -->
<template>
	<view>
		<live-pusher
			id="livePusher"
			ref="livePusher"
			class="livePusher"
			orientation="horizontal"
			url=""
			mode="SD"
			:muted="true"
			:enable-camera="true"
			:auto-focus="true"
			:beauty="0"
			:whiteness="0"
			aspect="3:2"
			@statechange="statechange"
			@netstatus="netstatus"
			@error="error"></live-pusher>

		<button class="btn" @click="start">开始推流</button>
		<button class="btn" @click="pause">暂停推流</button>
		<button class="btn" @click="resume">resume</button>
		<button class="btn" @click="stop">停止推流</button>
		<button class="btn" @click="snapshot">快照</button>
		<button class="btn" @click="startPreview">开启摄像头预览</button>
		<button class="btn" @click="stopPreview">关闭摄像头预览</button>
		<button class="btn" @click="switchCamera">切换摄像头</button>
	</view>
</template>

<script>
	export default {
   
		data() {
   
			return {
   };
		},
		onReady() {
   
			this.context = uni.createLivePusherContext("livePusher", this);
			this.startPreview();
		},
		methods: {
   
			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 () {
   
				this.context.snapshot({
   
					success: e => {
   
						console.log(JSON.stringify(e));
					}
				});
			},
			resume: function () 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1464866.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

信钰证券午评:沪指震荡微涨,券商、银行板块拉升,Sora概念再爆发

23日早盘&#xff0c;沪指盘中强势拉升&#xff0c;一度克复3000点大关&#xff0c;随后震荡回落&#xff1b;深成指、创业板指、科创50指数等均走低&#xff1b;北向资金大幅流出。 截至午间收盘&#xff0c;沪指微涨0.02%报2988.87点&#xff0c;深成指跌0.48%&#xff0c;创…

一、网络基础知识

1、IP地址和端口号 1.1、IP地址 定义&#xff1a;用于在网络中唯一标识设备的地址。格式&#xff1a;通常由四个数字组成&#xff0c;以点分十进制表示&#xff0c;例如&#xff1a;192.168.0.1。(IPv4)作用&#xff1a;允许网络中的设备相互通信&#xff0c;通过IP地址可以定…

navicat导出数据库表结构信息

需求阐述 要求导出某一数据库表中的所有表的结构&#xff0c;汇总成一个word 准备工作 拿到所有表名&#xff0c;在navicat中执行sql语句&#xff1a;show tables;然后点击导出结果&#xff0c;选择excel格式进行导出。 拿到该数据库所有表名后&#xff0c;在navicat中执行如…

vscode【报错】yarn : 无法将“yarn”项识别为 cmdlet

问题 CMD下载完yarn可以查看到yarn版本&#xff0c;但是进入到vscode控制台报错无法识别&#xff0c;报错内容如下&#xff1a; vscode【报错】yarn : 无法将“yarn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写&#xff0c;如果包括路径&#xff…

Stable Diffusion 模型的概念、类型、下载、安装、使用

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里。 大家好&#xff0c;我是水滴~~ 我们在《Stable Diffusion WebUI 界面介绍》 时&#xff0c;第一个就讲到了 Stable Diffusion 模型&#xff0c;那么这个模型是什么&#xff1f;该从哪儿下载&…

C++入门学习(三十四)值传递,实参-形参

什么是值传递&#xff1f; 值传递&#xff08;Pass by Value&#xff09;是一种参数传递方式&#xff0c;当函数或方法被调用时&#xff0c;将实际参数的值复制一份传递给函数或方法中的形式参数。这意味着在函数或方法内部对形式参数的修改不会影响到实际参数的值。因为形式参…

关于数组去重new Set的详细解释

用于保持数组的唯一性 // test1 const arr [1, 1, 2, 3, 4, 3] // 是一个new Set对象 const arr1 new Set(arr) console.log(arr1); // test2 const brr [1, 1, 2, 3, 4, 3] // 现在是数组对象了 const brr1 [...new Set(brr)] console.log(brr1); 总结 使用new Set后获…

vscode突然连不上服务器了,以前都可以的,并且ssh等其它方式是可以连接到服务器的

过完年回来准备开工干活&#xff0c;突然发现vscode连不上服务器了&#xff0c;奇了怪了&#xff0c;年前都可以的&#xff0c;看了一下报错&#xff0c;如下&#xff0c; 以为是服务器挂了&#xff0c;结果执行ssh xxxxxx 发现是可以远程连接的&#xff0c;看来服务器没有问题…

3分钟看懂设计模式01:策略模式

一、什么是策略模式 定义一些列算法类&#xff0c;将每一个算法封装起来&#xff0c;并让它们可以互相替换。 策略模式让算法独立于使用它的客户而变化&#xff0c;是一种对象行为型模式。 以上是策略模式的一般定义&#xff0c;属于是课本内容。 在没有真正理解策略模式之…

Unity3d Shader篇(九)— 世界空间法线纹理映射

文章目录 前言一、什么是世界空间法线纹理映射&#xff1f;1. 世界空间法线纹理映射工作原理2. 什么是世界空间&#xff1f;3. 切线空间法线纹理映射和世界空间法线纹理映射对比世界空间法线纹理映射&#xff1a;优点&#xff1a;缺点&#xff1a; 切线空间法线纹理映射&#x…

专145+总420+哈尔滨工业大学803信号与系统和数字逻辑电路考研经验哈工大电子信息与通信,真题,大纲,参考书。

自从高考失利没有考入哈工大&#xff0c;一直带着遗憾&#xff0c;今年初试专业课803信号与系统和数字逻辑电路145&#xff0c;总分420顺利圆满哈工大&#xff0c;了却了一块心病&#xff0c;回看这一年的复习起起落落&#xff0c;心中的那块初心&#xff0c;让我坚持到了上岸&…

springmvc+ssm+springboot房屋中介服务平台的设计与实现 i174z

本论文拟采用计算机技术设计并开发的房屋中介服务平台&#xff0c;主要是为用户提供服务。使得用户可以在系统上查看房屋出租、房屋出售、房屋求购、房屋求租&#xff0c;管理员对信息进行统一管理&#xff0c;与此同时可以筛选出符合的信息&#xff0c;给笔者提供更符合实际的…

外汇天眼:外汇交易不可不知的8大风险!

现在外汇交易中的风险主要有哪些&#xff1f; 外汇作为一种投资方式肯定有风险&#xff0c;我们要想的是尽量规避风险。 今天就给大家介绍一下现在外汇交易中的风险主要有哪些&#xff1f; 一、高杠杆风险 由于外汇保证金交易采用的杠杆比例&#xff0c;放大了损失的额度&…

【前端素材】推荐优质后台管理系统APP Zina平台模板(附源码)

一、需求分析 当我们从多个层次来详细分析后台管理系统时&#xff0c;可以将其功能和定义进一步细分&#xff0c;以便更好地理解其在不同方面的作用和实际运作。 1. 功能层次 a. 用户管理功能&#xff1a; 用户注册和登录&#xff1a;管理用户账户的注册和登录过程。权限管…

在Win11上部署Stable Diffusion WebUI Forge

Stable Diffusion WebUI Forge 是 Stable Diffusion WebUI&#xff08;基于 Gradio&#xff09;之上的平台&#xff0c;可简化开发、优化资源管理并加快推理速度。“Forge”这个名字的灵感来自“Minecraft Forge”。这个项目旨在成为SD WebUI的Forge。 与原始 WebUI&#xff0…

【数据结构】链式队列

链式队列实现&#xff1a; 1.创建一个空队列 2.尾插法入队 3.头删法出队 4.遍历队列 一、main函数 #include <stdio.h> #include "./3.linkqueue.h" int main(int…

漫漫数学之旅030

文章目录 经典格言数学习题古今评注名人小传 - 柏拉图 经典格言 不知道正方形对角线与它的边不可通约的人&#xff0c;根本不配人这个称号。——柏拉图&#xff08;Plato&#xff09; 好家伙&#xff0c;想象一下柏拉图老兄正站在古希腊的广场上&#xff0c;手里挥舞着一根画着…

流程图:理解、创建与优化的视觉工具

流程图&#xff1a;理解、创建与优化的视觉工具 引言 在日常生活和工作中&#xff0c;我们经常遇到需要描述一系列步骤或过程的情况。这些步骤可能是制作一杯咖啡、完成一个项目&#xff0c;或者是解决一个复杂的数学问题。流程图&#xff0c;作为一种强大的视觉工具&#xf…

自然语言处理(NLP)—— 神经网络自然语言处理(2)实际应用

本篇文章的第一部分是关于探索词嵌入&#xff08;word embedding&#xff09;向量空间。词嵌入是一种语言模型和文本表示技术&#xff0c;其中单词或短语从词汇表被映射到向量的高维空间中。通过这种方式&#xff0c;可以通过计算向量之间的距离来捕捉单词之间的语义关系。 1.…

PC8260小封装COT控制模式同步降压器18V/6A输出电流只需极少外围元器

描述 PC8260是一个高效率的600kHz&#xff0c;恒定导通时间&#xff08;COT&#xff09;控制模式同步降压DC-DC转换器提供高达6A的电流。PC8260集成主开关和极低同步开关RDS&#xff08;ON&#xff09;以将传导损耗降至最低。低输出电压纹波和小型外部电感器电容器尺寸通过600…