无法使用tracking.js跟踪眼睛

Unable to track eyes using tracking.js

本文关键字:js 跟踪 眼睛 tracking      更新时间:2023-09-26

我正在创建一个盯着眼睛的游戏。我用过meteorjs, trackingjs来跟踪东西,用peerjs来流媒体。在旧版本的trackingjs中,眼睛检测功能已经存在,但在新版本中,只有面部检测功能可用。这是只跟踪面部的演示应用程序。http://sushantbaj.meteor.com/这是我到github仓库的链接:https://github.com/sushant12/eye-staring在trackingjs的文档中,据说

为了使用对象跟踪器,您需要实例化构造函数传递要检测的分类器数据:

var objects = new tracking.ObjectTracker(['face', 'eye', 'mouth']); 

所以我传递'eye'作为参数,但它没有跟踪我的眼睛。

    var tracker = new tracking.ObjectTracker('eye');
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);
        });
      });

问题已经解决了。

var tracker = new tracking.ObjectTracker('eye');
tracker.setStepSize(1.7);
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);
});
});