成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > 基于HTML5+tracking.js實現(xiàn)刷臉支付功能

基于HTML5+tracking.js實現(xiàn)刷臉支付功能

熱門標簽:機器人外呼系統(tǒng)存在哪些能力 電話機器人黑斑馬免費 拓展地圖標注 只辦理400電話 平?jīng)龅貓D標注位置怎么弄 電話機器人電銷系統(tǒng)掙話費 南昌仁和怎么申請開通400電話 如何獲取地圖標注客戶 高德地圖標注地點糾錯

最近刷臉支付很火,老板們當然要追趕時代潮流,于是就有了刷臉支付這個項目。前端實現(xiàn)關鍵的技術(shù)是攝像頭錄像,拍照和人臉比對,本文來探討一下如何在html5環(huán)境中如何實現(xiàn)刷臉支付以及開發(fā)過程中遇到的問題。

1.攝像頭1.1input獲取攝像頭

html5中獲取用戶攝像頭,有兩種方式,使用input,如下:

<input type="file" capture="camera" accept="image/*"/>

另外如果想打開相冊,可以這樣:

<input type="file" accept="img/*">

但是這兩種方式都會有兼容性問題,用過的同學可能都知道。

1.2getUserMedia獲取攝像圖

getUserMedia是html5一個新的api,官方一點的定義是:

MediaDevices.getUserMedia()會提示用戶給予使用媒體輸入的許可,媒體輸入會產(chǎn)生一個MediaStream,里面包含了請求的媒體類型的軌道。此流可以包含一個視頻軌道(來自硬件或者虛擬視頻源,比如相機、視頻采集設備和屏幕共享服務等等)、一個音頻軌道(同樣來自硬件或虛擬音頻源,比如麥克風、A/D轉(zhuǎn)換器等等),也可能是其它軌道類型。

簡單一點說就是可以獲取到用戶攝像頭。

同上面input一樣,這種方式也有兼容性問題,不過可以使用其他方式解決,這里可以參考MediaDevices.getUserMedia(),文檔中有介紹"在舊的瀏覽器中使用新的API"。我這里在網(wǎng)上也找了一些參考,總結(jié)出一個相對全面的getUserMedia版本,代碼如下:

// 訪問用戶媒體設備
getUserMedia(constrains, success, error) {
    if (navigator.mediaDevices.getUserMedia) {
        //最新標準API
        navigator.mediaDevices.getUserMedia(constrains).then(success).catch(error);
    } else if (navigator.webkitGetUserMedia) {
        //webkit內(nèi)核瀏覽器
        navigator.webkitGetUserMedia(constrains).then(success).catch(error);
    } else if (navigator.mozGetUserMedia) {
        //Firefox瀏覽器
        navagator.mozGetUserMedia(constrains).then(success).catch(error);
    } else if (navigator.getUserMedia) {
        //舊版API
        navigator.getUserMedia(constrains).then(success).catch(error);
    } else {
        this.scanTip = "你的瀏覽器不支持訪問用戶媒體設備"
    }
}

1.3播放視屏

獲取設備方法有兩個回調(diào)函數(shù),一個是成功,一個是失敗。成功了就開始播放視頻,播放視屏其實就是給video設置一個url,并調(diào)用play方法,這里設置url要考慮不同瀏覽器兼容性,代碼如下:

success(stream) {
    this.streamIns = stream
    // 設置播放地址,webkit內(nèi)核瀏覽器
    this.URL = window.URL || window.webkitURL
    if ("srcObject" in this.$refs.refVideo) {
        this.$refs.refVideo.srcObject = stream
    } else {
        this.$refs.refVideo.src = this.URL.createObjectURL(stream)
    }
    this.$refs.refVideo.onloadedmetadata = e => {
        // 播放視頻
        this.$refs.refVideo.play()
        this.initTracker()
    }
},
error(e) {
    this.scanTip = "訪問用戶媒體失敗" + e.name + "," + e.message
}

注意:

  1. 播放視屏方法最好寫在onloadmetadata回調(diào)函數(shù)中,否則可能會報錯。
  2. 播放視頻的時候出于安全性考慮,必須在本地環(huán)境中測試,也就是http://localhost/xxxx中測試,或者帶有https://xxxxx環(huán)境中測試,不然的話或有跨域問題。
  3. 下面用到的initTracker()方法也好放在這個onloadedmetadata回調(diào)函數(shù)里,不然也會報錯。

2. 捕捉人臉

2.1使用tracking.js捕捉人臉

視屏在video中播放成功之后就開始識別人臉了,這里使用到一個第三方的功能tracking.js,是國外的大神寫的JavaScript圖像識別插件。關鍵代碼如下:

// 人臉捕捉
initTracker() {
    this.context = this.$refs.refCanvas.getContext("2d")    // 畫布
    this.tracker = new tracking.ObjectTracker(['face'])     // tracker實例
    this.tracker.setStepSize(1.7)                           // 設置步長
    this.tracker.on('track', this.handleTracked)            // 綁定監(jiān)聽方法
    try {
        tracking.track('#video', this.tracker)      // 開始追蹤
    } catch (e) {
        this.scanTip = "訪問用戶媒體失敗,請重試"
    }
}

捕獲到人臉之后,可以在頁面上用一個小方框標注出來,這樣有點交互效果。

// 追蹤事件
handleTracked(e) {
    if (e.data.length === 0) {
        this.scanTip = '未檢測到人臉'
    } else {
        if (!this.tipFlag) {
            this.scanTip = '檢測成功,正在拍照,請保持不動2秒'
        }
        // 1秒后拍照,僅拍一次
        if (!this.flag) {
            this.scanTip = '拍照中...'
            this.flag = true
            this.removePhotoID = setTimeout(() => {
                this.tackPhoto()
                this.tipFlag = true
            }, 2000)
        }
        e.data.forEach(this.plot)
    }
}

在頁面中畫一些方框,標識出人臉:

<div class="rect" v-for="item in profile"
             :style="{ width: item.width + 'px', height: item.height + 'px', left: item.left + 'px', top: item.top + 'px'}"></div>
// 繪制跟蹤框
plot({x, y, width: w, height: h}) {
    // 創(chuàng)建框?qū)ο?
    this.profile.push({ width: w, height: h, left: x, top: y })
}

2.2拍照

拍照,就是使用video作為圖片源,在canvas中保存一張圖片下來,注意這里使用toDataURL方法的時候可以設置第二個參數(shù)quality,從0到1,0表示圖片比較粗糙,但是文件比較小,1表示品質(zhì)最好。

// 拍照
tackPhoto() {
    this.context.drawImage(this.$refs.refVideo, 0, 0, this.screenSize.width, this.screenSize.height)
    // 保存為base64格式
    this.imgUrl = this.saveAsPNG(this.$refs.refCanvas)
    // this.compare(imgUrl)
    this.close()
},
// Base64轉(zhuǎn)文件
getBlobBydataURI(dataURI, type) {
    var binary = window.atob(dataURI.split(',')[1]);
    var array = [];
    for(var i = 0; i < binary.length; i++) {
        array.push(binary.charCodeAt(i));
    }
    return new Blob([new Uint8Array(array)], {
        type: type
    });
},
// 保存為png,base64格式圖片
saveAsPNG(c) {
    return c.toDataURL('image/png', 0.3)
}

拍照完成之后就可以把文件發(fā)送給后端,讓后端進行對比驗證,這里后端使用的是阿里云的接口。

3.最后效果

3.1參考代碼demo

最后,demo我已經(jīng)放在github上了,感興趣可以打開看一下。

效果如下:

3.2在項目中落地

最后放在項目中,無非就是最后一個步驟,去調(diào)用接口比對,根據(jù)比對結(jié)果成功是成功還是失敗,決定是人臉支付還是繼續(xù)使用原來的密碼支付,效果如下:

ps:這里人臉比對失敗了,是因為我?guī)е谡郑筒贿谘缆赌樍恕?/p>

總結(jié)

到此這篇關于基于HTML5+tracking.js實現(xiàn)刷臉支付功能的文章就介紹到這了,更多相關html5 刷臉支付內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持腳本之家!

標簽:青島 西藏 池州 漯河 棗莊 新疆 遼源 永州

巨人網(wǎng)絡通訊聲明:本文標題《基于HTML5+tracking.js實現(xiàn)刷臉支付功能》,本文關鍵詞  基于,HTML5+tracking.js,實現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關。
  • 相關文章
  • 下面列出與本文章《基于HTML5+tracking.js實現(xiàn)刷臉支付功能》相關的同類信息!
  • 本頁收集關于基于HTML5+tracking.js實現(xiàn)刷臉支付功能的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    看免费黄色录像| 日韩国产在线观看| 91精品国产777在线观看| 真人做人试看60分钟免费| 午夜剧场免费看| 国产精品成人一区二区三区吃奶| www.97av.com| 黑人与娇小精品av专区| 97精品国产露脸对白| 欧美大片xxxx| 宅男噜噜噜66国产精品免费| 欧洲一级黄色片| 1pon在线| 成熟妇人a片免费看网站| eeuss影院www天堂免费| 日本少妇色视频| 亚洲成人av一区| 91久久精品无码一区二区| 亚洲精品无码久久久久久久| 在线不卡a资源高清| japanese在线视频| 久久男人中文字幕资源站| 特级西西444www| 久久精品久久久久久久| 异国色恋浪漫潭| 国产理论电影在线观看| 黄p免费网站| 国内视频在线精品| 日韩欧美色综合网站| 欧美亚洲国产日韩2020| 亚洲免费成人av电影| 国产一区在线播放| 久久精品无码人妻| 视频一区视频二区视频三区视频四区国产| 91丨九色丨尤物| 国产精品yjizz视频网一二区| 香蕉影视欧美成人| 成人性生交大片免费看视频直播| 四虎成人免费电影| 亚洲精品无人区| 亚洲猫色日本管| 免费一区视频| 99热超碰在线| 日本aa大片在线播放免费看| 成人免费福利片| 欧美大片免费播放| 日韩在线免费| 国产精品精品一区二区三区午夜版| 性色av蜜臀av浪潮av老女人| 91美女片黄在线观看91美女| 9色在线视频网站| 一区二区国产精品| 91精品综合久久久久久| 潮喷失禁大喷水aⅴ无码| 国产精品香蕉一区二区三区| 91av一区二区三区| xxx国产精品| 国产免费一区二区三区网站免费| www.国产亚洲| 国产午夜精品在线观看| 天堂午夜影视日韩欧美一区二区| 天堂一区在线观看| 国产精品波多野结衣| av成人动漫在线观看| www.狠狠操| 色先锋久久影院av| wwwxxx色| 无码人妻av免费一区二区三区| 欧美性xxxxx极品少妇| 美女久久久久| 丰满熟妇人妻中文字幕| 中文字幕av一区二区三区四区| 日韩精品欧美专区| 国产精品毛片久久久久久久久久99999999| 日韩女优av电影在线观看| 日韩精品123区| 欧美大交乱xxxx| 国产毛片视频网站| 可以在线看的av网站| 午夜精品一区二区三级视频| 亚洲国产精久久久久久久| 亚洲国产精品久| 日韩精品在在线一区二区中文| 91在线丨porny丨国产| 日韩av在线看免费观看| 亚洲第一狼人社区| 国产麻豆精品视频| 欧美性猛交xxx乱大交3蜜桃| 中文字幕在线中文字幕日亚韩一区| 一区二区三区精彩视频| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲一区国产一区| 3d玉蒲团在线观看| 国产精品作爱| 无人区乱码一区二区三区| 青青青免费在线视频| 国内自拍在线观看| 99热这里只有精品3| 国产自产女人91一区在线观看| 欧洲人成人精品| 国产精品免费观看高清| 欧美成人影院在线播放| 亚洲视频在线二区| 国产精品-区区久久久狼| 亚洲成a人在线观看| 精品三区视频| 亚洲国产成人精品一区二区| 欧美成人a视频| 一区二区国产视频| 婷婷五月色综合香五月| 国产精品免费不| 性一交一乱一透一a级| 日本电影一区二区| 蜜臀99久久精品久久久久小说| 亚洲视频狠狠| 国产人妻精品一区二区三| 美女又黄又免费的视频| 国产又粗又黄又爽视频| 国产精选一区二区三区不卡催乳| 无码少妇一区二区三区| 狠狠干婷婷色| 3d动漫一区二区三区在线观看| 久久不卡国产精品一区二区| 美国十次了思思久久精品导航| 日韩成人免费观看| 国产精品一区在线免费观看| 91杏吧porn蝌蚪| 国产成人av在线影院| 久久99精品久久久| 日韩在线视频网址| 国产一区二区不卡视频| 欧美日韩在线播放一区二区| 国产一级免费观看| av毛片在线免费观看| 亚洲精品久久久久久久久久| 精品日产一区2区三区黄免费| 天天躁日日躁狠狠躁av| 极品美女销魂一区二区三区免费| 国产成+人+亚洲+欧美+综合| 69国产精品视频| 精品久久久亚洲| 999视频在线免费观看| 欧美高清视频| 欧美中日韩一区二区三区| 成人国产精品免费观看动漫| 中文字幕日韩三级| 亚洲自拍另类综合| 国产午夜精品久久久久久久久| 亚洲男人的天堂在线视频| 影音先锋男人资源在线| 69p69国产精品| 黄色成人美女网站| 在线中文字幕播放| 一区二区三区日韩在线观看| 国产精品第一页第二页第三页| 69亚洲乱人伦| 一区二区福利视频| 免费看成人a| 日韩av在线高清| 日韩动漫在线观看| 黄色国产网站在线播放| 欧美午夜性生活| 亚洲综合精品一区二区| 福利视频在线播放| 老司机午夜激情| 亚洲综合自拍一区| 精品亚洲永久免费精品| 正在播放欧美一区| 国产精品久久国产精麻豆99网站| 一区二区三区四区在线看| 操她视频在线观看| 天堂av电影在线观看| 欧美精品与人动性物交免费看| 高清欧美精品xxxxx在线看| 4444kk亚洲人成电影在线| 日韩在线第三页| 欧美91精品久久久久国产性生爱| 国产成人a亚洲精v品无码| 欧美激情国产精品日韩| 人妻精品久久久久中文字幕69| 一区二区久久精品66国产精品| 一区二区乱子伦在线播放| 国产一区二区三区四区视频| 欧美性猛交 xxxx| 51精品在线| 91视频免费播放| 国产免费一区二区三区网站免费| 国产真实乱偷精品视频免| 2018天天操夜夜操| 亚洲av成人精品毛片| 青娱乐精品视频在线| 成人精品视频一区二区三区尤物| 超碰97av在线| 蜜臀av午夜精品久久| 国精产品一区一区三区有限在线| 欧美三级电影在线观看| 鲁鲁视频www一区二区| 色爱av美腿丝袜综合粉嫩av| 欧美亚洲视频在线观看| 亚洲高清毛片一区二区| 久久精品视频在线观看榴莲视频| 日日天天狠狠| 欧美h片在线观看| 久久久久久久久久久久久久国产| 蜜桃视频一区二区三区在线观看| 黄色av电影在线播放| 老熟妇仑乱视频一区二区| 亚洲卡通欧美制服中文| 91精品高清| 美女亚洲精品| 女同性一区二区三区人了人一| 高潮毛片又色又爽免费| 岛国在线视频免费看| 欧美久久天堂| 九色在线视频观看| 啊v视频在线一区二区三区| 欧美电影免费观看高清| 欧美电影网址| 国产特级黄色大片| 国产原创精品视频| y111111国产精品久久久| 中文字幕一区二区三区四区五区六区| 国产精品久久久久久妇女| 国产视频一区在线观看| 欧美小视频在线| 久久国产精品久久| 成全电影大全在线观看| 久久久久88色偷偷免费| 精品国产一区二区三区不卡在线| 欧美成人一区二区三区在线观看| 蜜臀精品一区二区三区| 国产欧美日韩高清| 91麻豆精品91久久久久久清纯| 日韩国产欧美三级| 欧美日韩精品欧美日韩精品一| 成人免费视频app| 国产探花视频在线观看| 国产一区二区三区视频在线| 欧美经典影片视频网站| 9l视频自拍蝌蚪9l视频成人| 牛牛电影国产一区二区| 精品欧美一区二区三区久久久| 国产成人av一区二区| a级黄色片免费看| 99理论电影网| 亚洲国产一区二区在线观看| 日本三级片在线观看| 男人的天堂导航| japansex久久高清精品| 日韩欧美一区二区三区四区五区| 久久久久亚洲蜜桃| 乱子伦一区二区三区| 欧美一级做性受免费大片免费| 欧美一区二区在线免费观看| 中文字幕免费一区| 好看不卡的中文字幕| 日韩a级大片| 亚洲乱码一区二区三区三上悠亚| 天天干天天操天天做| 国产一区二区三区小说| 天堂综合在线播放| 裸体武打性艳史| 国产成人av福利| 99久久er热在这里只有精品15| 欧洲亚洲精品在线| 91午夜在线播放| 国产成人毛片| 7777久久亚洲中文字幕| 在线观看成人动漫| 亚洲国产高清在线观看| 自拍偷拍亚洲欧美| 国产在线国偷精品产拍免费yy| 国产亚洲电影| 日本天堂一区| 日本视频在线免费观看| 久久国产88| 欧美理伦片在线播放| 在线欧美成人| 全国男人的天堂网| 欧美色图另类| 国产伦理一区二区三区| 国产suv精品一区二区883| 91中文字幕在线观看| 国产盗摄xxxx视频xxx69| 亚洲在线视频观看| av第一福利大全导航| 亚洲有吗中文字幕| 亚欧洲精品视频| 欧美一区二粉嫩精品国产一线天| sm捆绑调教视频| 欧美日韩免费精品| 国产三级精品在线| 欧美日韩一区二区三区四区| 日韩欧美精品在线观看| 成人免费视频国产| 国产精品45p| 免费播放片a高清在线观看| 亚洲国内欧美| 久久亚洲国产成人精品无码区| 美女的胸无遮挡在线观看| 成人夜色视频网站在线观看| 日韩伦理在线视频| 欧美日韩在线播放| 性少妇videosexfreexxx片| 欧美一区三区四区| 日本精品二区| 麻豆精品一区二区| 91看片在线播放| 国产特黄一级片| 欧美无毛视频| 亚洲麻豆一区| 成人国产精品av| 久久久久久久久99精品| 在线观看精品自拍私拍| 97久久香蕉国产线看观看| 中文字幕在线免费看线人| 国产精品极品在线观看| 欧美男男激情videos| 熟女人妻在线视频| 欧美激情一区二区三区蜜桃视频| 操人视频免费看| 大香一本蕉伊线亚洲网| 亚洲综合在线五月| 日韩精品久久久久久久的张开腿让| 神马午夜电影一区二区三区在线观看| 黄色免费观看网站| 精品国产网站地址| 国新精品乱码一区二区三区18|