文章主要为大家详细介绍了tracking.js页面识别人脸插件使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
tracking.js是页面识别人脸的一个插件,首先是tracking.js的git地址
在下载完tracking.js后,我们需要一个能测试的页面,这个页面需要在服务器上,比如本地的localHost:8080。然后需要引入两个检查人脸必须的文件tracking-min.js和face-min.js。 `
var video = document.getElementById(
'video');
var canvas = document.getElementById(
'canvas');
var context = canvas.getContext(
'2d');
var tracker = new tracking.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 =
'11px Helvetica';
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事件中就可以截取需要的图片。
具体的截取方法:
var
canvas = $(
'canvas'
),
context = canvas.getContext(
'2d'
),
video = $(
'video'
);
context.drawImage(video, 0, 0, 200, 150);
var
snapData = canvas.toDataURL(
'image/png'
),
var
imgSrc =
"data:image/png;"
+ snapData;
imgSrc 可以直接用于页面图片的显示。
以上就是本文的全部内容,希望对大家的学习有所帮助。
分享到:
投诉收藏