跟踪 JS 对象跟踪器的眼睛
Posted
技术标签:
【中文标题】跟踪 JS 对象跟踪器的眼睛【英文标题】:Tracking JS object tracker eyes 【发布时间】:2018-09-01 06:14:55 【问题描述】:我正在使用 Tracking JS 来帮助检测用户的眼睛是否睁开,然后仅在检测到少于 3 个对象(面部、嘴巴和一只眼睛)时才播放音频。我基本上相信它并且有效,但事件跟踪和更新数据的方式过于频繁,导致体验非常不稳定和不和谐。
目前,我让跟踪器不断检查跟踪器,如下所示:
tracker.on('track', function(event)
if (event.data.length > 2 )
document.body.classList.add("hide");
pauseAudio();
else
document.body.classList.remove("hide");
playAudio();
有没有办法降低运行这个函数的频率或指定它每秒应该运行多少次?
【问题讨论】:
【参考方案1】:您可以使用某种节流机制,lodash
已经构建了它。
_.throttle
,获取一个限流函数和时间,返回一个限流函数,所以你可以这样使用:
const handler = function(event)
if (event.data.length > 2 )
document.body.classList.add("hide");
pauseAudio();
else
document.body.classList.remove("hide");
playAudio();
;
const throttledHandler = _.throttle(handler, 100); // 100ms
tracker.on('track', throttledHandler);
【讨论】:
谢谢@felixmosh,这正是我想要的。很高兴知道和记住!以上是关于跟踪 JS 对象跟踪器的眼睛的主要内容,如果未能解决你的问题,请参考以下文章
通过 Android 眼睛检测和 OpenCV 跟踪在 android 中睁眼和闭眼