亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > HTML5 > 正文

Html5調用手機攝像頭并實現人臉識別的實現

2024-09-05 07:22:45
字體:
來源:轉載
供稿:網友

需求

混合App開發,原生殼子+webApp,在web部分調用原生攝像頭功能并且在網頁指定區域顯示攝像頭內容,同時可以手動拍照并進行人臉識別,將識別結果顯示在網頁上。

技術棧

vue、Html5、video標簽、Android、IOS、百度AI

分析

1、使用navigator.mediaDevices.getUserMedia調用系統原生攝像頭功能
2、video標簽顯示攝像頭內容
3、canvas標簽獲取圖片
4、將圖像上傳服務器,通過百度AI識別圖片
5、web顯示識別結果

核心代碼

1、調用系統原生攝像頭功能并使用video標簽顯示html:

      <video        id="webcam"        :style="videoStyle"        :width="videoWidth"        :height="videoHeight"        loop        preload      >      </video>

JavaScript:

 initVideo() {      let that = this;      this.video = document.getElementById("webcam");      setTimeout(() => {        if (          navigator.mediaDevices.getUserMedia ||          navigator.getUserMedia ||          navigator.webkitGetUserMedia ||          navigator.mozGetUserMedia        ) {          //調用用戶媒體設備, 訪問攝像頭          this.getUserMedia(            {              video: {                width: {                  ideal: that.videoWidth,                  max: that.videoWidth                },                height: {                  ideal: that.videoHeight,                  max: that.videoHeight                },                facingMode: "user",    //前置攝像頭                frameRate: {                  ideal: 30,                  min: 10                }              }            },            this.videoSuccess,            this.videoError          );        } else {          this.$toast.center("攝像頭打開失敗,請檢查權限設置!");        }      }, 300);    },     getUserMedia(constraints, success, error) {      if (navigator.mediaDevices.getUserMedia) {        //最新的標準API        navigator.mediaDevices          .getUserMedia(constraints)          .then(success)          .catch(error);      } else if (navigator.webkitGetUserMedia) {        //webkit核心瀏覽器        navigator.webkitGetUserMedia(constraints, success, error);      } else if (navigator.mozGetUserMedia) {        //firfox瀏覽器        navigator.mozGetUserMedia(constraints, success, error);      } else if (navigator.getUserMedia) {        //舊版API        navigator.getUserMedia(constraints, success, error);      }    },    videoSuccess(stream) {      this.mediaStreamTrack = stream;      this.video.srcObject = stream;      this.video.play();    },    videoError(error) {      console.error(error);      this.$toast.center("攝像頭打開失敗,請檢查權限設置!");    },

2、canvas獲取攝像頭圖片

JavaScript:

 this.canvas = document.createElement("canvas");  .... let context = this.canvas.getContext("2d"); context.drawImage(this.video, 0, 0, this.videoWidth, this.videoHeight); this.imgSrc = this.canvas.toDataURL("image/png");

3、調用百度AI識別圖片

JavaScript:

        let that = this;        let base64Data = this.canvas.toDataURL();        let blob = this.dataURItoBlob(base64Data);           //        var file = new FormData();        file.append("file", blob);        file.append("key", that.uuid);        util.ajax          .post("XXXXXXXXXX", file, {            headers: {              "Content-Type": "multipart/form-data"            }          })          .then(function(response) {            if ((response.status = 200)) {                .....識別成功,顯示結果            } else {                ......識別失敗            }          })          .catch(function(error) {            console.error(error);          });              //base64轉換為Blob    dataURItoBlob(base64Data) {      var byteString;      if (base64Data.split(",")[0].indexOf("base64") >= 0)        byteString = atob(base64Data.split(",")[1]);      else byteString = unescape(base64Data.split(",")[1]);      var mimeString = base64Data        .split(",")[0]        .split(":")[1]        .split(";")[0];      var ia = new Uint8Array(byteString.length);      for (var i = 0; i < byteString.length; i++) {        ia[i] = byteString.charCodeAt(i);      }      return new Blob([ia], { type: mimeString });    },

手機適配

1、由于Android6之后,Android的權限管理出現變化,Android原生的殼子,需要做如下處理:

myWebView.setWebChromeClient(new WebChromeClient() {         @TargetApi(Build.VERSION_CODES.LOLLIPOP)         @Override         public void onPermissionRequest(final PermissionRequest request) {                   request.grant(request.getResources());        }});

2、IOS系統,Safari11之后可用

3、OverconstrainedError錯誤,部分Android手機會報OverconstrainedError錯誤,原因是攝像頭參數設置不合理,找不到指定設置。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人中文字幕在线观看| 一本色道久久88综合日韩精品| 亚洲第一精品夜夜躁人人躁| 亚洲资源在线看| 国产精品爱啪在线线免费观看| 欧美精品久久久久| 国产精品久久久久久av下载红粉| 欧美大片在线看| 国产精品高潮在线| 亚洲国产精品福利| www国产精品com| 亚洲国产精品嫩草影院久久| 亚洲国产成人精品女人久久久| 日韩欧美在线字幕| 日韩av电影中文字幕| 欧美成人免费全部观看天天性色| 欧美日韩国产丝袜另类| 亚洲小视频在线| 欧美激情综合色综合啪啪五月| 国产精品久久久久久久7电影| 日韩欧美在线国产| 91最新国产视频| 国产精品直播网红| 亚洲**2019国产| 国产视频久久久久| 国产精品电影久久久久电影网| 欧美老女人性生活| 亚洲白拍色综合图区| 欧美性在线视频| 午夜精品国产精品大乳美女| 91久久精品国产| 一个色综合导航| 成人免费午夜电影| 欧美香蕉大胸在线视频观看| 欧美xxxwww| 亚洲一区二区中文| 午夜精品久久久久久99热| 国产精品欧美亚洲777777| 成人福利在线视频| 亚洲理论在线a中文字幕| 国产成人亚洲精品| 日本国产高清不卡| 欧美午夜激情视频| 日韩va亚洲va欧洲va国产| 色伦专区97中文字幕| 欧美大成色www永久网站婷| 亚洲福利视频免费观看| 97久久精品视频| 亚洲美女激情视频| 亚洲精品美女久久久| 操人视频在线观看欧美| 欧美大片免费观看在线观看网站推荐| 国产精品视频永久免费播放| 久久久久久国产精品三级玉女聊斋| 97碰在线观看| 中文字幕日韩精品有码视频| 成人激情av在线| 亚洲a级在线观看| 91手机视频在线观看| 久久99久久99精品中文字幕| 日韩精品视频在线| 亚洲 日韩 国产第一| 色在人av网站天堂精品| 性欧美视频videos6一9| 国产成人精品免费视频| 亚洲视频一区二区三区| 日韩精品久久久久久福利| 亚洲一区二区三区四区视频| 久久久视频免费观看| 久久夜色精品国产亚洲aⅴ| 久久久精品一区| 亚洲欧洲一区二区三区久久| 亚洲精品在线看| 色与欲影视天天看综合网| 亚洲日本中文字幕免费在线不卡| 88国产精品欧美一区二区三区| 亚洲国产毛片完整版| 欧美日韩亚洲视频一区| 日本免费在线精品| 亚洲人成在线播放| 亚洲人成电影在线播放| 欧美在线观看www| 成人亚洲激情网| 久久99久久亚洲国产| 国产一区二区三区久久精品| 国产热re99久久6国产精品| 日韩精品www| 国产成人高清激情视频在线观看| 成人两性免费视频| 国产91精品久久久久| 国产精品偷伦一区二区| 国产欧美亚洲视频| 亚洲男人天堂古典| 日韩亚洲第一页| 91精品国产自产91精品| 欧美亚洲另类制服自拍| 国产99久久精品一区二区永久免费| 青青草成人在线| 色琪琪综合男人的天堂aⅴ视频| 精品免费在线观看| 成人免费高清完整版在线观看| 欧美视频在线观看免费网址| 国产精品尤物福利片在线观看| 日韩在线播放视频| 亚洲国模精品私拍| 欧美日韩中文在线观看| 色一情一乱一区二区| 国产精品白嫩初高中害羞小美女| 久久精品色欧美aⅴ一区二区| 国产日韩精品入口| 日韩中文字幕网址| 久精品免费视频| 国产成人欧美在线观看| 亚洲欧洲自拍偷拍| 亚洲精品美女在线| 中文字幕日韩精品有码视频| 日韩高清电影好看的电视剧电影| 亚洲毛茸茸少妇高潮呻吟| 在线视频欧美日韩精品| 啊v视频在线一区二区三区| 国产成人在线播放| 欧美肥臀大乳一区二区免费视频| 欧美激情在线播放| 91精品国产91久久久久久不卡| 国产一区香蕉久久| 日韩精品极品视频免费观看| 久久精品91久久香蕉加勒比| 亚洲人成亚洲人成在线观看| 中文字幕日韩精品在线观看| 国产精品91久久久| 日本精品一区二区三区在线播放视频| 成人美女av在线直播| 97视频在线看| 国产亚洲a∨片在线观看| 川上优av一区二区线观看| 91sa在线看| 日韩av电影免费观看高清| 日韩av免费看| 国产女人18毛片水18精品| 国产丝袜一区二区三区| 国产亚洲欧美另类中文| 欧美成aaa人片免费看| 日韩美女免费观看| 久久久天堂国产精品女人| 日韩第一页在线| 91精品久久久久久久久不口人| 国产成人av在线| 97人洗澡人人免费公开视频碰碰碰| 欧洲日本亚洲国产区| 国产精品一区av| 中文字幕日本精品| 92看片淫黄大片欧美看国产片| 欧美成人免费视频| 亲子乱一区二区三区电影| 精品性高朝久久久久久久| 国产亚洲aⅴaaaaaa毛片| 91精品国产色综合| 最近2019中文免费高清视频观看www99| 永久免费精品影视网站| 在线国产精品视频| 日韩中文字幕在线播放| 亚洲精品自拍偷拍| 欧美视频中文字幕在线| 97久久久久久|