AIR GESTURE INPUT METHOD AND APPARATUS
技术领域 本发明涉及计算机应用和模式识别技术领域,尤其涉及空中手势输入方法及装置。 背景技术 目前广泛使用的文字输入方式包括:键盘、触屏、手写板等。其中,键盘和手写板等输入方式需要借助特定的输入设备(如键盘、手写板等)才能实现文字的输入,对输入设备的依赖性强。而触屏的输入方式虽然不需要借助特定的输入设备,但是对于电视、计算机等不具有触摸屏的电子产品,触屏的输入方式显然不适用。因此,提供一种方便、简单且适于更多电子设备使用的输入方法非常必要。 上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。 发明内容 本发明的主要目的在于提供空中手势输入方法及装置,旨在实现在空中通过手势即可进行文字的输入。 为实现上述目的,本发明实施例提供的空中手势输入方法,包括以下步骤: 检测到开始书写命令时,采集手势图像,获取每一帧所述手势图像中指尖的位置; 根据获取的所述手势图像中指尖的位置,生成书写轨迹; 检测到结束书写命令时,对生成的所述书写轨迹进行文字识别,获得所述书写轨迹对应的文字。 优选地,所述获取每一帧所述手势图像中指尖的位置的步骤包括: 将每一帧手势图像进行二值化处理,且获取所述手势图像中的手轮廓; 确定所述手轮廓的重心; 查找所述手轮廓内与所述手轮廓的重心距离最远的点,该点为指尖的位置。 优选地,所述根据获取的所述手势图像中指尖的位置,生成书写轨迹的步骤包括: 以第二帧手势图像中指尖的位置为起始点,每获取一帧手势图像中指尖的位置,将所述指尖的位置所在的点与前一帧手势图像中指尖的位置所在的点相连。 优选地,所述检测到开始书写命令时,采集手势图像,获取每一帧所述手势图像中指尖的位置的步骤之前包括: 采集第一帧用户命令手势和第二帧用户命令手势; 根据存储的单手张开的样本图像和单手握拳的样本图像判断所述第一帧用户命令手势和第二帧用户命令手势的类型; 根据所述第一帧用户命令手势和第二帧用户命令手势的类型,触发开始书写命令。 优选地,所述根据所述单手张开的样本图像和单手握拳的样本图像判断所述第一帧用户命令手势和第二帧用户命令手势的类型的步骤包括: 计算所述第一帧用户命令手势与所述单手张开的样本图像的第一相似性值,并计算所述第一帧用户命令手势与所述单手握拳的样本图像的第二相似性值,根据所述第一相似性值和所述第二相似性值判断所述第一帧用户命令手势是单手张开还是单手握拳; 计算所述第二帧用户命令手势与所述单手张开的样本图像的第三相似性值,并计算所述第二帧用户命令手势与所述单手握拳的样本图像的第四相似性值,基于所述第三相似性值和所述第四相似性值判断所述第二帧用户命令手势是单手张开还是单手握拳。 优选地,所述根据第一帧用户命令手势和第二帧用户命令手势的类型,触发开始书写的命令的步骤包括: 在所述第一帧用户命令手势为单手张开,且所述第二帧用户命令手势为单手握拳时,触发开始书写的命令。 本发明实施例进一步提供的空中手势输入装置,包括: 获取模块,用于检测到开始书写命令时,采集手势图像,获取每一帧所述手势图像中指尖的位置; 生成模块,用于根据获取的所述手势图像中指尖的位置,生成书写轨迹; 识别模块,用于检测到结束书写命令时,对生成的所述书写轨迹进行文字识别,获得所述书写轨迹对应的文字。 优选地,所述获取模块包括: 二值化单元,用于将每一帧手势图像进行二值化处理,且获取所述手势图像中的手轮廓; 重心确定单元,用于确定所述手轮廓的重心; 获取单元,用于查找所述手轮廓内与所述手轮廓的重心距离最远的点,该点为指尖的位置; 所述生成模块包括: 生成单元,用于以第二帧手势图像中指尖的位置为起始点,每获取一帧手势图像中指尖的位置,将所述指尖的位置所在的点与前一帧手势图像中指尖的位置所在的点相连。 优选地,所述装置还包括: 采集模块,用于采集第一帧用户命令手势和第二帧用户命令手势; 判断模块,用于根据存储的单手张开的样本图像和单手握拳的样本图像判断所述第一帧用户命令手势和第二帧用户命令手势的类型; 触发模块,用于根据所述第一帧用户命令手势和第二帧用户命令手势的类型,触发开始书写命令。 优选地,所述判断模块包括: 第一计算单元,用于计算所述第一帧用户命令手势与所述单手张开的样本图像的第一相似性值,并计算所述第一帧用户命令手势与所述单手握拳的样本图像的第二相似性值,根据所述第一相似性值和所述第二相似性值判断所述第一帧用户命令手势是单手张开还是单手握拳; 第二计算单元,用于计算所述第二帧用户命令手势与所述单手张开的样本图像的第三相似性值,并计算所述第二帧用户命令手势与所述单手握拳的样本图像的第四相似性值,基于所述第三相似性值和所述第四相似性值判断所述第二帧用户命令手势是单手张开还是单手握拳; 所述触发模块包括: 触发单元,用于在所述第一帧用户命令手势为单手张开,且所述第二帧用户命令手势为单手握拳时,触发开始书写的命令。 本发明实施例检测到开始书写命令时,采集手势图像,获取每一帧所述手势图像中指尖的位置;根据获取的所述手势图像中指尖的位置,生成书写轨迹;检测到结束书写命令时,对生成的所述书写轨迹进行文字识别,获得所述书写轨迹对应的文字。本发明实施例通过采集用户的手势图像生成书写轨迹,再对书写轨迹进行文字识别,使用户只需在空中通过手势就能实现文字输入,且该输入方式简单易行、适用于包括电视在内的多数电子产品。 附图说明 图1为本发明空中手势输入方法第一实施例的流程示意图; 图2为本发明空中手势输入方法第二实施例的流程示意图; 图3为本发明空中手势输入方法第三实施例的流程示意图; 图4为本发明空中手势输入装置第一实施例的功能模块示意图; 图5为本发明空中手势输入装置第二实施例的功能模块示意图; 图6为本发明空中手势输入装置第三实施例的功能模块示意图; 图7为图6空中手势输入装置中判断模块的功能单元示意图。 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。 具体实施方式 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。 本发明提供一种空中手势输入方法。 参照图1,图1为本发明空中手势输入方法第一实施例的流程示意图。 第一实施例中,所述方法包括以下步骤: 步骤S01,检测到开始书写命令时,采集手势图像,获取每一帧所述手势图像中指尖的位置; 装置在检测到开始书写命令时,响应开始书写命令并开始采集手势图像,例如,装置在检测到开始书写命令时,提供悬浮输入框供用户对准悬浮输入框进行手势输入,同时装置开启采集设备(如摄像头、相机等),采集设备连续的拍摄手势图像并同时对所述手势图像进行保存,其中,所述手势图像可以是一段影像,也可以是多张连续的图片。 建立一个二维坐标系(下称坐标系),例如,以悬浮输入框的一端点为原点建立一个二维坐标系,采集到的手势图像均落在此二维坐标系中。在装置采集手势图像的同时,或者在装置采集完所有的手势图像后,每一帧手势图像中都包括用户的手轮廓,装置根据每一帧手势图像中的手轮廓获取指尖的位置并保存。指尖的位置即指手势图像中手轮廓的指尖在坐标系中的坐标值。装置获取手势图像中指尖的位置的方法包括对手势图像中手轮廓进行图像分析,根据图像分析的结果确定指尖的位置。 步骤S02,根据获取的所述手势图像中指尖的位置,生成书写轨迹; 用户通常是用单指或者双指进行手势输入,即使用户使用多个手指进行手势输入,其指尖运动的轨迹完全可以表示输入的文字的笔画,装置将手势图像中指尖的位置作为定位点,装置每获取一个指尖的位置,则同步生成书写轨迹,或者,在装置获取了所有手势图像中指尖的位置后,一次生成书写轨迹。生成书写轨迹的方法包括将所述手势图像中指尖在坐标系中的点依次连接起来。 步骤S03,检测到结束书写命令时,对生成的所述书写轨迹进行文字识别,获得所述书写轨迹对应的文字。 装置检测到结束书写命令时,响应结束书写命令,对生成的书写轨迹进行文字识别,文字识别可以通过OCR(Optical Character
Recognition,光学字符识别)方法实现,或者直接通过模板匹配法、几何特征抽取法等方法实现。 本实施例检测到开始书写命令时,采集手势图像,获取每一帧手势图像中指尖的位置;根据获取的手势图像中指尖的位置,生成书写轨迹;检测到结束书写命令时,对生成的书写轨迹进行文字识别,获得书写轨迹对应的文字。本实施例通过采集用户的手势图像生成书写轨迹,再对该书写轨迹进行文字识别,使用户只需在空中通过手势就能实现文字输入,且此输入方式简单易行、适用于包括电视在内的多数电子产品。 参照图2,图2为本发明空中手势输入方法第二实施例的流程示意图。 本实施例与第一实施例的区别在于,本实施例在第一实施例的基础上,所述获取每一帧所述手势图像中指尖的位置的步骤包括: 步骤S11,将每一帧手势图像进行二值化处理,且获取所述手势图像中的手轮廓; 步骤S12,确定所述手轮廓的重心; 步骤S13,查找所述手轮廓内与所述手轮廓的重心距离最远的点,该点为指尖的位置。 装置基于历史数据设定肤色阈值,或者,装置基于用户侧技术人员触发的设置指令设定肤色阈值。装置基于肤色阈值将每一帧手势图像进行二值化处理,且所述手势图像中的手轮廓,即将每一帧手势图像上的像素点的灰度值设置为0或255,进行完二值化处理的手势图像呈现黑白效果。 装置获取进行完二值化处理的手势图像中的手轮廓,例如,将手势图像中相邻8个相邻像素点全部为白点的像素点设为背景点,反之则设为轮廓点,提取所有轮廓点即为手轮廓。
装置获取手势图像中的手轮廓后,确定手轮廓的重心,即确定手轮廓的重心在坐标系中的坐标值。确定手轮廓的重心的方法包括:在手轮廓上设置若干个虚拟点,计算手轮廓区域内所有点与手轮廓上每一个虚拟点的距离和,确定手轮廓区域内所有点与手轮廓上每一个虚拟点的距离和最小的点为重心。 装置在确定了每一帧手势图像的手轮廓的重心后,获取手轮廓上与手轮廓的重心距离最远的点,将该点设为指尖的位置。 本实施例将每一帧手势图像进行二值化处理,且获取手势图像中的手轮廓使手势图像呈现黑白效果,再确定手轮廓的重心,因此能准确的确定手轮廓的重心位置;另外,装置获取手轮廓上与手轮廓的重心距离最远的点并将该点设为指尖的位置,因此能准确的定位指尖的位置,也能使生成的书写轨迹更精准。 请再次参照图2,本发明一优选实施例中,所述根据获取的所述手势图像中指尖的位置,生成书写轨迹的步骤包括: 以第二帧手势图像中指尖的位置为起始点,每获取一帧手势图像中指尖的位置,将所述指尖的位置所在的点与前一帧手势图像中指尖的位置所在的点相连。 将手势图像中每一帧按照采集的时间先后顺序进行排序,装置在获取了第一帧和第二帧手势图像中指尖的位置之后,开始同步生产书写轨迹,首先将第二帧手势图像中指尖在坐标系中的点与第一帧手势图像中指尖在坐标系中的点连接,生成一段直线或者曲线,在每获取一帧手势图像中的指尖位置后,将该指尖的位置所在的点与前一帧手势图像中指尖的位置所在的点相连,最后,生成由多段直线或曲线组成的书写轨迹。本实施例优选将所述由多段直线或曲线组成的书写轨迹进行拟合,使最后得到的书写轨迹平滑。 本实施例在装置获取手势图像中指尖的位置的同时,同步生成书写轨迹,这有利于提高识别手势输入文字的效率,用户在结束手势输入后可以很快的识别出输入的文字。 请再次参照图2,本发明一优选实施例中,所述将每一帧手势图像进行二值化处理,且获取所述手势图像中的手轮廓的步骤之前包括:对每一帧手势图像进行预处理。 所述预处理包括:对手势图像进行光照校正和降噪处理。 光照校正处理主要是对手势图像中夹杂的变化信息(如光照变化、角度变化等)的处理,可采用的方法包括:Gamma校正(伽马校正)、图像亮度非线性变换、直方图均衡化、最高亮度点光照补偿等。其中,Gamma校正和图像亮度非线性变换通过对手势图像像素点的非线性调整,能去除原始手势图像中的一些无关的变化信息;直方图均衡化和最高亮度点光照补偿是一种针对图像对比度调整的方法,能增强图像局部对比度。 降噪处理主要是对原始图像中的噪声信息进行滤除,手势图像中典型的噪声有高斯噪声、椒盐噪声、加性噪声等,可采用的方法包括:均值滤波、中值滤波和高斯滤波等。 本实施例通过对手势图像进行预处理,从而提高手势图像的信噪比、抑制手势图像的背景噪声,能够最真实的还原手势图像的原始图像信息,排除采集设备及背景等对手势图像的影响。 请再次参照图2,本发明一优选实施例中,所述将每一帧手势图像进行二值化处理,且获取所述手势图像中的手轮廓的步骤之前包括: 对每一帧手势图像进行高斯模糊处理,并将手势图像从RGB(Red、Green、Blue,红、绿、蓝)色度空间转换为HSV(Hue、Saturation、Value,色调、饱和度、亮度)色度空间。 本实施例对手势图像进行高斯模糊能减少手势图像的图像噪声以及降低手势图像的细节层次。本实施例将手势图像从RGB色度空间转换为HSV色度空间,有利于进行手势图像的二值化处理时,对手势图像的色度的调整。 请再次参照图2,本发明一优选实施例中,所述获取所述手势图像中的手轮廓的步骤之前包括:对进行完二值化处理的每一帧手势图像进行形态学处理。 所述形态学处理是对手势图像进行膨胀和腐蚀,
其中膨胀能够填补一些凹洞,腐蚀可以消除一些凸起,最终让手势图像中线条的边缘更加平滑。 本实施例将手势图像进行形态学处理使手势图像中线条的边缘更加平滑,有利于识别和提取手势图像中的手轮廓。 参照图3,图3为本发明空中手势输入方法第三实施例的流程示意图。 本实施例与第一实施例及第二实施例的区别在于,本实施例在第一实施例和第二实施例的基础上,所述检测到开始书写命令时,采集手势图像,获取每一帧所述手势图像中指尖的位置的步骤之前还包括: 步骤S04,采集第一帧用户命令手势和第二帧用户命令手势; 步骤S05,根据存储的单手张开的样本图像和单手握拳的样本图像判断所述第一帧用户命令手势和第二帧用户命令手势的类型; 步骤S06,根据所述第一帧用户命令手势和第二帧用户命令手势的类型,触发开始书写命令。 装置可提供单独的命令手势悬浮输入框供用户输入命令手势,即装置提供两个悬浮输入框分别供用户输入命令手势和手势图像;装置也可以仅提供一个悬浮输入框既供用户输入命令手势和也供用户输入手势图像。 装置采集用户两帧命令手势,分别为第一帧用户命令手势和第二帧用户命令手势。根据存储的单手张开的样本图像和单手握拳的样本图像判断所述第一帧用户命令手势和第二帧用户命令手势的类型,其中,所述单手张开的样本和单手握拳的样本均是在用户初次使用该手势输入方法时采集并保存在装置中的,装置分别将第一帧用户命令手势和第二种用户命令手势和所述单手张开的样本图像和单手握拳的样本图像进行对比,分别判断第一帧用户命令手势和第二帧用户命令手势的类型,即判断第一帧用户命令手势和第二帧用户命令手势是单手张开还是单手握拳。装置根据所述第一帧用户命令手势和第二帧用户命令手势的类型,触发开始书写命令,即用户仅需使用手势就能控制触发开始书写命令。 在一些实施例中,装置也可以根据所述第一帧用户命令手势和第二帧用户命令手势的类型,触发结束书写命令,即用户仅需使用手势就能控制触发结束书写命令。 在一些实施例中,装置可以提供语音识别器供用户通过语音控制触发开始书写命令和结束书写命令,装置也可以提供控制按键供用户通过按键控制触发开始书写命令和结束书写命令。 本实施例采集第一帧用户命令手势和第二帧用户命令手势;根据存储的单手张开的样本图像和单手握拳的样本图像判断所述第一帧用户命令手势和第二帧用户命令手势的类型;根据所述第一帧用户命令手势和第二帧用户命令手势的类型,触发开始书写命令。相较于现有技术,本实施例可供用户用手势控制触发开始书写命令,方便了用户使用。 请再次参照图3,本发明一优选实施例中,所述根据所述单手张开的样本图像和单手握拳的样本图像判断所述第一帧用户命令手势和第二帧用户命令手势的类型的步骤包括: 计算所述第一帧用户命令手势与所述单手张开的样本图像的第一相似性值,并计算所述第一帧用户命令手势与所述单手握拳的样本图像的第二相似性值,根据所述第一相似性值和所述第二相似性值判断所述第一帧用户命令手势是单手张开还是单手握拳; 装置根据下面公式计算第一帧用户命令手势与单手张开的样本图像的第一相似性值: 其中,D1为第一相似性值,A(x,y)表示第一帧用户命令手势中手轮廓在坐标系中的曲线方程,F1(x,y)表示单手张开的样本图像中手轮廓在坐标系中的曲线方程,m和n分别为第一帧用户命令手势的图像的宽和高,第一帧用户命令手势的图像和单手张开的样本图像的宽和高相同。 装置根据下面公式计算所述第一帧用户命令手势与所述单手握拳的样本图像的第二相似性值: 其中,D2为第二相似性值,A(x,y)表示第一帧用户命令手势中手轮廓在坐标系中的曲线方程,F2(x,y)表示单手握拳的样本图像中手轮廓在坐标系中的曲线方程,m和n分别为第一帧用户命令手势的图像的宽和高,第一帧用户命令手势的图像和单手握拳的样本图像的宽和高相同。 当D1小于D2时,所述第一帧用户命令手势为单手张开;当D1大于D2时,所述第一帧用户命令手势为单手握拳;当D1等于D2时,返回重新执行采集第一帧用户命令手势和第二帧用户命令手势的步骤。 装置同样依据上述方法判断第二帧用户命令手势的类型,在此不作赘述。 本实施例通过计算第一相似性值和第二相似性值能准确的判断第一帧用户命令手势和第二帧用户命令手势是单手张开还是单手握拳。 在一些实施例中,在所述根据存储的单手张开的样本图像和单手握拳的样本图像判断所述第一帧用户命令手势和第二帧用户命令手势的类型的步骤之前,还包括:对第一帧用户命令手势、第二帧用户命令手势、单手张开的样本图像和单手握拳的样本图像进行二值化处理,且分别获取所述第一帧用户命令手势、第二帧用户命令手势、单手张开的样本图像和单手握拳的样本图像的手轮廓。 本实施例有利于精确获取第一帧用户命令手势、第二帧用户命令手势、单手张开的样本图像和单手握拳的样本图像在坐标系中的曲线方程。 请再次参照图3,本发明一优选实施例中,所述根据第一帧用户命令手势和第二帧用户命令手势的类型,触发开始书写的命令的步骤包括: 装置在检测到第一帧用户命令手势为单手张开,且第二帧用户命令手势为单手握拳时,触发开始书写的命令。 本领域技术人员可以理解的,装置还可以设定在所述第一帧用户命令手势为单手握拳,且所述第二帧用户命令手势为单手张开时,触发开始书写的命令。 本领域技术人员可以理解的,装置还可以设定在所述第一帧用户命令手势为单手握拳,且所述第二帧用户命令手势为单手张开时,或者,在在第一帧用户命令手势为单手张开,且第二帧用户命令手势为单手握拳时,触发结束书写的命令。 本实施例通过设定在所述第一帧用户命令手势为单手张开,且所述第二帧用户命令手势为单手握拳时,触发开始书写的命令,相较于只根据一帧用户命令手势触发开始书写命令或者结束书写命令,本实施例的方法不会因错误判断用户命令手势的类型而错误的触发开始书写命令或结束书写命令。 本发明进一步提供一种空中手势输入装置。 参照图4,图4为本发明空中手势输入装置第一实施例的功能模块示意图。 所述装置包括: 获取模块01,用于检测到开始书写命令时,采集手势图像,获取每一帧所述手势图像中指尖的位置; 获取模块01在检测到开始书写命令时,响应开始书写命令并开始采集手势图像,例如,获取模块01在检测到开始书写命令时,提供悬浮输入框供用户对准悬浮输入框进行手势输入,同时获取模块01开启采集设备(如摄像头、相机等),采集设备连续的拍摄手势图像并同时对所述手势图像进行保存,其中,所述手势图像可以是一段影像,也可以是多张连续的图片。 建立一个二维坐标系(下称坐标系),例如,以悬浮输入框的一端点为原点建立一个二维坐标系,采集到的手势图像均落在此二维坐标系中。在获取模块01采集手势图像的同时,或者在获取模块01采集完所有的手势图像后,每一帧手势图像中都包括用户的手轮廓,获取模块01根据每一帧手势图像中的手轮廓获取指尖的位置并保存。指尖的位置即指手势图像中手轮廓的指尖在坐标系中的坐标值。获取模块01获取手势图像中指尖的位置的方法包括对手势图像中手轮廓进行图像分析,根据图像分析的结果确定指尖的位置。 生成模块02,用于根据获取的所述手势图像中指尖的位置,生成书写轨迹; 用户通常是用单指或者双指进行手势输入,即使用户使用多个手指进行手势输入,其指尖运动的轨迹完全可以表示输入的文字的笔画,装置将手势图像中指尖的位置作为定位点,获取模块01每获取一个指尖的位置,生成模块02同步生成书写轨迹,或者,在获取模块01获取了所有手势图像中指尖的位置后,生成模块02一次生成书写轨迹。生成书写轨迹的方法包括将所述手势图像中指尖在坐标系中的点依次连接起来。 识别模块03,用于检测到结束书写命令时,对生成的所述书写轨迹进行文字识别,获得所述书写轨迹对应的文字。 识别模块03检测到结束书写命令时,响应结束书写命令,对生成的书写轨迹进行文字识别,文字识别可以通过OCR(Optical
Character Recognition,光学字符识别)方法实现,或者直接通过模板匹配法、几何特征抽取法等方法实现。 本实施例获取模块01检测到开始书写命令时,采集手势图像,获取每一帧手势图像中指尖的位置;生成模块02根据获取的手势图像中指尖的位置,生成书写轨迹;识别模块03检测到结束书写命令时,对生成的书写轨迹进行文字识别,获得书写轨迹对应的文字。本实施例通过采集用户的手势图像生成书写轨迹,再对该书写轨迹进行文字识别,使用户只需在空中通过手势就能实现文字输入,且此输入方式简单易行、适用于包括电视在内的多数电子产品。 参照图5,图5为本发明空中手势输入装置第二实施例的功能模块示意图。 本实施例与第一实施例的区别在于,本实施例在第一实施例的基础上,所述获取模块01包括: 二值化单元11,用于将每一帧手势图像进行二值化处理,且获取所述手势图像中的手轮廓; 重心确定单元12,用于确定所述手轮廓的重心; 获取单元13,用于查找所述手轮廓内与所述手轮廓的重心距离最远的点,该点为指尖的位置。 二值化单元11基于历史数据设定肤色阈值,或者,二值化单元11基于用户侧技术人员触发的设置指令设定肤色阈值。二值化单元11基于肤色阈值将每一帧手势图像进行二值化处理,且所述手势图像中的手轮廓,即将每一帧手势图像上的像素点的灰度值设置为0或255,进行完二值化处理的手势图像呈现黑白效果。 二值化单元11获取进行完二值化处理的手势图像中的手轮廓,例如,将手势图像中相邻8个相邻像素点全部为白点的像素点设为背景点,反之则设为轮廓点,提取所有轮廓点即为手轮廓。二值化单元11获取手势图像中的手轮廓后,重心确定单元12确定手轮廓的重心,即确定手轮廓的重心在坐标系中的坐标值。重心确定单元12确定手轮廓的重心的方法包括:在手轮廓上设置若干个虚拟点,计算手轮廓区域内所有点与手轮廓上每一个虚拟点的距离和,确定手轮廓区域内所有点与手轮廓上每一个虚拟点的距离和最小的点为重心。 重心确定单元12在确定了每一帧手势图像的手轮廓的重心后,获取单元13获取手轮廓上与手轮廓的重心距离最远的点,将该点设为指尖的位置。 本实施例二值化单元11将每一帧手势图像进行二值化处理,且获取手势图像中的手轮廓使手势图像呈现黑白效果,再确定手轮廓的重心,因此重心确定单元12能准确的确定手轮廓的重心位置;另外,获取单元13获取手轮廓上与手轮廓的重心距离最远的点并将该点设为指尖的位置,因此能准确的定位指尖的位置,也能使生成的书写轨迹更精准。 请再次参照图5,本发明一优选实施例中,所述生成模块02包括: 生成单元(图中未示出),用于以第二帧手势图像中指尖的位置为起始点,每获取一帧手势图像中指尖的位置,将所述指尖的位置所在的点与前一帧手势图像中指尖的位置所在的点相连。 将手势图像中每一帧按照采集的时间先后顺序进行排序,生成单元在获取了第一帧和第二帧手势图像中指尖的位置之后,开始同步生产书写轨迹,首先将第二帧手势图像中指尖在坐标系中的点与第一帧手势图像中指尖在坐标系中的点连接,生成一段直线或者曲线,在每获取一帧手势图像中的指尖位置后,将该指尖的位置所在的点与前一帧手势图像中指尖的位置所在的点相连,最后,生成由多段直线或曲线组成的书写轨迹。本实施例优选生成单元将所述由多段直线或曲线组成的书写轨迹进行拟合,使最后得到的书写轨迹平滑。 本实施例在获取模块01获取手势图像中指尖的位置的同时,生成单元同步生成书写轨迹,这有利于提高识别手势输入文字的效率,用户在结束手势输入后可以很快的识别出输入的文字。 请再次参照图5,本发明一优选实施例中,所述获取模块01包括:预处理单元(图中未示出),用于对每一帧手势图像进行预处理。 所述预处理包括:对手势图像进行光照校正和降噪处理。 光照校正处理主要是对手势图像中夹杂的变化信息(如光照变化、角度变化等)的处理,可采用的方法包括:Gamma校正(伽马校正)、图像亮度非线性变换、直方图均衡化、最高亮度点光照补偿等。其中,Gamma校正和图像亮度非线性变换通过对手势图像像素点的非线性调整,能去除原始手势图像中的一些无关的变化信息;直方图均衡化和最高亮度点光照补偿是一种针对图像对比度调整的方法,能增强图像局部对比度。 降噪处理主要是对原始图像中的噪声信息进行滤除,手势图像中典型的噪声有高斯噪声、椒盐噪声、加性噪声等,可采用的方法包括:均值滤波、中值滤波和高斯滤波等。 本实施例通过预处理单元对手势图像进行预处理,从而提高手势图像的信噪比、抑制手势图像的背景噪声,能够最真实的还原手势图像的原始图像信息,排除采集设备及背景等对手势图像的影响。 请再次参照图5,本发明一优选实施例中,所述获取模块01包括: 色度空间转换单元(图中未示出),用于对每一帧手势图像进行高斯模糊处理,并将手势图像从RGB(Red、Green、Blue,红、绿、蓝)色度空间转换为HSV(Hue、Saturation、Value,色调、饱和度、亮度)色度空间。 本实施例色度空间转换单元对手势图像进行高斯模糊能减少手势图像的图像噪声以及降低手势图像的细节层次。本实施例色度空间转换单元将手势图像从RGB色度空间转换为HSV色度空间,有利于进行手势图像的二值化处理时,对手势图像的色度的调整。 请再次参照图5,本发明一优选实施例中,所述获取模块01包括: 形态学单元(图中未示出):用于所述形态学处理是对手势图像进行膨胀和腐蚀,
其中膨胀能够填补一些凹洞,腐蚀可以消除一些凸起,最终让手势图像中线条的边缘更加平滑。 本实施例形态学单元将手势图像进行形态学处理使手势图像中线条的边缘更加平滑,有利于识别和提取手势图像中的手轮廓。 参照图6,图6为本发明空中手势输入装置第三实施例的功能模块示意图。 本实施例与第一实施例及第二实施例的区别在于,本实施例在第一实施例和第二实施例的基础上,所述装置还包括: 采集模块04,用于采集第一帧用户命令手势和第二帧用户命令手势; 判断模块05,用于根据存储的单手张开的样本图像和单手握拳的样本图像判断所述第一帧用户命令手势和第二帧用户命令手势的类型; 触发模块06,用于根据所述第一帧用户命令手势和第二帧用户命令手势的类型,触发开始书写命令。 采集模块04可提供单独的命令手势悬浮输入框供用户输入命令手势,即采集模块04提供两个悬浮输入框分别供用户输入命令手势和手势图像;采集模块04也可以仅提供一个悬浮输入框既供用户输入命令手势和也供用户输入手势图像。 采集模块04采集用户两帧命令手势,分别为第一帧用户命令手势和第二帧用户命令手势。判断模块05根据存储的单手张开的样本图像和单手握拳的样本图像判断所述第一帧用户命令手势和第二帧用户命令手势的类型,其中,所述单手张开的样本和单手握拳的样本均是在用户初次使用该手势输入方法时采集并保存在装置中的,判断模块05分别将第一帧用户命令手势和第二种用户命令手势和所述单手张开的样本图像和单手握拳的样本图像进行对比,分别判断第一帧用户命令手势和第二帧用户命令手势的类型,即判断第一帧用户命令手势和第二帧用户命令手势是单手张开还是单手握拳。触发模块06根据所述第一帧用户命令手势和第二帧用户命令手势的类型,触发开始书写命令,即用户仅需使用手势就能控制触发开始书写命令。 在一些实施例中,判断模块05也可以根据所述第一帧用户命令手势和第二帧用户命令手势的类型,触发结束书写命令,即用户仅需使用手势就能控制触发结束书写命令。 在一些实施例中,触发模块06可以提供语音识别器供用户通过语音控制触发开始书写命令和结束书写命令,装置也可以提供控制按键供用户通过按键控制触发开始书写命令和结束书写命令。 本实施例采集模块04采集第一帧用户命令手势和第二帧用户命令手势;判断模块05根据存储的单手张开的样本图像和单手握拳的样本图像判断所述第一帧用户命令手势和第二帧用户命令手势的类型;触发模块06根据所述第一帧用户命令手势和第二帧用户命令手势的类型,触发开始书写命令。相较于现有技术,本实施例可供用户用手势控制触发开始书写命令,方便了用户使用。 参照图7,图7为图6空中手势输入装置中判断模块05的功能单元示意图。 本发明一优选实施例中,所述判断模块05包括: 第一计算单元51,用于计算所述第一帧用户命令手势与所述单手张开的样本图像的第一相似性值,并计算所述第一帧用户命令手势与所述单手握拳的样本图像的第二相似性值,根据所述第一相似性值和所述第二相似性值判断所述第一帧用户命令手势是单手张开还是单手握拳; 第二计算单元52,用于计算所述第二帧用户命令手势与所述单手张开的样本图像的第三相似性值,并计算所述第二帧用户命令手势与所述单手握拳的样本图像的第四相似性值,基于所述第三相似性值和所述第四相似性值判断所述第二帧用户命令手势是单手张开还是单手握拳。 第一计算单元51根据下面公式计算第一帧用户命令手势与单手张开的样本图像的第一相似性值: 其中,D1为第一相似性值,A(x,y)表示第一帧用户命令手势中手轮廓在坐标系中的曲线方程,F1(x,y)表示单手张开的样本图像中手轮廓在坐标系中的曲线方程,m和n分别为第一帧用户命令手势的图像的宽和高,第一帧用户命令手势的图像和单手张开的样本图像的宽和高相同。 第一计算单元51根据下面公式计算所述第一帧用户命令手势与所述单手握拳的样本图像的第二相似性值: 其中,D2为第二相似性值,A(x,y)表示第一帧用户命令手势中手轮廓在坐标系中的曲线方程,F2(x,y)表示单手握拳的样本图像中手轮廓在坐标系中的曲线方程,m和n分别为第一帧用户命令手势的图像的宽和高,第一帧用户命令手势的图像和单手握拳的样本图像的宽和高相同。 当D1小于D2时,所述第一帧用户命令手势为单手张开;当D1大于D2时,所述第一帧用户命令手势为单手握拳;当D1等于D2时,返回重新执行采集第一帧用户命令手势和第二帧用户命令手势的步骤。 第二计算单元52同样依据上述方法判断第二帧用户命令手势的类型,在此不作赘述。 本实施例通过第一计算单元51和第二计算单元52计算第一相似性值和第二相似性值能准确的判断第一帧用户命令手势和第二帧用户命令手势是单手张开还是单手握拳。 在一些实施例中,在所述在一些实施例中,所述获取模块01还包括:处理单元(图中未示出),用于对第一帧用户命令手势、第二帧用户命令手势、单手张开的样本图像和单手握拳的样本图像进行二值化处理,且分别获取所述第一帧用户命令手势、第二帧用户命令手势、单手张开的样本图像和单手握拳的样本图像的手轮廓。 本实施例有利于精确获取第一帧用户命令手势、第二帧用户命令手势、单手张开的样本图像和单手握拳的样本图像在坐标系中的曲线方程。 请再次参照图7,本发明一优选实施例中,所述触发模块06包括: 触发单元(图中未示出),用于在所述第一帧用户命令手势为单手张开,且所述第二帧用户命令手势为单手握拳时,触发开始书写的命令。 触发单元在第一帧用户命令手势为单手张开,且第二帧用户命令手势为单手握拳时,触发开始书写的命令。 本领域技术人员可以理解的,触发单元还可以设定在所述第一帧用户命令手势为单手握拳,且所述第二帧用户命令手势为单手张开时,触发开始书写的命令。 本领域技术人员可以理解的,触发单元还可以设定在所述第一帧用户命令手势为单手握拳,且所述第二帧用户命令手势为单手张开时,或者,在在第一帧用户命令手势为单手张开,且第二帧用户命令手势为单手握拳时,触发结束书写的命令。 本实施例通过触发单元设定在所述第一帧用户命令手势为单手张开,且所述第二帧用户命令手势为单手握拳时,触发开始书写的命令,相较于只根据一帧用户命令手势触发开始书写命令或者结束书写命令,本实施例的方法不会因错误判断用户命令手势的类型而错误的触发开始书写命令或结束书写命令。 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。 Disclosed are an air gesture input method and apparatus. The method in an embodiment of the present invention comprises: when a writing start command is detected, collecting a gesture image, and acquiring a position of a fingertip in each gesture image; generating a writing track according to the acquired positions of the fingertip in the gesture images; and when a writing end command is detected, performing character recognition on the generated writing track to obtain a character corresponding to the writing track. In the embodiment of the present invention, a writing track is generated by collecting gesture images of a user, and then character recognition is performed on the writing track, so that the user can input a character by just making gestures in the air; the input mode is easy to implement and is applicable to most electronic products comprising a television. 一种空中手势输入方法,其特征在于,包括以下步骤: 检测到开始书写命令时,提供悬浮输入框进行手势输入,并采集手势图像,对每一帧所述手势图像中手轮廓进行图像分析,根据所述图像分析的结果获取指尖的位置; 根据获取的所述手势图像中指尖的位置,生成书写轨迹; 检测到结束书写命令时,对生成的所述书写轨迹进行文字识别,获得所述书写轨迹对应的文字。 如权利要求1所述的空中手势输入方法,其特征在于,所述根据获取的所述手势图像中指尖的位置,生成书写轨迹的步骤包括: 以第二帧手势图像中指尖的位置为起始点,每获取一帧手势图像中指尖的位置,将所述指尖的位置所在的点与前一帧手势图像中指尖的位置所在的点相连。 如权利要求1所述的空中手势输入方法,其特征在于,所述检测到开始书写命令时,提供悬浮输入框进行手势输入,并采集手势图像,对每一帧所述手势图像中手轮廓进行图像分析,根据所述图像分析的结果获取指尖的位置的步骤之前包括: 采集第一帧用户命令手势和第二帧用户命令手势; 根据存储的单手张开的样本图像和单手握拳的样本图像判断所述第一帧用户命令手势和第二帧用户命令手势的类型; 根据所述第一帧用户命令手势和第二帧用户命令手势的类型,触发开始书写命令。 如权利要求3所述的空中手势输入方法,其特征在于,所述根据所述单手张开的样本图像和单手握拳的样本图像判断所述第一帧用户命令手势和第二帧用户命令手势的类型的步骤包括: 计算所述第一帧用户命令手势与所述单手张开的样本图像的第一相似性值,并计算所述第一帧用户命令手势与所述单手握拳的样本图像的第二相似性值,根据所述第一相似性值和所述第二相似性值判断所述第一帧用户命令手势是单手张开还是单手握拳; 计算所述第二帧用户命令手势与所述单手张开的样本图像的第三相似性值,并计算所述第二帧用户命令手势与所述单手握拳的样本图像的第四相似性值,基于所述第三相似性值和所述第四相似性值判断所述第二帧用户命令手势是单手张开还是单手握拳。 如权利要求3所述的空中手势输入方法,其特征在于,所述根据第一帧用户命令手势和第二帧用户命令手势的类型,触发开始书写的命令的步骤包括: 在所述第一帧用户命令手势为单手张开,且所述第二帧用户命令手势为单手握拳时,触发开始书写的命令。 如权利要求1所述的空中手势输入方法,其特征在于,所述对每一帧所述手势图像中手轮廓进行图像分析,根据所述图像分析的结果获取指尖的位置的步骤包括: 将每一帧手势图像进行二值化处理,且获取所述手势图像中的手轮廓; 确定所述手轮廓的重心; 查找所述手轮廓内与所述手轮廓的重心距离最远的点,该点为指尖的位置。 如权利要求6所述的空中手势输入方法,其特征在于,所述根据获取的所述手势图像中指尖的位置,生成书写轨迹的步骤包括: 以第二帧手势图像中指尖的位置为起始点,每获取一帧手势图像中指尖的位置,将所述指尖的位置所在的点与前一帧手势图像中指尖的位置所在的点相连。 如权利要求6所述的空中手势输入方法,其特征在于,所述检测到开始书写命令时,提供悬浮输入框进行手势输入,并采集手势图像,对每一帧所述手势图像中手轮廓进行图像分析,根据所述图像分析的结果获取指尖的位置的步骤之前包括: 采集第一帧用户命令手势和第二帧用户命令手势; 根据存储的单手张开的样本图像和单手握拳的样本图像判断所述第一帧用户命令手势和第二帧用户命令手势的类型; 根据所述第一帧用户命令手势和第二帧用户命令手势的类型,触发开始书写命令。 如权利要求6所述的空中手势输入方法,其特征在于,所述将每一帧手势图像进行二值化处理的步骤包括: 基于历史数据设定肤色阈值,或者,用于基于用户侧技术人员触发的设置指令设定肤色阈值; 将每一帧所述手势图像上的像素点的灰度值设置为0或255。 如权利要求6所述的空中手势输入方法,其特征在于,所述将每一帧手势图像进行二值化处理,且获取所述手势图像中的手轮廓的步骤之前包括: 对每一帧所述手势图像进行光照校正和降噪处理; 对每一帧所述手势图像进行高斯模糊处理,并将所述手势图像从RGB色度空间转换为HSV色度空间; 对进行完二值化处理的每一帧所述手势图像进行膨胀和腐蚀处理。 如权利要求8所述的空中手势输入方法,其特征在于,所述根据所述单手张开的样本图像和单手握拳的样本图像判断所述第一帧用户命令手势和第二帧用户命令手势的类型的步骤包括: 计算所述第一帧用户命令手势与所述单手张开的样本图像的第一相似性值,并计算所述第一帧用户命令手势与所述单手握拳的样本图像的第二相似性值,根据所述第一相似性值和所述第二相似性值判断所述第一帧用户命令手势是单手张开还是单手握拳; 计算所述第二帧用户命令手势与所述单手张开的样本图像的第三相似性值,并计算所述第二帧用户命令手势与所述单手握拳的样本图像的第四相似性值,基于所述第三相似性值和所述第四相似性值判断所述第二帧用户命令手势是单手张开还是单手握拳。 如权利要求8所述的空中手势输入方法,其特征在于,所述根据第一帧用户命令手势和第二帧用户命令手势的类型,触发开始书写的命令的步骤包括: 在所述第一帧用户命令手势为单手张开,且所述第二帧用户命令手势为单手握拳时,触发开始书写的命令。 一种空中手势输入装置,其特征在于,包括: 获取模块,用于检测到开始书写命令时,提供悬浮输入框进行手势输入,并采集手势图像,对每一帧所述手势图像中手轮廓进行图像分析,根据所述图像分析的结果获取指尖的位置; 生成模块,用于根据获取的所述手势图像中指尖的位置,生成书写轨迹; 识别模块,用于检测到结束书写命令时,对生成的所述书写轨迹进行文字识别,获得所述书写轨迹对应的文字。 如权利要求13所述的空中手势输入装置,其特征在于,所述装置还包括: 采集模块,用于采集第一帧用户命令手势和第二帧用户命令手势; 判断模块,用于根据存储的单手张开的样本图像和单手握拳的样本图像判断所述第一帧用户命令手势和第二帧用户命令手势的类型; 触发模块,用于根据所述第一帧用户命令手势和第二帧用户命令手势的类型,触发开始书写命令。 如权利要求14所述的空中手势输入装置,其特征在于,所述判断模块包括: 第一计算单元,用于计算所述第一帧用户命令手势与所述单手张开的样本图像的第一相似性值,并计算所述第一帧用户命令手势与所述单手握拳的样本图像的第二相似性值,根据所述第一相似性值和所述第二相似性值判断所述第一帧用户命令手势是单手张开还是单手握拳; 第二计算单元,用于计算所述第二帧用户命令手势与所述单手张开的样本图像的第三相似性值,并计算所述第二帧用户命令手势与所述单手握拳的样本图像的第四相似性值,基于所述第三相似性值和所述第四相似性值判断所述第二帧用户命令手势是单手张开还是单手握拳; 所述触发模块包括: 触发单元,用于在所述第一帧用户命令手势为单手张开,且所述第二帧用户命令手势为单手握拳时,触发开始书写的命令。 如权利要求13所述的空中手势输入装置,其特征在于,所述获取模块包括: 二值化单元,用于将每一帧手势图像进行二值化处理,且获取所述手势图像中的手轮廓; 重心确定单元,用于确定所述手轮廓的重心; 获取单元,用于查找所述手轮廓内与所述手轮廓的重心距离最远的点,该点为指尖的位置; 所述生成模块包括: 生成单元,用于以第二帧手势图像中指尖的位置为起始点,每获取一帧手势图像中指尖的位置,将所述指尖的位置所在的点与前一帧手势图像中指尖的位置所在的点相连。 如权利要求16所述的空中手势输入装置,其特征在于,所述二值化单元还用于基于历史数据设定肤色阈值,或者,用于基于用户侧技术人员触发的设置指令设定肤色阈值; 所述二值化单元还用于将每一帧手势图像上的像素点的灰度值设置为0或255。 如权利要求16所述的空中手势输入装置,其特征在于,所述获取单元还包括: 预处理单元,用于对每一帧所述手势图像进行光照校正和降噪处理; 色度空间转换单元,用于对每一帧所述手势图像进行高斯模糊处理,并将所述手势图像从RGB色度空间转换为HSV色度空间; 形态学单元,用于对对进行完二值化处理的所述手势图像进行膨胀和腐蚀处理。 如权利要求16所述的空中手势输入装置,其特征在于,所述装置还包括: 采集模块,用于采集第一帧用户命令手势和第二帧用户命令手势; 判断模块,用于根据存储的单手张开的样本图像和单手握拳的样本图像判断所述第一帧用户命令手势和第二帧用户命令手势的类型; 触发模块,用于根据所述第一帧用户命令手势和第二帧用户命令手势的类型,触发开始书写命令。 如权利要求19所述的空中手势输入装置,其特征在于,所述判断模块包括: 第一计算单元,用于计算所述第一帧用户命令手势与所述单手张开的样本图像的第一相似性值,并计算所述第一帧用户命令手势与所述单手握拳的样本图像的第二相似性值,根据所述第一相似性值和所述第二相似性值判断所述第一帧用户命令手势是单手张开还是单手握拳; 第二计算单元,用于计算所述第二帧用户命令手势与所述单手张开的样本图像的第三相似性值,并计算所述第二帧用户命令手势与所述单手握拳的样本图像的第四相似性值,基于所述第三相似性值和所述第四相似性值判断所述第二帧用户命令手势是单手张开还是单手握拳; 所述触发模块包括: 触发单元,用于在所述第一帧用户命令手势为单手张开,且所述第二帧用户命令手势为单手握拳时,触发开始书写的命令。