HTML5¼¼Êõ

»ùÓÚ HTML5 µÄÈËÁ³Ê¶±ð¼¼Êõ

×ÖºÅ+ ×÷ÕߣºÐ¡Ïë À´Ô´£º 2014-11-16 21:26 ÎÒÒªÆÀÂÛ( )

ÉÜÒ»¸öÍøÕ¾£¬ÑÝʾÁËͨ¹ý HTML5 + JavaScript ¼¼ÊõʵÏÖµÄÈËÁ³Ê¶±ð£¬Ä¿Ç°½öÊÊÓÃÓÚ Chrome ä¯ÀÀÆ÷£¬Ê×ÏÈÐèÒªÔÚµØÖ·À¸ÊäÈëabout:flags £¬È»ºóÕÒµ½ÆôÓà MediaStream ÕâÒ»Ïµã»÷ÆôÓà ºóÖØÆô Chrome ä¯

 ÉÜÒ»¸öÍøÕ¾£¬ÑÝʾÁËͨ¹ý HTML5 + JavaScript ¼¼ÊõʵÏÖµÄÈËÁ³Ê¶±ð£¬Ä¿Ç°½öÊÊÓÃÓÚ Chrome ä¯ÀÀÆ÷£¬Ê×ÏÈÐèÒªÔÚµØÖ·À¸ÊäÈë about:flags £¬È»ºóÕÒµ½“ÆôÓà MediaStream” ÕâÒ»Ïµã»÷“ÆôÓÔ ºóÖØÆô Chrome ä¯ÀÀÆ÷

Face detected

È»ºó´ò¿ªÏÂÃæµØÖ·£º

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

µ±ÄãÒ¡Í·»ÎÄÔµÄʱºò£¬ÄǸ±ÑÛ¾µ»á¸ú×ÅÒÆ¶¯²¢°ïÄã´÷ÉÏÑÛ¾µ¡£

Äã¿ÉÒÔ²é¿´ÍøÒ³Ô´ÂëÀ´Á˽â¾ßÌåµÄʵÏÖϸ½Ú¡£

———————————–ÎÒÊÇ·Ö½çÏß———————————————

ÕâÊÇһƪ¹úÍâµÄÎÄÕ£¬½éÉÜÈçºÎͨ¹ý WebRTC¡¢OpenCV ºÍ WebSocket ¼¼ÊõʵÏÖÔÚ Web ä¯ÀÀÆ÷ÉϵÄÈËÁ³Ê¶±ð£¬¼Ü¹¹ÔÚ Jetty Ö®ÉÏ¡£

ʵÏÖµÄЧ¹û°üÀ¨£º

Face Detection result

»¹ÄÜʶ±ðÑÛ¾¦

Eye Detection result

ÈËÁ³Ê¶±ðµÄºËÐÄ´úÂ룺

Ò³Ãæ£º

XML/HTML Code¸´ÖÆÄÚÈݵ½¼ôÌù°å
  1. <div>  
  2. <video id="live" width="320" height="240" autoplay style="display: inline;"></video>  
  3. <canvas width="320" id="canvas" height="240" style="display: inline;"></canvas>  
  4. </div>  
  5.   
  6. <script type="text/javascript">  
  7. var video = $("#live").get()[0];  
  8. var canvas = $("#canvas");  
  9. var ctx = canvas.get()[0].getContext('2d');  
  10.   
  11. navigator.webkitGetUserMedia("video",  
  12. function(stream) {  
  13. video.src = webkitURL.createObjectURL(stream);  
  14. },  
  15. function(err) {  
  16. console.log("Unable to get video stream!")  
  17. }  
  18. )  
  19.   
  20. timer = setInterval(  
  21. function () {  
  22. ctx.drawImage(video, 0, 0, 320, 240);  
  23. }, 250);  
  24. </script>  

 

JavaScript Code¸´ÖÆÄÚÈݵ½¼ôÌù°å
  1. public class FaceDetection {  
  2.   
  3. private static final String CASCADE_FILE ="resources/haarcascade_frontalface_alt.xml";  
  4.   
  5. private int minsize = 20;  
  6. private int group = 0;  
  7. private double scale = 1.1;  
  8.   
  9. /** 
  10. * Based on FaceDetection example from JavaCV. 
  11. */  
  12. public byte[] convert(byte[] imageData) throws IOException {  
  13. // create image from supplied bytearray  
  14. IplImage originalImage = cvDecodeImage(cvMat(1, imageData.length,CV_8UC1, newBytePointer(imageData)));  
  15.   
  16. // Convert to grayscale for recognition  
  17. IplImage grayImage = IplImage.create(originalImage.width(), originalImage.height(), IPL_DEPTH_8U, 1);  
  18. cvCvtColor(originalImage, grayImage, CV_BGR2GRAY);  
  19.   
  20. // storage is needed to store information during detection  
  21. CvMemStorage storage = CvMemStorage.create();  
  22.   
  23. // Configuration to use in analysis  
  24. CvHaarClassifierCascade cascade = newCvHaarClassifierCascade(cvLoad(CASCADE_FILE));  
  25.   
  26. // We detect the faces.  
  27. CvSeq faces = cvHaarDetectObjects(grayImage, cascade, storage, scale, group, minsize);  
  28.   
  29. // We iterate over the discovered faces and draw yellow rectangles around them.  
  30. for (int i = 0; i < faces.total(); i++) {  
  31. CvRect r = new CvRect(cvGetSeqElem(faces, i));  
  32. cvRectangle(originalImage, cvPoint(r.x(), r.y()),  
  33. cvPoint(r.x() + r.width(), r.y() + r.height()),  
  34. CvScalar.YELLOW, 1, CV_AA, 0);  
  35. }  
  36.   
  37. // convert the resulting image back to an array  
  38. ByteArrayOutputStream bout = new ByteArrayOutputStream();  
  39. BufferedImage imgb = originalImage.getBufferedImage();  
  40. ImageIO.write(imgb, "png", bout);  
  41. return bout.toByteArray();  
  42. }  
  43. }  

ÏêϸµÄʵÏÖϸ½ÚÇëÔĶÁÓ¢ÎÄÔ­ÎÄ£º

http://www.smartjava.org/content/face-detection-using-html5-javascript-webrtc-websockets-jetty-and-javacvopencv

¡¡

1.±¾Õ¾×ñÑ­ÐÐÒµ¹æ·¶£¬ÈκÎ×ªÔØµÄ¸å¼þ¶¼»áÃ÷È·±ê×¢×÷ÕߺÍÀ´Ô´£»2.±¾Õ¾µÄÔ­´´ÎÄÕ£¬Çë×ªÔØÊ±Îñ±Ø×¢Ã÷ÎÄÕÂ×÷ÕߺÍÀ´Ô´£¬²»×ðÖØÔ­´´µÄÐÐΪÎÒÃǽ«×·¾¿ÔðÈΣ»3.×÷ÕßͶ¸å¿ÉÄܻᾭÎÒÃDZ༭Ð޸Ļò²¹³ä¡£

Ïà¹ØÎÄÕÂ
  • HTML5½Ì³Ì£ºÓÃHTML5ʵÏÖtwitch3DÓÎÏ·£¨3£©_HTML½Ì³Ì

    HTML5½Ì³Ì£ºÓÃHTML5ʵÏÖtwitch3DÓÎÏ·£¨3£©_HTML½Ì³Ì

    2015-09-25 08:00

  • HTML5½Ì³Ì£ºÓÃHTML5ʵÏÖtwitch3DÓÎÏ·£¨3£©_HTML½Ì³Ì

    HTML5½Ì³Ì£ºÓÃHTML5ʵÏÖtwitch3DÓÎÏ·£¨3£©_HTML½Ì³Ì

    2015-09-25 08:00

  • HTML5½Ì³Ì£ºÓÃHTML5ʵÏÖtwitch3DÓÎÏ·£¨2£©_HTML½Ì³Ì

    HTML5½Ì³Ì£ºÓÃHTML5ʵÏÖtwitch3DÓÎÏ·£¨2£©_HTML½Ì³Ì

    2015-09-24 19:16

  • HTML5½Ì³Ì£ºÓÃHTML5ʵÏÖtwitch3DÓÎÏ·£¨1£©_HTML½Ì³Ì

    HTML5½Ì³Ì£ºÓÃHTML5ʵÏÖtwitch3DÓÎÏ·£¨1£©_HTML½Ì³Ì

    2015-09-24 19:16

ÍøÓѵãÆÀ
¼