跟踪 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 中睁眼和闭眼

sql的查询分析器跟踪技巧,找的眼睛都大了,有啥技巧吗?

手写 asm.js - 你如何跟踪堆中的 javascript 对象?

日志文件跟踪工具

什么是光线跟踪,是如何实现实时三维图形的?