日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

基于javaweb实现人脸识别

發布時間:2023/12/9 pytorch 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于javaweb实现人脸识别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基于javaweb實現人臉識別

人臉識別庫用百度的人臉API,廢話少說,代碼如下



前端html頁面,樣式根據自己的愛好定義

<div><div id="play" class="btn">開啟攝像</div><div id="take" class="btn">關閉攝像頭</div><video id="video"></video><!-- 盡量在canvas標簽上設置寬高 --><canvas id="canvas" width="300px" height="300px"></canvas> </div>

js代碼

document.getElementById('play').onclick = () => {let constraints = {// video屬性設置video: {width: 300,height: 300},// audio屬性設置//audio: true}var mediaStreamTrack;navigator.mediaDevices.getUserMedia(constraints).then(mediaStream => {// mediaStreamTrack = typeof mediaStream.stop === 'function' ? mediaStream : mediaStream.getTracks()[1];mediaStreamTrack = mediaStream.getTracks()[0]// 成功返回promise對象,接收一個mediaStream參數與video標簽進行對接document.getElementById('video').srcObject = mediaStreamdocument.getElementById('video').play()}).catch(function(err) {console.log(err);})//獲取人臉失敗function getFace(){let canvas = document.getElementById("canvas");let ctx = document.getElementById("canvas").getContext('2d')ctx.drawImage(document.getElementById("video"), 0, 0, 300, 300)let img = canvas.toDataURL('image/jpg')sendBase64(img)}//重復執行某個方法var t1 = window.setInterval(getFace,500);// var t2 = window.setInterval("hello()",3000);//去掉定時器的方法//window.clearInterval(t1);let ctx = document.getElementById("canvas").getContext('2d')ctx.drawImage(document.getElementById("video"), 0, 0, 300, 300)function sendBase64(img){$.ajax({url: '/faceQuery',data:{imagebase64:img,},type: 'POST',dataType: 'json',success: function(res){if(res.error_msg == 'SUCCESS'){window.clearInterval(t1);//關閉攝像頭mediaStreamTrack.stop();console.log("登陸成功")}},error: function(res){console.log(res)}});}}

java代碼,百度云里面的sdk也有代碼,按要求復制粘貼即可

public static final String APP_ID = "你的APP_ID";public static final String API_KEY = "你的API_KEY";public static final String SECRET_KEY = "你的SECRET_KEY ";AipFace client = new AipFace(APP_ID, API_KEY, SECRET_KEY);//人臉搜索public String faceQuery(String imagebase64){//System.out.print(imgName);int index = imagebase64.lastIndexOf(",");if(index != -1) {imagebase64 = imagebase64.substring(index+1);}//去除ata:image/jpeg;base64,前綴//Base64.Decoder decode = Base64.getDecoder();//byte[] byteImg = decode.decode(imagebase64);//把base64轉成字節碼// 傳入可選參數調用接口HashMap<String, String> options = new HashMap<String, String>();options.put("max_face_num", "3");options.put("match_threshold", "70");options.put("quality_control", "NORMAL");options.put("liveness_control", "LOW");options.put("user_id", "1719050104");options.put("max_user_num", "3");String image = imagebase64;String imageType = "BASE64";String groupIdList = "001";// 可選:設置網絡連接參數client.setConnectionTimeoutInMillis(2000);client.setSocketTimeoutInMillis(60000);// 人臉搜索JSONObject res = client.search(image, imageType, groupIdList, options);System.out.println(res.toString(2));return res.toString();}

到這就完了,后端代碼sdk文檔里面有現成的,最主要的是前端代碼,需要開啟攝像頭,獲取實時圖片轉換成base64字符上傳到后端,或者有其他更簡單地方式,沒有深入研究了。

總結

以上是生活随笔為你收集整理的基于javaweb实现人脸识别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。