在node.js上使用tracking.js

Use tracking.js on node.js

本文关键字:js tracking node      更新时间:2023-09-26

我正在尝试用node.js对图像进行一些颜色跟踪。我发现tracking.js非常适合这项工作。我已经在浏览器中解决了这个问题。当我试图将事情转移到node.js时,我意识到tracking.js依赖于DOM元素将图像转换为矩阵等。

我的用例看起来像这样(来自tracking.js的例子):

window.onload = function() {
  var img = document.getElementById('img');
  var demoContainer = document.querySelector('.demo-container');
  var tracker = new tracking.ColorTracker(['magenta', 'cyan', 'yellow']);
  tracker.on('track', function(event) {
    event.data.forEach(function(rect) {
      window.plot(rect.x, rect.y, rect.width, rect.height, rect.color);
    });
  });
  tracking.track('#img', tracker);
  window.plot = function(x, y, w, h, color) {
    console.log('found ',color,' at ',x,y,w,h) // these results would be used in node.js
    var rect = document.createElement('div');
    document.getElementById('bdy').appendChild(rect);
    rect.classList.add('rect');
    rect.style.border = '2px solid ' + color;
    rect.style.width = w + 'px';
    rect.style.height = h + 'px';
    rect.style.left = (img.offsetLeft + x) + 'px';
    rect.style.top = (img.offsetTop + y) + 'px';
  };
};

据我所知,他们提供了一个在repo中工作的gulp测试,但我在任何地方都找不到合适的模块。

是否有一种优雅的替代方法使tracking.js在node.js上运行?

最近的提交已经解决了这个问题(从问题#47开始)。

作为额外的解决方案-你可以看看Webgazer跟踪器-它提供了开箱即用的眼动追踪。你也可以选择使用哪个跟踪库(包括tracking.js作为选项之一)。

乌利希期刊指南

我已经创建了一个版本的tracking.js工作在这个演示- https://plnkr.co/edit/5sRi4H7nhypRy610Nx4K?p=preview,这不是一个完全的Node.js无窗口的环境,但接近。希望对大家有所帮助。