在 node.js 上使用 tracking.js
Use tracking.js on node.js
我正在尝试使用 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';
};
};
据我所知,他们提供了一个 gulp 可以在回购协议中运行的测试,但我无法在任何地方找到合适的模块。
是否有一种优雅的替代方法可以在 node.js 上制作 tracking.js 运行?
latest commit has absolved this problem (from issue #47).
作为附加解决方案 - 您可以查看 Webgazer tracker - 这个提供开箱即用的眼动追踪。您还可以 select 使用哪个跟踪库(包括 tracking.js 作为选项之一)。
UPD
我在这个演示中创建了一个 tracking.js
wolring 版本 - https://plnkr.co/edit/5sRi4H7nhypRy610Nx4K?p=preview ,这不是一个完全 Node.js window-less 环境,但是接近那个。希望对您有所帮助。
我正在尝试使用 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';
};
};
据我所知,他们提供了一个 gulp 可以在回购协议中运行的测试,但我无法在任何地方找到合适的模块。
是否有一种优雅的替代方法可以在 node.js 上制作 tracking.js 运行?
latest commit has absolved this problem (from issue #47).
作为附加解决方案 - 您可以查看 Webgazer tracker - 这个提供开箱即用的眼动追踪。您还可以 select 使用哪个跟踪库(包括 tracking.js 作为选项之一)。
UPD
我在这个演示中创建了一个 tracking.js
wolring 版本 - https://plnkr.co/edit/5sRi4H7nhypRy610Nx4K?p=preview ,这不是一个完全 Node.js window-less 环境,但是接近那个。希望对您有所帮助。