3D手势识别(二)左右、上下滑动判断

本文介绍了3D手势识别中如何检测手的左右和上下滑动。通过前装摄像头获取图像,首先识别出手部位置,然后进行数据处理如中值滤波,再判断x和y方向的速度或角速度是否超过阈值,以此来确定手的滑动方向。
摘要由CSDN通过智能技术生成

场景:前装摄像头。

检测目标:检测手左右滑动状态,手沿x方向滑动,z轴为深度方向,y、z方向相对稳定。

                    手上下滑动类似。

步骤:

一、图像识别检测手,左右滑取最上点/上下滑取得手的最前点;

二、数据处理:中值滤波、平滑处理和卡尔曼滤波;

三、判断x方向角速度/速度是否超过阈值范围,检测移动方向;

四、判断y方向移动速度是否超过阈值。


部分算法如下:

检测某方向速度是否超过阈值范围,判断移动方向

/************************************
 Description: 用时间1的位置1与时间0的位置0得到速度与阈值比较
 Method:    CheckLeftRight
 FullName:  CheckLeftRight
 Access:    private
 Parameter: 时间1:const TimeStamp &t1
 Parameter: 位置1:float f1
 Parameter: 时间0:const TimeStamp &t0
 Parameter: 位置0:float f0
 Parameter: 速度阈值:thresh
 Parameter: 标签名:输出日志用 const std::string &label_name
 Returns:   int 0表示小于阈值,1/-1表示方向
 Author:    
 Date:      2018/08/30
 History:
************************************/
int CheckLeftRight(const Ti
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值