欢迎来到山村网

基于HTML5 的人脸识别技术核心代码

2019-03-30 09:35:51浏览:536 来源:山村网   
核心摘要:  绍一个网站,演示了通过 HTML5 + JavaScript 技术实现的人脸识别,目前仅适用于 Chrome浏览器,首先需要在地址栏输入 about:

  绍一个网站,演示了通过 HTML5 + Javascript 技术实现的人脸识别,目前仅适用于 Chrome浏览器,首先需要在地址栏输入 about:flags ,然后找到“启用 MediaStream” 这一项,点击“启用” 后重启 Chrome 浏览器

基于HTML5 的人脸识别技术核心代码 山村

  然后打开下面地址:

  http://neave.com/webcam/html5/face/

  当你摇头晃脑的时候,那副眼镜会跟着移动并帮你戴上眼镜。

  你可以查看网页源码来了解具体的实现细节。

  ———————————–我是分界线———————————————

  这是一篇国外的文章,介绍如何通过 WebRTC、OpenCV 和 WebSocket 技术实现在 Web 浏览器上的人脸识别,架构在 Jetty 之上。

  实现的效果包括:

Face Detection result

  还能识别眼睛

Eye Detection result

人脸识别的核心代码:

页面:

XML/HTML Code复制内容到剪贴板
  1. <div>
  2. <videoid="live"width="320"height="240"autoplaystyle="display:inline;"></video>
  3. <canvaswidth="320"id="canvas"height="240"style="display:inline;"></canvas>
  4. </div>
  5. <scripttype="text/javascript">
  6. varvideo=$("#live").get()[0];
  7. varcanvas=$("#canvas");
  8. varctx=canvas.get()[0].getContext('2d');
  9. navigator.webkitGetUserMedia("video",
  10. function(stream){
  11. video.src=webkitURL.createObjectURL(stream);
  12. },
  13. function(err){
  14. console.log("Unabletogetvideostream!")
  15. }
  16. )
  17. timer=setInterval(
  18. function(){
  19. ctx.drawImage(video,0,0,320,240);
  20. },250);
  21. </script>
Javascript Code复制内容到剪贴板
  1. publicclassFaceDetection{
  2. privatestaticfinalStringCASCADE_FILE="resources/haarcascade_frontalface_alt.xml";
  3. privateintminsize=20;
  4. privateintgroup=0;
  5. privatedoublescale=1.1;
  6. publicbyte[]convert(byte[]imageData)throwsIOException{
  7. //createimagefromsuppliedbytearray
  8. IplImageoriginalImage=cvDecodeImage(cvMat(1,imageData.length,CV_8UC1,newBytePointer(imageData)));
  9. //Converttograyscaleforrecognition
  10. IplImagegrayImage=IplImage.create(originalImage.width(),originalImage.height(),IPL_DEPTH_8U,1);
  11. cvCvtColor(originalImage,grayImage,CV_BGR2GRAY);
  12. //storageisneededtostoreinformationduringdetection
  13. CvMemStoragestorage=CvMemStorage.create();
  14. //Configurationtouseinanalysis
  15. CvHaarClassifierCascadecascade=newCvHaarClassifierCascade(cvLoad(CASCADE_FILE));
  16. //Wedetectthefaces.
  17. CvSeqfaces=cvHaarDetectObjects(grayImage,cascade,storage,scale,group,minsize);
  18. //Weiterateoverthediscoveredfacesanddrawyellowrectanglesaroundthem.
  19. for(inti=0;i<faces.total();i++){
  20. CvRectr=newCvRect(cvGetSeqElem(faces,i));
  21. cvRectangle(originalImage,cvPoint(r.x(),r.y()),
  22. cvPoint(r.x()+r.width(),r.y()+r.height()),
  23. CvScalar.YELLOW,1,CV_AA,0);
  24. }
  25. //converttheresultingimagebacktoanarray
  26. ByteArrayOutputStreambout=newByteArrayOutputStream();
  27. BufferedImageimgb=originalImage.getBufferedImage();
  28. ImageIO.write(imgb,"png",bout);
  29. returnbout.toByteArray();
  30. }
  31. }
(责任编辑:豆豆)
下一篇:

html5弹跳球示例代码

上一篇:

超级绚丽的html5的页面代码

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com