tracking.js页面人脸识别插件使用方法
tracking.js是页面识别人脸的一个插件,首先是tracking.js的git地址
在下载完tracking.js后,我们需要一个能测试的页面,这个页面需要在服务器上,比如本地的localHost:8080。然后需要引入两个检查人脸必须的文件tracking-min.js和face-min.js。`
varvideo=document.getElementById('video');
varcanvas=document.getElementById('canvas');
varcontext=canvas.getContext('2d');
vartracker=newtracking.ObjectTracker('face');
tracker.setInitialScale(4);
tracker.setStepSize(2);
tracker.setEdgesDensity(0.1);
tracking.track('#video',tracker,{camera:true});
tracker.on('track',function(event){
context.clearRect(0,0,canvas.width,canvas.height);
event.data.forEach(function(rect){
context.strokeStyle='#a64ceb';
context.strokeRect(rect.x,rect.y,rect.width,rect.height);
context.font='11pxHelvetica';
context.fillStyle="#fff";
context.fillText('x:'+rect.x+'px',rect.x+rect.width+5,rect.y+11);
context.fillText('y:'+rect.y+'px',rect.x+rect.width+5,rect.y+22);
});
});`
上面这些事主要的人脸检测使用代码其中:
tracker.setInitialScale(4);
tracker.setStepSize(2);
tracker.setEdgesDensity(0.1);
这些是设置的参数,文档中没有明确的说明,暂时不知道用处。可以通过tracker.stop()来停止页面对人脸的监听。
如果是要监听摄像头的人像就必须判断浏览器是否支持接入摄像头,其中最主要的方法是navigator.getUserMedia,具体的说明参考这里。在获取摄像头之后就可以监听摄像头,判断是否有人脸,在track事件中就可以截取需要的图片。
具体的截取方法:
varcanvas=$('canvas'),
context=canvas.getContext('2d'),
video=$('video');
context.drawImage(video,0,0,200,150);
varsnapData=canvas.toDataURL('image/png'),
varimgSrc="data:image/png;"+snapData;
imgSrc可以直接用于页面图片的显示。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
