今天小编给大家分享一下基于HTML5的人脸识别技术怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
问题:如何通过WebRTC,OpenCV和WebSocket技术实现在Web浏览器上的人脸识别,架构在Jetty之上。
实现的效果包括:
人脸检测结果
还能识别眼睛
眼睛检测结果
人脸识别的核心代码:
页面:
XML / HTML代码将内容复制到文本
< 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”,
函数(流){
video.src = webkitURL .createObjectURL(stream);
},
函数(错误){
console.log(“无法获得视频流!”)
}
)
计时器 = setInterval (
函数(){
ctx.drawImage(video,0,0,320,240);
},250);
</脚本>
JavaScript代码将内容复制到
公共类 FaceDetection {
私有静态最终 字符串CASCADE_FILE = “ resources / haarcascade_frontalface_alt.xml ” ;
private int minsize = 20;
private int 组= 0;
私人双倍 比例= 1.1;
/ **
*基于JavaCV的FaceDetection示例。
* /
公共字节[] convert(字节[] imageData) 引发 IOException {
//从提供的字节数组创建图像
IplImage originalImage = cvDecodeImage(cvMat(1,imageData.length,CV_8UC1,newBytePointer(imageData))));
//转换为灰度以进行识别
IplImage grayImage = IplImage.create(originalImage.width(),originalImage.height(),IPL_DEPTH_8U,1);
cvCvtColor(originalImage,grayImage,CV_BGR2GRAY);
//需要存储以在检测期间存储信息
CvMemStorage存储= CvMemStorage.create();
//用于分析的配置
CvHaarClassifierCascade级联= newCvHaarClassifierCascade(cvLoad(CASCADE_FILE));
//我们检测到人脸。
CvSeq faces = cvHaarDetectObjects(grayImage,级联,存储,比例,组,最小大小);
//我们遍历发现的面孔并在其周围绘制黄色矩形。
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);
}
//将生成的图像转换回数组
ByteArrayOutputStream bout = new ByteArrayOutputStream();
BufferedImage imgb = originalImage.getBufferedImage();
ImageIO.write(imgb, “ png” ,bout);
返回 bout.toByteArray();
}
}
以上就是“基于HTML5的人脸识别技术怎么实现”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。