您好,登錄后才能下訂單哦!
今天小編給大家分享一下基于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è)資訊頻道。
免責(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)容。