1

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

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

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

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

    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);
        });
      });
4

1 回答 1

2

问题已解决。

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);

});
});
于 2015-08-20T08:59:53.043 回答