欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

tracking.js页面人脸识别插件使用方法

程序员文章站 2022-11-09 16:12:23
tracking.js是页面识别人脸的一个插件,首先是tracking.js的  在下载完tracking.js后,我们需要一个能测试的页面,这个页面需要在...

tracking.js是页面识别人脸的一个插件,首先是tracking.js的 

在下载完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 可以直接用于页面图片的显示。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。