发明内容
基于上述问题,本发明提供了一种基于深度摄像头的菜单控制方法及系统,避免了用户动作记忆以及感应区划分的问题,只需要用户的控制部位在深度摄像头的控制区域内的任意位置处悬停一定时间,随时都可以生成相应的控制菜单,进而进行选择控制等操作,从而大大简化了非触控的系统控制。
本发明提供的基于深度摄像头的菜单控制方法,用于在人机交互系统中进行菜单的选择控制,包括以下步骤:
获取用户区域内的图像深度信息;
根据获取的所述图像深度信息确认控制部位,并对所述控制部位进行跟踪识别;
根据所述控制部位在深度摄像头的视场范围内任意位置处的移动状态,生成并选中相应的菜单;
执行选中的菜单指令。
在其中一个实施例中,所述根据控制部位在深度摄像头的视场范围内任意位置处的移动状态,生成并选中相应的菜单,包括如下步骤:
打开菜单控制界面;
当控制部位移动至深度摄像头的视场范围内时,判断所述控制部位在所述视场范围内任意位置处的悬停时间是否大于预设的第一阈值时间;
若判断所述控制部位在所述视场范围内的相应位置处悬停时间大于预设的第一阈值时间,则生成菜单列表;
将生成的所述菜单列表显示在当前所述控制部位在屏幕上的映射位置处,并在屏幕上所述菜单列表所在位置的预设范围内,生成菜单列表感应区以及相应的菜单感应区;
当所述控制部位移动至所述菜单列表中的相应的菜单感应区时,判断所述控制部位在所述相应的菜单感应区悬停时间是否大于预设的第二阈值时间;
若判断所述控制部位在所述相应的菜单感应区悬停时间大于预设的第二阈值时间,则选中所述菜单。
在其中一个实施例中,在判断所述控制部位在所述相应的菜单感应区悬停时间是否大于预设的第二阈值时间后,还包括如下步骤:
若判断所述控制部位在所述相应的菜单感应区悬停时间小于或者等于所述预设的第二阈值时间,则进一步判断所述控制部位是否在所述菜单列表感应区内;
若判断所述控制部位在所述菜单列表感应区内,则保持所述菜单列表;
若判断所述控制部位移动至所述菜单列表感应区外,则关闭所述菜单列表。
在其中一个实施例中,所述若控制部位在所述相应的菜单感应区悬停时间大于预设的第二阈值时间,则选中所述菜单之后,还包括以下步骤:
生成子菜单列表;
将生成的所述子菜单列表显示在当前所述控制部位在屏幕上的映射位置处,并在屏幕上所述子菜单列表所在位置的预设范围内,生成子菜单列表感应区以及相应的子菜单感应区;
当所述控制部位移动至所述子菜单列表中的相应的子菜单感应区时,判断所述控制部位在所述相应的子菜单感应区悬停时间是否大于预设的第三阈值时间;
若所述控制部位在所述相应的子菜单感应区悬停时间大于预设的第三阈值时间,则选中所述子菜单。
在其中一个实施例中,所述判断控制部位在相应的子菜单感应区悬停时间是否大于所述预设的第三阈值时间后,还包括以下步骤:
若判断所述控制部位在相应的子菜单感应区悬停时间小于或者等于所述预设的第三阈值时间,则进一步判断所述控制部位是否在所述子菜单列表感应区内;
若判断所述控制部位在所述子菜单列表感应区内,则保持所述子菜单列表;
若判断所述控制部位移动至所述子菜单列表感应区外,则关闭所述子菜单列表。
在其中一个实施例中,所述获取用户区域内的图像深度信息之后,还包括如下步骤:
根据获取的所述用户区域内的图像深度信息,提取控制用户信息。
在其中一个实施例中,所述控制部位包括但不限于用户的手指、手掌、头部以及躯干。
相应的,本发明提供的基于深度摄像头的菜单控制系统,用于在人机交互系统中进行菜单的选择控制,包括用户端、深度信息获取装置以及云台控制服务器;
所述深度信息采集装置,用于获取用户区域内的图像深度信息;
所述云台控制服务器包括跟踪模块、菜单控制模块以及执行模块,其中:
所述跟踪模块,用于根据获取的所述图像深度信息确认控制部位,并对所述控制部位进行跟踪识别;
所述菜单控制模块,用于根据所述控制部位在深度摄像头的视场范围内任意位置处的移动状态,生成并选中相应的菜单;
所述执行模块,用于执行选中的菜单指令。
在其中一个实施例中,所述菜单控制模块,包括启动模块、判断模块、菜单列表生成模块、菜单显示模块、菜单预选模块、菜单选中模块,其中:
所述启动模块,用于打开菜单控制界面;
所述判断模块,用于当控制部位移动至深度摄像头的视场范围内时,判断所述控制部位在所述视场范围内任意位置处的悬停时间是否大于预设的第一阈值时间;
所述菜单列表生成模块,用于在判断所述控制部位在所述视场范围内的相应位置处悬停时间大于预设的第一阈值时间后,生成菜单列表;
所述菜单显示模块,用于将生成的所述菜单列表显示在当前所述控制部位在屏幕上的映射位置处,并在屏幕上所述菜单列表所在位置的预设范围内,生成菜单列表感应区以及相应的菜单感应区;
所述菜单预选模块包括第一判断子模块,所述第一判断子模块用于当所述控制部位移动至所述菜单列表中的相应的菜单感应区时,判断所述控制部位在所述相应的菜单感应区悬停时间是否大于预设的第二阈值时间;
所述菜单选中模块包括菜单选中子模块,所述菜单选中子模块用于在判断所述控制部位在所述相应的菜单感应区悬停时间大于预设的第二阈值时间后,选中所述菜单。
在其中一个实施例中,所述菜单预选模块还包括第二判断子模块、菜单列表保持子模块以及菜单列表关闭子模块,其中:
所述第二判断子模块,用于在判断所述控制部位在所述相应的菜单感应区悬停时间小于或者等于所述预设的第二阈值时间后,进一步判断所述控制部位是否在所述子菜单列表感应区内;
所述菜单列表保持子模块,用于在判断所述控制部位在所述菜单列表感应区内后,保持所述菜单列表;
所述菜单列表关闭子模块,用于在判断所述控制部位移动至所述菜单列表感应区外后,关闭所述菜单列表。
在其中一个实施例中,所述菜单选中模块还包括子菜单控制模块;
所述子菜单控制模块包括子菜单列表生成模块、子菜单显示模块、子菜单预选模块以及子菜单选中模块,其中:
所述子菜单列表生成模块,用于生成子菜单列表;
所述子菜单显示模块,用于将生成的所述子菜单列表显示在当前所述控制部位在屏幕上的映射位置处,并在屏幕上所述子菜单列表所在位置的预设范围内,生成子菜单列表感应区以及相应的子菜单感应区;
所述子菜单预选模块包括第三判断子模块,所述第三判断子模块用于当所述控制部位移动至所述子菜单列表中的相应的子菜单感应区时,判断所述控制部位在所述相应的子菜单感应区悬停时间是否大于预设的第三阈值时间;
所述子菜单选中模块,用于在所述控制部位在所述相应的子菜单感应区悬停时间大于预设的第三阈值时间后,选中所述子菜单。
在其中一个实施例中,所述子菜单预选模块还包括第四判断子模块、子菜单列表保持子模块以及子菜单列表关闭子模块;
所述第四判断子模块,用于在判断所述控制部位在所述相应的子菜单感应区悬停时间小于或者等于所述预设的第三阈值时间后,进一步判断所述控制部位是否在所述子菜单列表感应区内;
所述子菜单列表保持子模块,用于在判断所述控制部位在所述子菜单列表感应区内后,保持所述子菜单列表;
所述子菜单列表关闭子模块,用于在判断所述控制部位移动至所述子菜单列表感应区外后,关闭所述子菜单列表。
在其中一个实施例中,所述基于深度摄像头的菜单控制系统还包括用户提取模块:
所述用户提取模块,用于根据获取的所述用户区域内的图像深度信息,提取控制用户信息。
在其中一个实施例中,所述控制部位包括但不限于用户的手指、手掌、头部以及躯干。
本发明的有益效果:本发明提供的基于深度摄像头的菜单控制方法及系统,其中方法包括:获取用户区域内的图像深度信息;根据获取的所述图像深度信息确认控制部位,并对所述控制部位进行跟踪识别;根据所述控制部位在深度摄像头的视场范围内任意位置处的移动状态,生成并选中相应的菜单;执行选中的菜单指令。具体采用了一种在深度摄像头的视场范围内控制部位悬停、菜单生成,控制部位微移至预选菜单,进而悬停一定时间、菜单选中,系统执行相应的控制指令的菜单控制方法。通过上述方法及系统,实现了只要用户的控制部位在深度摄像头的视场范围内悬停一定时间,屏幕上的任意位置都可以生成相应的控制菜单,进而进行选择控制等操作,避免了传统方式中的用户动作记忆以及预先划分屏幕感应区所带来的不便,从而大大简化了非触控的系统控制。
具体实施方式
下面结合说明书附图,对本发明实施例中的基于深度摄像头的菜单控制方法及系统的具体实施方式进行说明。
本发明提供的基于深度摄像头的菜单控制方法,用于在人机交互系统中进行菜单的选择控制,如图1所示,包括以下步骤:
S100、获取用户区域内的图像深度信息;
利用深度信息获取装置,获取用户区域内的图像深度信息。
本设计中优选深度摄像头kinect,即微软发布的XBOX360体感周边外设。
S200、根据获取的所述图像深度信息确认控制部位,并对所述控制部位进行跟踪识别;
对控制部位进行识别跟踪采用现有技术实现,本领域技术人员应该可以理解,此处不做详细说明。
S300、根据所述控制部位在深度摄像头的视场范围内任意位置处的移动状态,生成并选中相应的菜单;
换句话说,本发明实施例提供的方法不需要提前划分屏幕感应区,也不需要用户记忆各种不同的手势,只要用户的控制部位,其中包括手部,在深度摄像头的控制区域内,随时都可以生成相应的控制菜单,从而可以进行选择控制等操作,从而大大简化了非触控的系统控制。
所述生成菜单是一种现有技术,其根据相应的内容而生成,因此,在本发明实施例中,不再一一详细描述。
S400、执行选中的菜单指令。
较佳地,作为一种可实施方式,所述根据控制部位在深度摄像头的视场范围内任意位置处的移动状态,生成并选中相应的菜单,如图2所示,包括如下步骤:
S310、打开菜单控制界面;
S320、当控制部位移动至深度摄像头的视场范围内时,判断所述控制部位在所述视场范围内任意位置处的悬停时间是否大于预设的第一阈值时间;
若判断所述控制部位在所述视场范围内任意位置处的悬停时间均小于或者等于预设的第一阈值时间,则返回步骤S200,继续跟踪所述控制部位。
S330、若判断所述控制部位在所述视场范围内的相应位置处悬停时间大于预设的第一阈值时间,则生成菜单列表;
S340、将生成的所述菜单列表显示在当前所述控制部位在屏幕上的映射位置处,并在屏幕上所述菜单列表所在位置的预设范围内,生成菜单列表感应区以及相应的菜单感应区;
需要说明的是,本发明实施例中根据屏幕上的菜单列表及菜单位置生成相应的感应区的技术,为现有技术,本领域技术人员应该可以理解,此处不做过多说明。
S350、当所述控制部位移动至所述菜单列表中的相应的菜单感应区时,判断所述控制部位在所述相应的菜单感应区悬停时间是否大于预设的第二阈值时间;
S360、若判断所述控制部位在所述相应的菜单感应区悬停时间大于预设的第二阈值时间,则选中所述菜单。
较佳地,作为一种可实施方式,在步骤S350,判断所述控制部位在所述相应的菜单感应区悬停时间是否大于预设的第二阈值时间后,还包括如下步骤:
S351、若判断所述控制部位在所述相应的菜单感应区悬停时间小于或者等于所述预设的第二阈值时间,则进一步判断所述控制部位是否在所述菜单列表感应区内;
S352、若判断所述控制部位在所述菜单列表感应区内,则保持所述菜单列表。
S353、若判断所述控制部位移动至所述菜单列表感应区外,则关闭所述菜单列表,返回步骤S200,继续跟踪所述控制部位。
作为一种可实施方式,为了便于操作,本发明实施例中,优选用户的手部为控制部位。
为了更清楚的说明本发明提供的技术方案,对上述具体实施方式说明如下:
以用户的手部作为控制部位为例;
首先,通过深度摄像头获取t时刻的深度图像帧It,其中时刻t单位可以是图像帧,即第t帧图像It。然后,利用既有算法识别用户的手部。
当对手部进行实时跟踪,t时刻手部在图像It中的位置外包圆的圆心位置记作Dt,手部在图像It中外包圆半径记作St,单位为像素。
进行菜单列表生成判断:计算时间区间(t,t+T)内,手部最大移动的距离SDT,单位是像素,其中参数T的单位可以用图像帧,T的取值可以是几秒之内系统所处理的图像帧总数;
菜单列表生成规则BT,当BT=1,则生成菜单列表,反之不生成菜单列表;
其中ST是阈值,单位是像素,阈值ST可以是固定阈值,如ST=10;阈值ST也可以是软阈值,即跟手部外包圆半径St具有一定的函数相关。
当BT=1生成菜单列表,所生成菜单列表的区域记作MD,单位为像素。
菜单选中判断:当菜单列表Mi生成,并且第i个菜单的感应区域为Mi,手部移动到菜单i的感应区Mi,并且悬浮一定时间P,单位是秒;如P=3,即手部在菜单上悬浮超过3秒钟,相应的菜单即被选中;当手部位置Dt不在菜单区域MD内,所生产的菜单将关闭。
如果所选中的菜单含有子菜单,则生成子菜单列表;如果所选中的菜单不含有子菜单,则按照所选中的菜单命令执行相应操作。
较佳地,作为一种可实施方式,所述若判断控制部位在所述相应的菜单感应区悬停时间大于预设的第二阈值时间,则选中所述菜单之后,如图3所示,还包括以下步骤:
S361、生成子菜单列表;
S362、将生成的所述子菜单列表显示在当前所述控制部位在屏幕上的映射位置处,并在屏幕上所述子菜单列表所在位置的预设范围内,生成子菜单列表感应区以及相应的子菜单感应区;
S363、当所述控制部位移动至所述子菜单列表中的相应的子菜单感应区时,判断所述控制部位在所述相应的子菜单感应区悬停时间是否大于预设的第三阈值时间;
S364、若所述控制部位在所述相应的子菜单感应区悬停时间大于预设的第三阈值时间,则选中所述子菜单。
较佳地,作为一种可实施方式,所述判断控制部位在相应的子菜单感应区悬停时间是否大于所述预设的第三阈值时间后,还包括以下步骤:
S365、若判断所述控制部位在相应的子菜单感应区悬停时间小于或者等于所述预设的第三阈值时间,则进一步判断所述控制部位是否在所述子菜单列表感应区内;
S366、若判断所述控制部位在所述子菜单列表感应区内,则保持所述子菜单列表;
S367、若判断所述控制部位移动至所述子菜单列表感应区外,则关闭所述子菜单列表,继续跟踪所述控制部位。
在实际运用中,上述方法中的第一阈值时间、第二阈值时间以及第三阈值时间可根据用户习惯预先设定,可设定为不同,也可设定为相同。
较佳地,作为一种可实施方式,所述第一阈值时间、所述第二阈值时间以及所述第三阈值时间相同,方便用户操作。
较佳地,作为一种可实施方式,所述获取用户区域内的图像深度信息之后,还包括如下步骤:
S110、根据获取的所述用户区域内的图像深度信息,提取控制用户信息。
主要是从深度摄像头中提取用户,从而在深度摄像头中存在多个目标时,能够明确控制用户,可以根据多个目标距离摄像头的远近进行用户识别。如果深度摄像头中只存在一个用户目标,则不需要此步骤。
较佳地,作为一种可实施方式,所述控制部位包括但不限于用户的手指、手掌、头部以及躯干。
本发明实施例提供的基于深度摄像头的菜单控制方法,其实质是利用深度摄像头采集并处理图像深度信息,通过控制部位悬停、菜单生成,控制部位微移至预选菜单,再悬停一定时间、菜单选中这样的一种简单的菜单生成及选中方式,实现了只要用户的控制部位在深度摄像头的视场范围内悬停一定时间,屏幕上的任意位置都可以生成相应的控制菜单,进而进行选择控制等操作,大大简化了非触控的系统控制。
为了更加形象的说明本发明实施例提供的基于深度摄像头的菜单控制方法的实现过程,下面以一个简单的实施例对上述方法进行举例说明:
如图6所示,R1为用户的手部,也是系统的控制部位;R2为连接云台控制服务器连接的显示屏;R3为深度摄像头。
如图7所示,显示屏R2上的实心小圆代表用户的手部R1在显示屏上的映射位置;显示屏R2上的空心大圆代表用户的手部R1在显示屏上的映射位置允许波动的范围。即手部在显示屏R2上的映射位置在空心大圆的范围内波动,均默认为其映射位置在实心小圆处。
当用户的手部R1在深度摄像头的视场内悬停时间大于预设的第一阈值时间后,即手部R1在显示屏R2上的映射位置在显示屏上的空心大圆范围内停留时间大于预设的第一阈值时间后,则生成菜单列表,并显示在显示屏R2上手部R1所对应的屏幕周边。随着菜单列表的生成并在显示屏R2上显示,显示屏R2上菜单列表感应区和相应的菜单感应区也相应地生成。如图8所示,显示屏R2上出现了菜单C1、菜单C2、菜单C3、菜单C4以及菜单C5组成的菜单列表。所述菜单列表的排列方式不做限定,可根据具体的菜单数目及显示屏大小进行合理布局,可设置为列表式或者环绕式等。较佳地,选择如图中所示的环绕式,节省屏幕显示空间。
在生成菜单列表之后,用户只需要将手部微移至所要选择的菜单处,如图9所示,即手部在显示屏R2上的映射位置移动至显示屏R2上所显示的菜单C4处,悬停时间大于预设的第二阈值时间,即可选中菜单C4。
若菜单C4没有子菜单,则执行菜单C4所代表的控制命令。
若菜单C4有子菜单,分别为C41、C42、C43、C44,如图10所示,则生成子菜单列表,并显示在菜单C4的周围或附近。同理,进行菜单选择。
相应的,本发明提供的基于深度摄像头的菜单控制系统,用于在人机交互系统中进行菜单的选择控制,如图4所示,包括用户端1、深度信息获取装置2以及云台控制服务器3;
所述深度信息采集装置2,用于获取用户区域内的图像深度信息;
所述深度信息采集装置,优选深度摄像头,如深度摄像头kinect(微软发布的XBOX360体感周边外设的名称)。深度摄像头将采集到的用户区域内的图像深度信息发送给云台控制服务器进控制。
所述云台控制服务器3包括跟踪模块4、菜单控制模块5以及执行模块6,其中:
所述跟踪模块4,用于根据获取的所述图像深度信息确认控制部位,并对所述控制部位进行跟踪识别;
对控制部位进行识别跟踪采用现有技术实现,本领域技术人员应该可以理解,此处不做详细说明。
所述菜单控制模块5,用于根据所述控制部位在深度摄像头的视场范围内任意位置处的移动状态,生成并选中相应的菜单;
换句话说,本发明实施例提供的方法不需要提前划分屏幕感应区,也不需要用户记忆各种不同的手势,只要用户的控制部位,其中包括手部,在深度摄像头的控制区域内,随时都可以生成相应的控制菜单,从而可以进行选择控制等操作,从而大大简化了非触控的系统控制。
所述生成菜单是一种现有技术,其根据相应的内容而生成,因此,在本发明实施例中,不再一一详细描述。
所述执行模块6,用于执行选中的菜单指令。
较佳地,作为一种可实施方式,所述菜单控制模块5,包括启动模块51、判断模块52、菜单列表生成模块53、菜单显示模块54、菜单预选模块55、菜单选中模块56,如图5所示,其中:
所述启动模块51,用于打开菜单控制界面;
所述判断模块52,用于当控制部位移动至深度摄像头的视场范围内时,判断所述控制部位在所述视场范围内任意位置处的悬停时间是否大于预设的第一阈值时间;
若判断所述控制部位在所述视场范围内任意位置处的悬停时间均小于或者等于预设的第一阈值时间,则由所述跟踪模块继续跟踪所述控制部位。
所述菜单列表生成模块53,用于在判断所述控制部位在所述视场范围内的相应位置处悬停时间大于预设的第一阈值时间后,生成菜单列表;
所述菜单显示模块54,用于将生成的所述菜单列表显示在当前所述控制部位在屏幕上的映射位置处,并在屏幕上所述菜单列表所在位置的预设范围内,生成菜单列表感应区以及相应的菜单感应区;
需要说明的是,本发明实施例中根据屏幕上的菜单列表及菜单位置生成相应的感应区的技术,为现有技术,本领域技术人员应该可以理解,此处不做过多说明。
所述菜单预选模块55包括第一判断子模块551,所述第一判断子模块用于当所述控制部位移动至所述菜单列表中的相应的菜单感应区时,判断所述控制部位在所述相应的菜单感应区悬停时间是否大于预设的第二阈值时间;
所述菜单选中模块56包括菜单选中子模块561,所述菜单选中子模块用于在判断所述控制部位在所述相应的菜单感应区悬停时间大于预设的第二阈值时间后,选中所述菜单。
较佳地,作为一种可实施方式,所述菜单预选模块55还包括第二判断子模块552、菜单列表保持子模块553以及菜单列表关闭子模块554,其中:
所述第二判断子模块552,用于在判断所述控制部位在所述相应的菜单感应区悬停时间小于或者等于所述预设的第二阈值时间后,进一步判断所述控制部位是否在所述子菜单列表感应区内;
所述菜单列表保持子模块553,用于在判断所述控制部位在所述菜单列表感应区内后,保持所述菜单列表。
所述菜单列表关闭子模块554,用于在判断所述控制部位移动至所述菜单列表感应区外后,关闭所述菜单列表。
所述菜单列表关闭子模块关闭所述生成的菜单列表之后,由跟踪模块继续跟踪所述控制部位。
较佳地,作为一种可实施方式,所述菜单选中模块56还包括子菜单控制模块7;
所述子菜单控制模块7包括子菜单列表生成模块71、子菜单显示模块72、子菜单预选模块73以及子菜单选中模块74,其中:
所述子菜单列表生成模块71,用于生成子菜单列表;
所述子菜单显示模块72,用于将生成的所述子菜单列表显示在当前所述控制部位在屏幕上的映射位置处,并在屏幕上所述子菜单列表所在位置的预设范围内,生成子菜单列表感应区以及相应的子菜单感应区;
所述子菜单预选模块73包括第三判断子模块,所述第三判断子模块用于当所述控制部位移动至所述子菜单列表中的相应的子菜单感应区时,判断所述控制部位在所述相应的子菜单感应区悬停时间是否大于预设的第三阈值时间;
所述子菜单选中模块74,用于在所述控制部位在所述相应的子菜单感应区悬停时间大于预设的第三阈值时间后,选中所述子菜单。
较佳地,作为一种可实施方式,所述子菜单预选模块73还包括第四判断子模块、子菜单列表保持子模块以及子菜单列表关闭子模块;
所述第四判断子模块,用于在判断所述控制部位在所述相应的子菜单感应区悬停时间小于或者等于所述预设的第三阈值时间后,进一步判断所述控制部位是否在所述子菜单列表感应区内;
所述子菜单列表保持子模块,用于在判断所述控制部位在所述子菜单列表感应区内后,保持所述子菜单列表;
所述子菜单列表关闭子模块,用于在判断所述控制部位移动至所述子菜单列表感应区外后,关闭所述子菜单列表。
所述子菜单列表关闭子模块关闭所述生成的子菜单列表之后,由跟踪模块继续跟踪所述控制部位。
在实际运用中,上述方法中的第一阈值时间、第二阈值时间以及第三阈值时间可根据用户习惯预先设定,可设定为不同,也可设定为相同。
较佳地,作为一种可实施方式,所述第一阈值时间、所述第二阈值时间以及所述第三阈值时间相同,方便用户操作。
较佳地,作为一种可实施方式,所述基于深度摄像头的菜单控制系统还包括用户提取模块:
所述用户提取模块,用于根据获取的所述用户区域内的图像深度信息,提取控制用户信息。
需要说明的是,所述用户提取模块主要用于从深度摄像头中提取用户,从而在深度摄像头中存在多个目标时,能够明确控制用户,可以根据多个目标距离摄像头的远近进行用户识别。如果深度摄像头中只存在一个目标,则不需要此模块。
较佳地,作为一种可实施方式,所述控制部位包括但不限于用户的手指、手掌、头部以及躯干。
作为一种可实施方式,为了便于操作,本发明实施例中,优选用户的手部为控制部位。
为了更清楚的说明本发明提供的技术方案,对上述具体实施方式说明如下:
以用户的手部作为控制部位为例;
首先,通过深度摄像头获取t时刻的深度图像帧It,其中时刻t单位可以是图像帧,即第t帧图像It。然后,利用既有算法识别用户的手部。
跟踪模块当对手部进行实时跟踪,t时刻手部在图像It中的位置外包圆的圆心位置记作Dt,手部在图像It中外包圆半径记作St,单位为像素。
菜单控制模块进行菜单列表生成判断:计算时间区间(t,t+T)内,手部最大移动的距离SDT,单位是像素,其中参数T的单位可以用图像帧,T的取值可以是几秒之内系统所处理的图像帧总数;
菜单列表生产规则BT,当BT=1,则生成菜单列表,反之不生成菜单列表;
其中ST是阈值,单位是像素,阈值ST可以是固定阈值,如ST=10;阈值ST也可以是软阈值,即跟手部外包圆半径St具有一定的函数相关。
当BT=1生成菜单列表,所生成菜单列表的区域记作MD,单位为像素。
菜单控制模块进行菜单选中判断:当菜单列表Mi生成,并且第i个菜单的感应区域为Mi,手部移动到菜单i的感应区Mi,并且悬浮一定时间P,单位是秒;如P=3,即手部在菜单上悬浮超过3秒钟,相应的菜单即被选中;当手部位置Dt不在菜单区域MD内,菜单列表关闭子模块将所生产的菜单列表关闭,屏幕上的菜单消失。
如果所选中的菜单含有子菜单,则由子菜单控制模块,生成子菜单列表并进行后续操作;如果所选中的菜单不含有子菜单,则按照所选中的菜单命令执行相应操作。
为了更加形象的说明本发明实施例提供的基于深度摄像头的菜单控制系统的实现过程,下面以一个简单的实施例进行举例说明:
如图6所示,R1为用户的手部,也是系统的控制部位;R2为连接云台控制服务器连接的显示屏;R3为深度摄像头。
如图7所示,显示屏R2上的实心小圆代表用户的手部R1在显示屏上的映射位置;显示屏R2上的空心大圆代表用户的手部R1在显示屏上的映射位置允许波动的范围。即手部在显示屏上的映射位置在空心大圆的范围内波动,均默认为其映射位置在实心小圆处。
当用户的手部R1在深度摄像头的视场内悬停时间大于预设的第一阈值时间后,即手部R1在显示屏上的映射位置在显示屏上的空心大圆范围内停留时间大于预设的第一阈值时间后,则生成菜单列表,并显示在显示屏上手部R1所对应的屏幕周边。随着菜单列表的生成并在显示屏上显示,显示屏上菜单列表感应区和相应的菜单感应区也相应地生成。如图8所示,显示屏R2上出现了菜单C1、菜单C2、菜单C3、菜单C4以及菜单C5组成的菜单列表。所述菜单列表的排列方式不做限定,可根据具体的菜单数目及显示屏大小进行合理布局,可设置为列表式或者环绕式等。较佳地,选择如图中所示的环绕式,节省屏幕显示空间。
在生成菜单列表之后,用户只需要将手部微移至所要选择的菜单处,如图9所示,即手部在显示屏R2上的映射位置移动至显示屏R2上所显示的菜单C4处,悬停时间大于预设的第二阈值时间,即可选中菜单C4。
若菜单C4没有子菜单,则执行菜单C4所代表的控制命令。
若菜单C4有子菜单,分别为C41、C42、C43、C44,如图10所示,则生成子菜单列表,并显示在菜单C4的周围或附近。同理,进行子菜单选择。
本发明实施例提供的基于深度摄像头的菜单控制系统,其实质是利用深度摄像头采集并处理图像深度信息,并配合云台控制服务器,实现了控制部位悬停、菜单生成,控制部位微移至预选菜单,再悬停一定时间、菜单选中这样的一种简单的菜单生成及选中方式。通过上述系统,只要用户的控制部位在深度摄像头的视场范围内悬停一定时间,显示装置屏幕上的任意位置都可以生成相应的控制菜单,进而进行选择控制等操作,大大简化了非触控的系统控制。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。