假设我有一个电脑视觉系统能追踪多个彩色斑点。此外,假设我想要在一个多点触摸系统中表示“手指”。现在,我有很多例子,我可以看看如何做多点触摸手势。然而,我似乎找不到一个明确的解释,一个“触摸”事件是如何定义的第一。最好的情况是,系统可以检测blob大小,我可以说一些类似于"blobSize>minSize=touch“的东西。最坏的情况。我只能探测到位置。我是在等着水珠静止一段时间,还是什么?
发布于 2017-01-27 07:29:38
触摸事件,相当于鼠标点击,将是一个小块出现,然后消失,在发生之间的最小移动,或足够接近一个可点击的项目。
你必须对以下方面有一些宽容:
当使用跟踪物体的计算机视觉系统来表示指尖,即一些跟踪目标时,可能会从视场的边缘跟踪它们,这当然与触摸跟踪不同,在那里你可以举起你的手指来结束触摸。
对于这类系统,您必须实现一个有状态的系统,其中有一个目标的阈值大小,甚至一个增量大小,它表示相机到目标的距离是一个固定的距离,或者是一个不可见的表面,或者是一个向目标移动的运动,那么一个不改变目标大小超过给定阈值的运动将构成一个拖动,而将其减少更多的运动将是一个按钮向上事件。
或者,也可以使用一种机制,类似于眼睛跟踪系统,其中,屏幕活动区域上的暂停被视为按钮向下,而较长的暂停被看作是对按钮的更改,然后是因为按钮释放而在下降目标处暂停。
在这两种情况下,我强烈建议还实现一种用户培训模式,在这种模式中,用户和系统相互调整,为构成单击和保持的目标大小或暂停长度调整阈值。记住,人们有不同大小的手指,动作率,习惯等,而且系统总是更好地向用户学习,而不是反过来。此外,记住,大多数人永远不能保持他们的手指绝对不动任何时间,所以你将需要允许一个阈值,多少运动不计算。
https://softwareengineering.stackexchange.com/questions/341006
复制相似问题