【发布时间】:2014-01-08 20:28:17
【问题描述】:
我正在做一些基于计算机视觉的手势识别工作。在这里,我想检测我的手做的一个圆圈(圆周运动)。我的初始阶段工作正常,我能够从我正在绘制的每一帧中获得一个质心的 blob。这本质上是我的数据集。二维坐标点的集合。现在我想检测一个圆形运动,并说生成一个对“检测到圆形”的函数的调用。圆形检测器将给出 YES / NO 布尔输出。 这是我在 40 帧中生成的数据集的示例
x、y 值只是使用 MATLAB 绘制到位图图像上。 我最初的手部动作很慢,后来我加快了速度,在规定的时间内(40 帧)完成了圆圈。关于帧数没有硬性规定,但现在我使用 40 帧滑动窗口进行圆形检测 (0-39) 然后 (1-40) 然后 (2-41) 等等。 我还使用以下方法计算连续点之间的反正切:
angle = atan2(prev_y - y, prev_x - x) * 180 / pi;
现在我应该采取什么方法来检测一个圆圈(这个示例图像应该会导致“是”)。我注意到的角度并没有从 0 到 360 稳定地增加。它确实增加了,但到处都有跳跃。
【问题讨论】:
标签: image-processing gesture gesture-recognition gestures