文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

基于HTML5的人脸识别技术怎么实现

2024-04-02 19:55

关注

今天小编给大家分享一下基于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的人脸识别技术怎么实现”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯