tracking.js 下的人脸检测与截取图像

    tracking.js是页面识别人脸的一个插件,首先是tracking.js的git地址:https://github.com/eduardolundgren/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 可以直接用于页面图片的显示。

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
tracking.js是一个基于JavaScript的电脑视觉库,用于实时在浏览器中进行人脸检测、追踪和分析。从理论上讲,tracking.js可以在安卓平台上运行。然而,实际上在安卓设备上使用tracking.js需要考虑一些因素。 首先,安卓设备的性能可能会影响tracking.js的运行效果。由于安卓设备的处理能力和浏览器性能的限制,tracking.js可能会在某些较老的或低端的安卓设备上运行较慢或出现卡顿。因此,对于性能较弱的设备,可能需要进行优化或选择其他适合该设备的人脸检测库。 其次,安卓设备上的浏览器兼容性也可能影响tracking.js的使用。尽管tracking.js是基于JavaScript的库,但不同的浏览器在JavaScript的支持和实现方面可能存在差异。因此,在选择使用tracking.js之前,需要确保目标安卓设备上的浏览器支持所需的JavaScript功能,并且在不同的浏览器上进行兼容性测试。 另外,安卓设备上的摄像头也是使用tracking.js的关键因素之一。tracking.js需要通过设备摄像头捕捉图像帧进行人脸检测和追踪。因此,需要确保安卓设备上的摄像头能够正常工作,并与tracking.js兼容。 总而言之,理论上讲tracking.js可以在安卓设备上使用,但需要考虑设备性能、浏览器兼容性以及摄像头等因素的影响。在实际使用中,应根据具体情况综合考虑,并进行必要的优化和测试,以确保tracking.js在安卓设备上正常运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值