国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

UNI-APP 人臉識別分析及實(shí)現(xiàn)(前端)

這篇具有很好參考價值的文章主要介紹了UNI-APP 人臉識別分析及實(shí)現(xiàn)(前端)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

APP開發(fā)一個人臉識別,實(shí)現(xiàn)刷臉功能

實(shí)現(xiàn)流程:

1、打開攝像頭——自動讀取照片——傳輸給后端——后端交由第三發(fā)或自主開發(fā)來識別——返回結(jié)果(相識度比)
2、打開攝像頭——自動讀取視頻——傳輸給后端——后端通過解析視頻,截取圖片交由第三發(fā)或自主開發(fā)來識別——返回結(jié)果(相識度比)
通過分析,只需要做兩步驟:打開攝像頭和自動讀取視頻或照片

打開攝像頭

分步驟分析:打開攝像頭,并展示視頻效果在html上,目前有兩種方式:
1、使用camera組件進(jìn)行,借用.createcameracontext()對象來打開攝像頭(由于平臺差異,uniapp不能在App、H5、支付寶/字節(jié)跳動/飛書/360小程序中使用)
2、通過livepusher對象(直播推流技術(shù))實(shí)現(xiàn)視頻預(yù)覽和截屏
現(xiàn)在就有兩種獲取推流的方式了:第一種是nvue開發(fā),第二種vue開發(fā)
如果是nvue開發(fā),可以直接使用live-pusher組件進(jìn)行直播推流,如果是vue開發(fā),則需要使用h5+的plus.video.LivePusher對象來獲取

使用NVUE來開發(fā)人臉識別

實(shí)際實(shí)現(xiàn)流程:調(diào)用手機(jī)攝像頭創(chuàng)建直播推流 → 自動截圖 → 壓縮圖片為base64格式→ 上傳圖片到服務(wù)器 → 服務(wù)器調(diào)用阿里人臉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">打開攝像頭進(jìn)行人臉識別</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 = this
			uni.getSystemInfo({  
				success:function(e){  
					// 計(jì)算導(dǎo)航欄高度
					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壓縮圖片并轉(zhuǎn)換成base64
			getMinImage(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地址轉(zhuǎn)換為本地文件地址,否則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;
}

使用微信小程序開發(fā)人臉識別

微信小程序開發(fā)人臉識別,有很大的限制,在于資質(zhì)審核。
微信文檔文章來源地址http://www.zghlxwxcb.cn/news/detail-404434.html

到了這里,關(guān)于UNI-APP 人臉識別分析及實(shí)現(xiàn)(前端)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • uni-app微信小程序接入人臉核身SDK

    寫這篇文章是記錄自己使用慧眼的流程,由于網(wǎng)上另外一篇友鏈,并不是很支持uniapp、vue3、ts的架構(gòu) 接?準(zhǔn)備 ?程序前端接?請求有域名?名單限制,如果不添加只能再調(diào)試模式下運(yùn)?,上線前需要將如下兩 個域名在?程序后臺添加服務(wù)器域名 uni-app接? 步驟?:注冊并創(chuàng)

    2024年02月16日
    瀏覽(96)
  • uni-app實(shí)現(xiàn)跨端開發(fā)手機(jī)藍(lán)牙接收和發(fā)送數(shù)據(jù)

    uni-app實(shí)現(xiàn)跨端開發(fā)手機(jī)藍(lán)牙接收和發(fā)送數(shù)據(jù)

    最近接觸uni-app夸終端開發(fā)手機(jī)藍(lán)牙模塊的接收和發(fā)送數(shù)據(jù)功能, 手機(jī)藍(lán)牙模塊接發(fā)收數(shù)據(jù)主要流程步驟如下: 1、初始化手機(jī)藍(lán)牙 2、根據(jù)設(shè)備id獲取藍(lán)牙服務(wù), 3、根據(jù)藍(lán)牙服務(wù)獲取對應(yīng)的藍(lán)牙特征值 4、監(jiān)聽藍(lán)牙特征值數(shù)值變化,發(fā)送對應(yīng)數(shù)據(jù)到藍(lán)牙特征值 具體

    2024年02月12日
    瀏覽(24)
  • Uni-app開發(fā)小程序|基于微信小程序報修系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    Uni-app開發(fā)小程序|基于微信小程序報修系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    作者主頁:編程指南針 作者簡介:Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者、CSDN博客專家 、CSDN內(nèi)容合伙人、掘金特邀作者、阿里云博客專家、51CTO特邀作者、多年架構(gòu)師設(shè)計(jì)經(jīng)驗(yàn)、騰訊課堂常駐講師 主要內(nèi)容:Java項(xiàng)目、Python項(xiàng)目、前端項(xiàng)目、人工智能與大數(shù)據(jù)、簡歷模板、學(xué)習(xí)資料、面試題庫

    2024年02月15日
    瀏覽(36)
  • 微信小程序使用uni-app開發(fā)小程序及部分功能實(shí)現(xiàn)詳解心得

    目錄 一、uni-app 1、簡介 2、開發(fā)工具 3、新建 uni-app項(xiàng)目 4、把項(xiàng)目運(yùn)行到微信開發(fā)者工具 二、實(shí)現(xiàn)tabBar效果 1、創(chuàng)建tabBar頁面 2、配置tabBar 1、創(chuàng)建分包目錄 2、在 pages.json 文件中配置 3、創(chuàng)建分包頁面 四、公用方法封裝 五、搜索功能 1、搜索組件 2、搜索建議實(shí)現(xiàn) 3、本地存儲

    2024年02月11日
    瀏覽(22)
  • WebStorm開發(fā)uni-app ,用vue2實(shí)現(xiàn)手機(jī)APP(apk) + 微信小程序多端項(xiàng)目開發(fā)方案

    WebStorm開發(fā)uni-app ,用vue2實(shí)現(xiàn)手機(jī)APP(apk) + 微信小程序多端項(xiàng)目開發(fā)方案

    我們主要分析了如下小程序開發(fā)框架,主要包括: 框架 技術(shù)棧 案例 微信小程序 支付寶小程序 百度小程序 頭條小程序 H5 App uni-app Vue 豐富 ? ?? ?? ? ?? ? Taro React 豐富 ? ? ? ? ? ? wepy Vue 豐富 ? ? ? ? ? ? mpvue Vue 豐富 ? ? ? ? ?? ? ?首先,就要排

    2024年02月08日
    瀏覽(44)
  • 跨平臺應(yīng)用開發(fā)進(jìn)階(五十)uni-app ios web-view嵌套H5項(xiàng)目白屏問題分析及解決

    跨平臺應(yīng)用開發(fā)進(jìn)階(五十)uni-app ios web-view嵌套H5項(xiàng)目白屏問題分析及解決

    應(yīng)用 uni-app 框架開發(fā)好APP上架使用過程中,發(fā)現(xiàn)應(yīng)用經(jīng)過長時間由后臺切換至前臺時,通過 webview 方式嵌套的H5頁面發(fā)生白屏現(xiàn)象。 任何手機(jī)設(shè)備上,當(dāng)手機(jī)內(nèi)存不足時,os都會回收資源。一般是先回收后臺打開的資源。如果當(dāng)前應(yīng)用占用的資源過高,當(dāng)前應(yīng)用也有可能崩潰

    2024年02月14日
    瀏覽(24)
  • uni-app/vue 文字轉(zhuǎn)語音朗讀(附小程序語音識別和朗讀)

    uni-app/vue 文字轉(zhuǎn)語音朗讀(附小程序語音識別和朗讀)

    ? ? 語音播報的實(shí)現(xiàn)的方法有很多種,我這里介紹集中不引用百度、阿里或者迅飛的API的實(shí)現(xiàn)方式。 一、采用new SpeechSynthesisUtterance的方式 廢話不多說直接上代碼 方法的結(jié)束事件 二、采用speak-tts插件的方式 1、安裝speak-tts 2.使用 三、微信小程序可以采用微信提供的插件 1、添

    2024年02月16日
    瀏覽(298)
  • 前端vue uni-app自定義精美海報生成組件

    前端vue uni-app自定義精美海報生成組件

    在當(dāng)前技術(shù)飛速發(fā)展的時代,軟件開發(fā)的復(fù)雜度也在不斷提高。傳統(tǒng)的開發(fā)方式往往將一個系統(tǒng)做成整塊應(yīng)用,一個小的改動或者一個小功能的增加都可能引起整體邏輯的修改,從而造成牽一發(fā)而動全身的情況。為了解決這個問題,組件化開發(fā)逐漸成為了一種趨勢。通過組件

    2024年02月14日
    瀏覽(32)
  • uni-app開發(fā)記錄

    uni-app開發(fā)記錄

    目錄 uni-app目錄結(jié)構(gòu) uni-app中的事件 uni-app中的組件通信 頁面通信 組件間通信 節(jié)點(diǎn)操作 定義全局scss變量 APP相關(guān) 解決uniapp編譯到APP出現(xiàn)頁面抖動與滑動條 tabbar添加一個位于中間的按鈕 uni.pageScrollTo滾動問題 靜態(tài)資源只能存放在static文件夾內(nèi) 通過 uni.$emit(\\\"事件名\\\",val) 創(chuàng)建事件

    2024年02月05日
    瀏覽(24)
  • uni-app前端H5頁面底部內(nèi)容被tabbar遮擋

    uni-app前端H5頁面底部內(nèi)容被tabbar遮擋

    在用uniapp寫小程序的時候,底部有一部分內(nèi)容沒顯示出來,被底部的tabbar遮擋住了 給最外部的view設(shè)置樣式 padding-bottom: var(--window-bottom) ,如下 參考1 參考2 使用 uni-app 框架開發(fā)的一個項(xiàng)目,發(fā)現(xiàn) H5 端頁面底部的內(nèi)容被導(dǎo)航欄(Tabbar)遮擋,小程序端可以正常顯示。 查閱資料

    2024年02月04日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包