溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

基于HTML5的人臉識別技術(shù)怎么實現(xiàn)

發(fā)布時間:2022-03-07 16:57:54 來源:億速云 閱讀:317 作者:iii 欄目:web開發(fā)

今天小編給大家分享一下基于HTML5的人臉識別技術(shù)怎么實現(xiàn)的相關(guān)知識點,內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

問題:如何通過WebRTC,OpenCV和WebSocket技術(shù)實現(xiàn)在Web瀏覽器上的人臉識別,架構(gòu)在Jetty之上。

實現(xiàn)的效果包括:

人臉檢測結(jié)果

還能識別眼睛

眼睛檢測結(jié)果

人臉識別的核心代碼:

頁面:

XML / HTML代碼將內(nèi)容復(fù)制到文本

< div >  

< video id = “ live”寬度= “ 320” height = “ 240” 自動播放 樣式= “ display:inline;” > </視頻>     

< canvas width = “ 320” id = “ canvas” height = “ 240” style = “ display:inline;” > </ canvas >      

</ div >  

<腳本類型= “ text / javascript” >   

var  video  = $(“#live”)。get()[0];  

var  canvas  = $(“#canvas”);  

var  ctx  =  canvas .get()[0] .getContext('2d');  

navigator.webkitGetUserMedia(“ video”,  

函數(shù)(流){  

video.src  =  webkitURL .createObjectURL(stream);  

},  

函數(shù)(錯誤){  

console.log(“無法獲得視頻流!”)  

}  

)  

計時器 =  setInterval (  

函數(shù)(){  

ctx.drawImage(video,0,0,320,240);  

},250);  

</腳本>  

JavaScript代碼將內(nèi)容復(fù)制到

公共類 FaceDetection {   

私有靜態(tài)最終 字符串CASCADE_FILE = “ resources / haarcascade_frontalface_alt.xml ” ;    

private int  minsize = 20;   

private int 組= 0;   

私人雙倍 比例= 1.1;   

/ ** 

*基于JavaCV的FaceDetection示例。 

* /  

公共字節(jié)[] convert(字節(jié)[] imageData) 引發(fā) IOException {   

//從提供的字節(jié)數(shù)組創(chuàng)建圖像  

IplImage originalImage = cvDecodeImage(cvMat(1,imageData.length,CV_8UC1,newBytePointer(imageData))));  

//轉(zhuǎn)換為灰度以進(jìn)行識別  

IplImage grayImage = IplImage.create(originalImage.width(),originalImage.height(),IPL_DEPTH_8U,1);  

cvCvtColor(originalImage,grayImage,CV_BGR2GRAY);  

//需要存儲以在檢測期間存儲信息  

CvMemStorage存儲= CvMemStorage.create();  

//用于分析的配置  

CvHaarClassifierCascade級聯(lián)= newCvHaarClassifierCascade(cvLoad(CASCADE_FILE));  

//我們檢測到人臉。  

CvSeq faces = cvHaarDetectObjects(grayImage,級聯(lián),存儲,比例,組,最小大?。?  

//我們遍歷發(fā)現(xiàn)的面孔并在其周圍繪制黃色矩形。  

for  (int  i = 0; i <faces.total(); i ++){  

CvRect r = 新的 CvRect(cvGetSeqElem(faces,i));  

cvRectangle(originalImage,cvPoint(rx(),ry()),  

cvPoint(rx()+ r.width(),ry()+ r.height()),  

CvScalar.YELLOW,1,CV_AA,0);  

}  

//將生成的圖像轉(zhuǎn)換回數(shù)組  

ByteArrayOutputStream bout =  new  ByteArrayOutputStream();  

BufferedImage imgb = originalImage.getBufferedImage();  

ImageIO.write(imgb,  “ png” ,bout);  

返回 bout.toByteArray();  

}  

}  

以上就是“基于HTML5的人臉識別技術(shù)怎么實現(xiàn)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI