物体手势识别.OpenCV C++

Object gesture recognition. OpenCV C++

本文关键字:C++ OpenCV 手势识别      更新时间:2023-10-16

我正在OpenCV中为学校做一个项目,该项目应该检测一个对象(在我的情况下是绿色球),在我使用该对象做某种手势后,程序应该采取一些行动,即如果我用该对象做一个"C"形,那么程序应该允许我改变对比度。

我已经计算出了物体的跟踪,甚至得到了物体的x和y坐标,但我还没有做手势识别。我想的是,在移动物体时,根据转弯次数和方向来检测转弯。我可以或多或少地识别用户想要做出的动作,即在"C"字母中,我从字母的右上角开始,根据这一点,如果我检测到我的"x"在减少,而我的"y"在增加,然后我检测到"x"正在增加,而"y"也在增加,我可以检测到某种"C"形的动作。形状相似(有点像日本人)く'字符)。

我的问题是,有其他方法吗?也许OpenCV已经有一些功能可以做到这一点了?我试过在这里和谷歌上搜索,但我只得到手识别的主题。

每一点信息都值得赞赏。

据我所知,OpenCV没有提供执行手势识别的内置功能。

要实现手势识别,您可以搜索:

  • 隐马尔可夫模型(HMM)或有限状态机(FSM),将手势建模为一系列状态
  • 动态时间扭曲
  • 还有很多我不知道的方法

但我建议你使用1美元的Unistroke识别器,这是一种在触摸屏上进行手势识别的简单有效的方法。他们的网站上有一个在线演示,并且可以获得源代码。你也可以在他们的网站上寻找其他项目,了解更多关于手势识别的方法。

你可以做的是将对象的2D位置存储在缓冲区中,并在你有足够的数据时开始手势识别。您还可以通过检测手势的开始和结束时间(例如,通过定义感兴趣的区域)来及时界定手势。