物体手势识别.OpenCV C++
Object gesture recognition. OpenCV C++
我正在OpenCV中为学校做一个项目,该项目应该检测一个对象(在我的情况下是绿色球),在我使用该对象做某种手势后,程序应该采取一些行动,即如果我用该对象做一个"C"形,那么程序应该允许我改变对比度。
我已经计算出了物体的跟踪,甚至得到了物体的x和y坐标,但我还没有做手势识别。我想的是,在移动物体时,根据转弯次数和方向来检测转弯。我可以或多或少地识别用户想要做出的动作,即在"C"字母中,我从字母的右上角开始,根据这一点,如果我检测到我的"x"在减少,而我的"y"在增加,然后我检测到"x"正在增加,而"y"也在增加,我可以检测到某种"C"形的动作。形状相似(有点像日本人)く'字符)。
我的问题是,有其他方法吗?也许OpenCV已经有一些功能可以做到这一点了?我试过在这里和谷歌上搜索,但我只得到手识别的主题。
每一点信息都值得赞赏。
据我所知,OpenCV没有提供执行手势识别的内置功能。
要实现手势识别,您可以搜索:
- 隐马尔可夫模型(HMM)或有限状态机(FSM),将手势建模为一系列状态
- 动态时间扭曲
- 还有很多我不知道的方法
但我建议你使用1美元的Unistroke识别器,这是一种在触摸屏上进行手势识别的简单有效的方法。他们的网站上有一个在线演示,并且可以获得源代码。你也可以在他们的网站上寻找其他项目,了解更多关于手势识别的方法。
你可以做的是将对象的2D位置存储在缓冲区中,并在你有足够的数据时开始手势识别。您还可以通过检测手势的开始和结束时间(例如,通过定义感兴趣的区域)来及时界定手势。
相关文章:
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 尝试导入pybind-opencv模块时出现libgtk错误
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- OpenCV EqualizeHist()从彩色图像创建黑白图像
- 将OpenCV C++重写为EmguCV C#-如何使用指针
- OpenCV C++.快速计算混淆矩阵
- 在C++代码中包含opencv时,使用ctypes创建.so文件
- 哪些库可以通过Opencv调整曝光率
- 安装opencv失败-粘贴CMakeError.log的内容
- C++中的openCV Mat访问冲突
- OpenCV Android C++ imwrite not found
- 未定义的引用 .. 使用 OpenCV 编译 C++ 代码时,从命令行
- 将 OpenCV 与 CMAKE 中的项目一起构建为第三方库的正确方法
- CV_OCL_RUN宏如何在OpenCV(版本3.4.5)的goodFeaturesToTrack实现中工作?
- OpenCV 4.1.2 - 从网络摄像头获取帧并将其拆分
- C++ OpenCV 卡尔曼滤波器构造函数错误
- 使用OpenCV和覆盆子上的多个网络摄像头拍摄延时摄影,出现多个V4L错误
- 如何使用OpenCV-C++编写*.mp4视频?
- Mingw-64 在构建和安装后不会编译 openCV 代码