一种输入方法及装置与流程

文档序号:13420884阅读:162来源:国知局
一种输入方法及装置与流程

本发明涉及人机交互技术领域,特别是涉及一种输入方法及装置。



背景技术:

虚拟现实(virtualreality,vr)技术是利用计算机生成一种模拟环境,用户可以沉浸到该模拟环境中进行体验。虚拟现实技术是科技发展的趋势,如今,已应用于各个领域,例如:医学领域、vr电影、vr游戏等。在虚拟环境中用户可以通过实体按键向虚拟现实设备发送指令,还可以通过静态手势的方式与虚拟现实设备进行交互,虚拟现实设备根据用户的静态手势所表达的意思,作出相应的回应。

然而,发明人在实现本发明的过程中发现,现有技术至少存在如下问题:目前,虚拟现实设备只能对静态手势进行识别,进而才能与用户进行交互。而对于静态手势来说,可用的静态手势种类有限,因此,与虚拟现实设备交互时,用户通过静态手势所能表达出的意思也是有限的。这样,降低了用户与虚拟现实设备交互过程中的用户体验。



技术实现要素:

本发明实施例的目的在于提供一种输入方法及装置,以解决用户只能通过静态手势与虚拟现实设备进行交互的问题。具体技术方案如下:

第一方面,本发明实施例提供了一种输入方法,应用于电子设备,所述方法包括:

采集目标图像;

在所述目标图像中存在目标物时,获得所述目标物在所述目标图像中的目标位置;

根据所述目标位置和所述目标物的已形成运动轨迹,得到所述目标物的当前运动轨迹,其中,所述已形成运动轨迹为:根据连续采集且包含所述目标物的图像中所述目标物的位置形成的轨迹;

判断所述目标图像是否满足预设的停止输入条件;

如果所述目标图像不满足预设的停止输入条件,返回执行所述采集目标图像的步骤;

或者,如果所述目标图像满足预设的停止输入条件,根据所述当前运动轨迹进行字符识别,得到所输入的字符。

可选地,所述判断所述目标图像是否满足预设的输入终止条件的步骤,包括:

在所述目标图像中不存在所述目标物时,判断所述目标图像中是否存在用于表示预设的输入结束标识;

若所述目标图像中存在用于表示预设的输入结束标识,判定所述目标图像满足预设的停止输入条件。

可选地,所述判断所述目标图像是否满足预设的停止输入条件的步骤,包括:

判断所述当前运动轨迹与所述已形成运动轨迹是否相同;

若所述当前运动轨迹与所述已形成运动轨迹不相同,判定所述目标图像不满足预设的停止输入条件;

或者,若所述当前运动轨迹与所述已形成运动轨迹相同,获得所述目标物的运动轨迹保持不变的时长,并判断所述时长是否小于预设时长阈值;

如果所述时长小于所述预设时长阈值,判定所述目标图像不满足预设的停止输入条件;

或者,如果所述时长不小于所述预设时长阈值,判定所述目标图像满足预设的停止输入条件。

可选地,所述在所述目标图像中存在目标物时,获得所述目标物在所述目标图像中的目标位置的步骤,包括:

判断所述目标图像中是否存在与预设的所述目标物的基准图像相匹配的区域;

若存在,根据所述目标物在所述基准图像中的位置和目标区域在所述目标图像中的位置,确定所述目标物在所述目标图像中的位置,并将所述位置作为目标位置,其中,所述目标区域为:所述目标图像中与所述基准图像相匹配的区域。

可选地,所述在所述目标图像中存在目标物时,获得所述目标物在所述目标图像中的目标位置的步骤,包括:

确定所述目标物在所述目标图像中的目标区域;

获取所述目标区域的边缘图像;

确定所述边缘图像中的轮廓凸包;

从所确定的轮廓凸包中选择与所述目标物相匹配的轮廓凸包;

根据所选择的轮廓凸包中确定所述目标物在所述目标图像中的目标位置。

可选地,所述从所确定的轮廓凸包中选择与所述目标物相匹配的轮廓凸包的步骤,包括:

按照以下方式计算所确定的每一轮廓凸包对应的夹角,并选择计算得到的夹角小于预设夹角阈值的轮廓凸包为与所述目标物相匹配的轮廓凸包:

确定轮廓凸包的凸点,作为第一像素点;

在所述轮廓凸包中获取第二像素点和第三像素点,其中,所述第二像素点为:在所述轮廓凸包中所述第一像素点的一侧、且与第一像素点间隔预设数量个像素点的像素点,所述第三像素点为:在所述轮廓凸包中所述第一像素点的另一侧、且与第一像素点间隔所述预设数量个像素点的像素点;

按照以下公式计算所述第一像素点与所述第二像素点所确定的直线的第一斜率:

其中,(x1,y1)为所述第一像素点的坐标,(x2,y2)为所述第二像素点的坐标;

按照以下公式计算所述第一像素点与所述第三像素点所确定的直线的第二斜率:

其中,(x3,y3)为所述第三像素点的坐标;

按照以下公式,计算所述第一直线与所述第二直线所形成的夹角:

可选地,所述目标物为物体的端部。

第二方面,本发明实施例提供了一种输入装置,应用于电子设备,所述装置包括:

采集模块,用于采集目标图像;

获得模块,用于在所述目标图像中存在目标物时,获得所述目标物在所述目标图像中的目标位置;

得到模块,用于根据所述目标位置和所述目标物的已形成运动轨迹,得到所述目标物的当前运动轨迹,其中,所述已形成运动轨迹为:根据连续采集且包含所述目标物的图像中所述目标物的位置形成的轨迹;

判断模块,用于判断所述目标图像是否满足预设的停止输入条件;

触发模块,用于当所述判断模块的判断结果为否时,触发所述采集模块;

识别模块,用于当所述判断模块的判断结果为是时,根据所述当前运动轨迹进行字符识别,得到所输入的字符。

可选地,所述判断模块包括:

第一判断子模块,用于在所述目标图像中不存在所述目标物时,判断所述目标图像中是否存在用于表示预设的输入结束标识;

第一判定子模块,用于所述第一判断子模块的判断结果为是时,判定所述目标图像满足预设的停止输入条件。

可选地,所述判断模块包括:

第二判断子模块,用于判断所述当前运动轨迹与所述已形成运动轨迹是否相同;

第二判定子模块,用于当所述第二判断子模块的判断结果为否时,判定所述目标图像不满足预设的停止输入条件;

第三判断子模块,用于当所述第二判断子模块的判断结果为是时,获得所述目标物的运动轨迹保持不变的时长,并判断所述时长是否小于预设时长阈值;

第三判定子模块,用于当所述第三判断子模块的判断结果为是时,判定所述目标图像不满足预设的停止输入条件;

第四判定子模块,用于当所述第三判断子模块的判断结果为否时,判定所述目标图像满足预设的停止输入条件。

可选地,所述获得模块包括:

第四判断子模块,用于判断所述目标图像中是否存在与预设的所述目标物的基准图像相匹配的区域;

第一确定子模块,用于当所述第四判断子模块的判断结果为是时,根据所述目标物在所述基准图像中的位置和目标区域在所述目标图像中的位置,确定所述目标物在所述目标图像中的位置,并将所述位置作为目标位置,其中,所述目标区域为:所述目标图像中与所述基准图像相匹配的区域。

可选地,所述获得模块包括:

第二确定子模块,用于确定所述目标物在所述目标图像中的目标区域;

获取子模块,用于获取所述目标区域的边缘图像;

第三确定子模块,用于确定所述边缘图像中的轮廓凸包;

选择子模块,用于从所确定的轮廓凸包中选择与所述目标物相匹配的轮廓凸包;

第四确定子模块,用于根据所选择的轮廓凸包中确定所述目标物在所述目标图像中的位置。

可选地,所述选择子模块包括计算单元、选择单元;

所述计算单元,用于按照以下方式计算所确定的每一轮廓凸包对应的夹角:确定轮廓凸包的凸点,作为第一像素点;

在所述轮廓凸包中获取第二像素点和第三像素点,其中,所述第二像素点为:在所述轮廓凸包中所述第一像素点的一侧、且与第一像素点间隔预设数量个像素点的像素点,所述第三像素点为:在所述轮廓凸包中所述第一像素点的另一侧、且与第一像素点间隔所述预设数量个像素点的像素点;

按照以下公式计算所述第一像素点与所述第二像素点所确定的直线的第一斜率:

其中,(x1,y1)为所述第一像素点的坐标,(x2,y2)为所述第二像素点的坐标;

按照以下公式计算所述第一像素点与所述第三像素点所确定的直线的第二斜率:

其中,(x3,y3)为所述第三像素点的坐标;

按照以下公式,计算所述第一直线与所述第二直线所形成的夹角:

所述选择单元,用于选择计算得到的夹角小于预设夹角阈值的轮廓凸包为与所述目标物相匹配的轮廓凸包。

可选地,所述目标物为物体的端部。

第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述任一所述的输入方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的一种输入方法方法。

第五方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的一种输入方法。

本发明实施例提供的技术方案中,通过采集目标图像;在目标图像中存在目标物时,获得目标物在所述目标图像中的目标位置;根据目标位置和目标物的已形成运动轨迹,得到目标物的当前运动轨迹;判断目标图像是否满足预设的停止输入条件;如果不满足,返回执行采集目标图像的步骤;如果满足,根据当前运动轨迹进行字符识别,得到所输入的字符。通过本发明实施例提供的技术方案,可以通过手写输入的方式与电子设备进行交互,手写输入所能表达出的意思更丰富,这样,提高了用户与电子设备交互过程中的用户体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例提供的一种输入方法的一种流程图;

图2为本发明实施例提供的一种输入方法的另一种流程图;

图3为本发明实施例提供的一种输入方法的另一种流程图;

图4为本发明实施例提供的一种输入装置的一种结构示意图;

图5为本发明实施例提供的一种输入装置的另一种结构示意图;

图6为本发明实施例提供的一种输入装置的另一种结构示意图;

图7为本发明实施例提供的一种电子设备的一种结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

为了使得用户与电子设备交互过程中可以表达出更丰富的意思,进而提高用户体验,本发明实施例提供了一种输入方法及装置。

下面首先对本发明提供的一种输入方法进行介绍。

其中,本发明实施例提供的一种输入方法应用于电子设备,电子设备可以与用户进行交互,例如虚拟现实设备,虚拟现实设备可以识别用户的手势,并解析出手势的意图,进而根据所解析出的意图执行相应的操作。本发明实施例以虚拟现实设备为例进行说明。

如图1所示,本发明实施例提供的一种输入方法,包括如下步骤:

s101,采集目标图像。

其中,目标图像可以是通过电子设备上自带的摄像功能所拍摄的图像;还可以是与电子设备相连接的摄像设备所拍摄的图像,并且,摄像设备将所拍摄的图像发送给电子设备。

第一种实施方式,采集目标图像可以是根据间隔时长进行采集,其中,间隔时长可以是预先设定的,例如,间隔时长为50毫秒,表示每隔50毫秒采集一次目标图像。对于电子设备来说,间隔时长设置的越小,对目标图像的采集频率更高,在后续操作中所获得的运动轨迹会更精确。

s102,在目标图像中存在目标物时,获得目标物在目标图像中的目标位置。

其中,目标物可以为物体的端部,例如,手指的端部手指尖、笔的端部笔尖等。当目标物为手指尖时,进一步可以确定目标物为食指指尖、中指指尖、小拇指指尖等手指中的任一种。

进一步地,目标物可以是预先确定的电子设备进行定位跟踪的对象,也就是说,电子设备所获得的运动轨迹可以认为是目标物的移动轨迹。

所采集的目标图像可以分为两种情况:目标图像中存在目标物和目标图像中不存在目标物;目标图像中不存在目标物的情况在下面实施例中进行详细介绍,在此不做详述。

当目标图像中存在目标物时,第二种实施方式中,可以获得该目标物在目标图像中的位置,其中,可以通过图像匹配的方式获得:根据预设的基准图像中目标物的位置,从而获得目标图像中目标物的位置。该实施方式在下面的图2及图2对应的实施例中进行详细介绍,在此不做详述。

当目标图像中存在目标物时,第三种实施方式中,可以通过设定筛选条件,从而得到满足筛选条件的轮廓凸包,进而可以确定出目标物在目标图像中的位置。该实施方式在下面的图3以及图3所对应的实施例中进行详细介绍,在此不做详述。

当然,在目标图像中存在目标物时,获取目标物在目标图像中的位置的方法不仅限于上述两种。

s103,根据目标位置和目标物的已形成运动轨迹,得到目标物的当前运动轨迹。

其中,已形成运动轨迹为:根据连续采集且包含目标物的图像中目标物的位置形成的轨迹。另外,可以理解的是,当目标位置为所采集的第一个位置时,此时,还不存在已形成运动轨迹。

已形成运动轨迹所包括的目标物的位置均是连续的,即可以认为所包括的位置对应的图像是连续采集的,若图像采集过程中断,则运动轨迹的形成过程也中断,当获得下一个位置时,重新开始新的运动轨迹记录。

例如,已形成运动轨迹由目标物的100个位置形成,即连续采集了100张包括目标物的图像,若在采集第101张图像之前中断,那么以该已形成运动轨迹为基础的运动轨迹形成过程也中断,不会继续和之后获得的位置再形成新的运动轨迹。在采集到第101张图像时所获得相应的第101个位置,不再和已形成运动轨迹形成新的运动轨迹,而是作为第一个轨迹点开始新的运动轨迹。

另外,已形成运动轨迹中所包括的位置所对应的图像均是包含目标物的图像,若后续采集到的图像中不包括目标物时,则以已形成运动轨迹为基础的运动轨迹形成过程中断。

例如,已形成运动轨迹由目标物的100个位置形成,即连续采集了100张包括目标物的图像,而采集的第101张图像不包括目标物,则以该已形成运动轨迹为基础的运动轨迹形成过程也中断,当采集到下一张包括目标物的图像时,再以新获得的位置作为第一个轨迹点开始新的运动轨迹。

在获得有效的目标位置和已形成运动轨迹之后,将目标位置与该已形成运动轨迹相连接,进而可以得到目标物的当前运动轨迹。进一步地,可以将目标位置与已形成运动轨迹的尾端相连接,所形成的轨迹即为当前运动轨迹。

其中,目标位置连接的点为所获得的该目标位置的上一个位置,例如,已形成运动轨迹由目标物的100个位置形成,目标位置为第101个位置,将该目标位置与已形成运动轨迹中的第100个位置相连接,这样,该目标位置便与已形成运动轨迹相连接,进而得到当前运动轨迹。

s104,判断目标图像是否满足预设的停止输入条件;如果否,返回执行步骤s101,如果是,执行步骤s105。

其中,停止输入条件可以是自定义设定的,并且,停止输入条件可以是多种不同的条件,例如,可以通过预设的手势表示输入停止,还可以通过设定等待输入的时长,当等待的时长达到设定的时长时则停止输入。下面就上述两种停止输入条件分别进行介绍:

第四种实施方式中,停止输入条件可以设定为预设的输入结束标识,在获取到目标图像后,对该目标图像进行识别,若目标图像中存在目标物,则执行上述步骤s102;若目标图像中不存在目标物,则判断该目标图像中是否存在用于表示预设的输入结束标识,其中,该输入结束标识可以自定义设定,输入结束标识可以是输入结束手势,例如,输入结束手势可以是“ok”手势、“v”手势等。如果该目标图像中存在输入结束标识,则可以判定出该目标图像满足预设的停止输入条件。

其中,判断目标图像中是否存在输入结束标识可以是通过图像匹配的方式进行判断,例如,设定输入结束标识为“ok”手势,预先存储该“ok”手势图像,在判断目标图像是否存在输入结束标识时,将目标图像与预先存储的“ok”手势图像进行比较,若目标图像中存在区域与该“ok”手势图像相匹配,则可以确定该目标图像中存在用于表示预设的输入结束标识,进一步地,可以判定出该目标图像满足预设的停止输入条件。

当然,判断目标图像中是否存在输入结束标识的方式并不仅限于上述图像匹配的方式,还可以通过其他的方法进行判断,在此不做详述。

第五种实施方式中,停止输入条件可以设定为预设的等待时长。在获取到目标物的当前运动轨迹之后,首先,判断当前运动轨迹与已形成运动轨迹是否相同,可以通过图像匹配的方式进行判断。如果不匹配,则判定当前运动轨迹与已形成运动轨迹不相同,也就是说,相比于目标物的上一位置,该目标物发生了移动,此时,可以进一步判定出目标图像不满足预设的停止输入条件。

如果匹配,则判定当前运动轨迹与已形成运动轨迹相同,即相比于目标物的上一位置,该目标物没有发生移动。此时,可以获得目标物的运动轨迹保持不变的时长,并判断该时长是否小于预设时长阈值;其中,预设时长阈值可以是预先自定义设定的,例如,预设时长阈值可以设定为2秒。

当判断出目标物的运动轨迹保持不变的时长小于该预设时长阈值时,则可以判定目标图像不满足预设的停止输入条件;当判断出运动轨迹保持不变的时长不小于该预设时长阈值时,则可以判定出目标图像满足预设的停止输入条件。

其中,第六种实施方式中,可以是通过对每一运动轨迹的形成过程进行计时,当判断出当前运动轨迹与已形成运动轨迹不相同时,那么,在开始下一个运动轨迹的形成过程时重新开始计时;而在当前运动轨迹与已形成运动轨迹相同时,确定当前已累计的计时时长,并且在当前已累计的计时时长的基础上继续进行计时。其中,已累积的计时时长可以认为:从上一次重新开始计时的时刻到当前时刻的时长。

例如,已形成运动轨迹由目标物的100个位置形成,目标位置为第101个位置,并且,第99个位置所形成的运动轨迹与第100个位置所形成的运动轨迹相同,目标位置所形成的运动轨迹与第100个位置所形成的运动轨迹相同,那么,可以确定上一次重新开始计时的时刻为第99个位置所形成的运动轨迹的时刻,在判断出目标位置所形成的运动轨迹与第100个位置所形成的运动轨迹相同时,可以确定出从第9个位置所形成的运动轨迹的时刻开始所累积的计时时长为1秒,小于预设时长阈值2秒,则从所累积的计时时长1秒基础上继续计时,直到不小于预设时长阈值,或者所获得的新位置所形成的运动轨迹与该新位置的上一运动轨迹不相同。

s105,根据当前运动轨迹进行字符识别,得到所输入的字符。

当判断出目标图像满足预设的停止输入条件时,则可以终止输入,并且,根据所形成的当前运动轨迹,进行字符识别,例如,可以采用光学字符识别(opticalcharacterrecognition,ocr)进行字符识别,进而可以得到所输入的字符。

当判断出目标图像不满足预设的停止输入条件时,则返回执行采集目标图像的步骤,即继续获取目标物的位置并更新运动轨迹。

本发明实施例提供的技术方案中,通过采集目标图像;在目标图像中存在目标物时,获得目标物在所述目标图像中的目标位置;根据目标位置和目标物的已形成运动轨迹,得到目标物的当前运动轨迹;判断目标图像是否满足预设的停止输入条件;如果不满足,返回执行采集目标图像的步骤;如果满足,根据当前运动轨迹进行字符识别,得到所输入的字符。通过本发明实施例提供的技术方案,可以通过手写输入的方式与电子设备进行交互,手写输入所能表达出的意思更丰富,这样,提高了用户与电子设备交互过程中的用户体验。

为了通过手写输入的方式与电子设备进行交互,进而提高用户与电子设备交互过程中的用户体验。本发明实施例还提供的另一实施例,如图2所示,本发明实施例的提供一种输入方法,包括如下步骤:

s201,采集目标图像。

步骤s201与上述实施例的步骤s101相同,具体可以参见图1对应的实施例中的第一种实施方式,这里不再赘述。

s202,判断目标图像中是否存在与预设的目标物的基准图像相匹配的区域,若为是,执行步骤s203,若为否,执行步骤s207。

其中,基准图像可以是预先存储的关于目标物的图像,例如,目标物为指尖时,基准图像为指尖的图像。

可以通过图像匹配的方式在目标图像中查找与基准图像相匹配的区域,例如,预设的基准图像为食指指尖图像,目标图像为一只手的图像,经过图像匹配的方式,目标图像中手的食指指尖区域与基准图像是相匹配的,此时,则可确定该目标图像中存在与预设的基准图像相匹配的区域。

另外,当判断出目标图像中不存在与预设的目标物的基准图像相匹配的区域之后,在执行s207的步骤时可以有多种实施方式,例如,可以判断目标图像中是否存在用于表示预设的输入结束标识;还可以启动计时,当计时时长达到预设时长时,判定满足停止输入条件。当然,并不仅限于以上两种实施方式,还可以包括其他的实施方法,在此不做限定。

当判断出目标图像中不存在与预设的目标物的基准图像相匹配的区域时,执行s207的步骤:判断目标图像是否满足预设的停止输入条件,详见上述第四种实施方式,在此不再赘述。

s203,根据目标物在基准图像中的位置和目标区域在目标图像中的位置,确定目标物在目标图像中的目标位置。

其中,目标区域为:目标图像中与基准图像相匹配的区域,例如,基准图像为指尖图像,则所匹配出的目标区域为指尖区域。

因为目标区域与基准图像是相匹配的,那么,可以认为目标物在基准图像中的位置与目标物在目标区域中的位置是相同的。例如,指尖在基准图像中处于正中心的位置,那么对于所匹配出的目标区域,指尖也处于目标区域的正中心位置。

在判断出目标图像中存在与基准图像相匹配的区域时,该区域即为目标区域,可以确定出目标区域在目标图像中的位置,并且,根据目标物在基准图像中的位置可以确定出目标物在目标区域中的位置,进而,可以确定出目标物在目标图像中的位置。

例如,与基准图像匹配的目标区域在目标图像中的右上位置,指尖在基准图像中处于正中心的位置,则可以确定出指尖也处于目标区域的正中心位置,因此,进一步地,可以确定出指尖在目标图像中的位置。

s204,根据目标位置和目标物的已形成运动轨迹,得到目标物的当前运动轨迹。

s205,判断目标图像是否满足预设的停止输入条件;如果否,返回执行步骤s201,如果是,执行步骤s206。

s206,根据当前运动轨迹进行字符识别,得到所输入的字符。

步骤s204-s206与上述实施例的步骤s103-s105相同,具体可以参见图1及图1对应的实施例,这里不再赘述。

通过本发明实施例提供的技术方案,利用预先存储的基准图像可以更加方便快捷地确定目标物的位置,进而在以手写输入的方式与电子设备进行交互时,可以更加快捷地识别出所输入的字符,这样,提高了用户与电子设备交互过程中的用户体验。

为了通过手写输入的方式与电子设备进行交互,进而提高用户与电子设备交互过程中的用户体验。本发明实施例还提供的另一实施例,如图3所示,本发明实施例的提供一种输入方法,包括如下步骤:

s301,采集目标图像。

步骤s301与上述实施例的步骤s101相同,具体可以参见图1对应的实施例中的第一种实施方式,这里不再赘述。

s302,确定目标物在目标图像中的目标区域。

其中目标区域可以通过图像识别的方法获得,还可以通过图像匹配的方法获得,当然还可以有其他的方法确定目标物在目标图像中的目标区域,在此不做限定。

s303,获取目标区域的边缘图像。

在获得目标区域之后,对该目标区域进行边缘提取,从而获得目标物的边缘图像,例如,目标物为指尖时,对目标区域进行边缘提取之后,得到该指尖的边缘图像。

s304,确定边缘图像中的轮廓凸包。

s305,从所确定的轮廓凸包中选择与目标物相匹配的轮廓凸包。

其中,轮廓凸包可以为轮廓图像中所形成的凸起。从所提取到的边缘图像中可以得到轮廓凸包,若所得到的轮廓凸包有多个,则在这多个轮廓凸包中选择与目标物相匹配的轮廓凸包。

第七种实施方式中,可以按照以下方式计算所确定的每一轮廓凸包对应的夹角,然后选择计算得到的夹角小于预设夹角阈值的轮廓凸包为与目标物相匹配的轮廓凸包:

首先,确定轮廓凸包的凸点,作为第一像素点;其中,凸点可以为轮廓凸包的顶点,例如,轮廓凸包为直立的指尖轮廓,那么所确定的凸点为该指尖轮廓的最高点。

在轮廓凸包中获取第二像素点和第三像素点,其中,第二像素点为:在所述轮廓凸包中第一像素点的一侧、且与第一像素点间隔预设数量个像素点的像素点,第三像素点为:在轮廓凸包中所述第一像素点的另一侧、且与第一像素点间隔预设数量个像素点的像素点。

其中,预设数量可以是自定义设定的,例如,在轮廓凸包中获取的第二像素点为与第一像素点间隔20个像素点的像素点,在第一像素点的另一侧,将与第一像素点间隔20个像素点的像素点确定为第三像素点。

按照以下公式计算第一像素点与第二像素点所确定的直线的第一斜率:

其中,(x1,y1)为第一像素点的坐标,(x2,y2)为第二像素点的坐标;

按照以下公式计算第一像素点与第三像素点所确定的直线的第二斜率:

其中,(x3,y3)为第三像素点的坐标;

按照以下公式,计算第一直线与第二直线所形成的夹角:

其中,计算所得到的夹角θ为小于90度的锐角。通过上述计算方法,可以得出每一个轮廓凸包所对应的小于90度的夹角。

从所计算出的多个夹角中选择小于预设夹角阈值的夹角,该夹角所对应的轮廓凸包即为与目标物相匹配的轮廓凸包。

其中,预设夹角阈值可以是自定义设定的。

s306,根据所选择的轮廓凸包中确定所述目标物在目标图像中目标位置。

所选择的轮廓凸包是与目标物相匹配的,因此,该轮廓凸包在目标图像中的位置即可以认为是目标物在目标图像中的位置,进一步地,该位置即为在后续的操作中形成运动轨迹的目标位置。

s307,根据目标位置和目标物的已形成运动轨迹,得到目标物的当前运动轨迹。

s308,判断目标图像是否满足预设的停止输入条件;如果否,返回执行步骤s301,如果是,执行步骤s309。

s309,根据当前运动轨迹进行字符识别,得到所输入的字符。

步骤s307-s309与上述实施例的步骤s103-s105相同,具体可以参见图1及图1对应的实施例,这里不再赘述。

通过本发明实施例提供的技术方案,在计算所得的轮廓图像中确定与目标物相符的轮廓凸包,进一步确定目标物的位置,可以更加精准地确定目标物的位置,进而在以手写输入的方式与电子设备进行交互时,可以更加精准地识别出所输入的字符,这样,提高了用户与电子设备交互过程中的用户体验。

结合上述方法实施例,本发明实施例还提供一种输入装置,如图4所示,应用于电子设备,所述装置包括:

采集模块410,用于采集目标图像;

获得模块420,用于在所述目标图像中存在目标物时,获得所述目标物在所述目标图像中的目标位置;

得到模块430,用于根据所述目标位置和所述目标物的已形成运动轨迹,得到所述目标物的当前运动轨迹,其中,所述已形成运动轨迹为:根据连续采集且包含所述目标物的图像中所述目标物的位置形成的轨迹;

判断模块440,用于判断所述目标图像是否满足预设的停止输入条件;

触发模块450,用于当所述判断模块的判断结果为否时,触发所述采集模块;

识别模块460,用于当所述判断模块的判断结果为是时,根据所述当前运动轨迹进行字符识别,得到所输入的字符。

可选地,第八种实施方式中,所述判断模块440可以包括:

第一判断子模块,用于在所述目标图像中不存在所述目标物时,判断所述目标图像中是否存在用于表示预设的输入结束标识;

第一判定子模块,用于所述第一判断子模块的判断结果为是时,判定所述目标图像满足预设的停止输入条件。

可选地,第九种实施方式中,所述判断模块440可以包括:

第二判断子模块,用于判断所述当前运动轨迹与所述已形成运动轨迹是否相同;

第二判定子模块,用于当所述第二判断子模块的判断结果为否时,判定所述目标图像不满足预设的停止输入条件;

第三判断子模块,用于当所述第二判断子模块的判断结果为是时,获得所述目标物的运动轨迹保持不变的时长,并判断所述时长是否小于预设时长阈值;

第三判定子模块,用于当所述第三判断子模块的判断结果为是时,判定所述目标图像不满足预设的停止输入条件;

第四判定子模块,用于当所述第三判断子模块的判断结果为否时,判定所述目标图像满足预设的停止输入条件。

可选地,第十种实施方式中,所述目标物为物体的端部。

对于该实施例而言,由于其基本相似于上述图1及图1所对应的方法实施例,所以描述地比较简单,参见上述图1及图1所对应的方法实施例的部分说明即可。

本发明实施例提供的技术方案中,通过采集目标图像;在目标图像中存在目标物时,获得目标物在所述目标图像中的目标位置;根据目标位置和目标物的已形成运动轨迹,得到目标物的当前运动轨迹;判断目标图像是否满足预设的停止输入条件;如果不满足,返回执行采集目标图像的步骤;如果满足,根据当前运动轨迹进行字符识别,得到所输入的字符。通过本发明实施例提供的技术方案,可以通过手写输入的方式与电子设备进行交互,手写输入所能表达出的意思更丰富,这样,提高了用户与电子设备交互过程中的用户体验。

在图4及图4所对应的实施例的基础上,本发明实施例还提供一种输入装置的另一实施例,如图5所示,所述获得模块420可以包括:

第四判断子模块421,用于判断所述目标图像中是否存在与预设的所述目标物的基准图像相匹配的区域;

第一确定子模块422,用于当所述第四判断子模块的判断结果为是时,根据所述目标物在所述基准图像中的位置和目标区域在所述目标图像中的位置,确定所述目标物在所述目标图像中的位置,其中,所述目标区域为:所述目标图像中与所述基准图像相匹配的区域。

对于该实施例而言,由于其基本相似于上述图2及图2所对应的方法实施例,所以描述地比较简单,参见上述图2及图2所对应的方法实施例的部分说明即可。

通过本发明实施例提供的技术方案,利用预先存储的基准图像可以更加方便快捷地确定目标物的位置,进而在以手写输入的方式与电子设备进行交互时,可以更加快捷地识别出所输入的字符,这样,提高了用户与电子设备交互过程中的用户体验。

在图4及图4所对应的实施例的基础上,本发明实施例还提供一种输入装置的另一实施例,如图6所示,所述获得模块420可以包括:

第二确定子模块423,用于确定所述目标物在所述目标图像中的目标区域;

获取子模块424,用于获取所述目标区域的边缘图像;

第三确定子模块425,用于确定所述边缘图像中的轮廓凸包;

选择子模块426,用于从所确定的轮廓凸包中选择与所述目标物相匹配的轮廓凸包;

第四确定子模块427,用于根据所选择的轮廓凸包中确定所述目标物在所述目标图像中的位置。

可选地,第十一种实施方式中,所述选择子模块426可以包括计算单元、选择单元;

所述计算单元,用于按照以下方式计算所确定的每一轮廓凸包对应的夹角:确定轮廓凸包的凸点,作为第一像素点;

在所述轮廓凸包中获取第二像素点和第三像素点,其中,所述第二像素点为:在所述轮廓凸包中所述第一像素点的一侧、且与第一像素点间隔预设数量个像素点的像素点,所述第三像素点为:在所述轮廓凸包中所述第一像素点的另一侧、且与第一像素点间隔所述预设数量个像素点的像素点;

按照以下公式计算所述第一像素点与所述第二像素点所确定的直线的第一斜率:

其中,(x1,y1)为所述第一像素点的坐标,(x2,y2)为所述第二像素点的坐标;

按照以下公式计算所述第一像素点与所述第三像素点所确定的直线的第二斜率:

其中,(x3,y3)为所述第三像素点的坐标;

按照以下公式,计算所述第一直线与所述第二直线所形成的夹角:

所述选择单元,用于选择计算得到的夹角小于预设夹角阈值的轮廓凸包为与所述目标物相匹配的轮廓凸包。

对于该实施例而言,由于其基本相似于上述图3及图3所对应的方法实施例,所以描述地比较简单,参见上述图3及图3所对应的方法实施例的部分说明即可。

通过本发明实施例提供的技术方案,在计算所得的轮廓图像中确定与目标物相符的轮廓凸包,进一步确定目标物的位置,可以更加精准地确定目标物的位置,进而在以手写输入的方式与电子设备进行交互时,可以更加精准地识别出所输入的字符,这样,提高了用户与电子设备交互过程中的用户体验。

本发明实施例还提供了一种电子设备,如图7所示,包括处理器510、通信接口520、存储器530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信;

存储器530,用于存放计算机程序;

处理器510,用于执行存储器530上所存放的程序时,实现如下步骤:

采集目标图像;

在所述目标图像中存在目标物时,获得所述目标物在所述目标图像中的目标位置;

根据所述目标位置和所述目标物的已形成运动轨迹,得到所述目标物的当前运动轨迹,其中,所述已形成运动轨迹为:根据连续采集且包含所述目标物的图像中所述目标物的位置形成的轨迹;

判断所述目标图像是否满足预设的停止输入条件;

如果不满足,返回执行所述采集目标图像的步骤;

如果满足,根据所述当前运动轨迹进行字符识别,得到所输入的字符。

通过本发明实施例提供的技术方案,可以通过手写输入的方式与电子设备进行交互,手写输入所能表达出的意思更丰富,这样,提高了用户与电子设备交互过程中的用户体验。

当然,本发明实施例提供的一种电子设备还可以执行上述实施例中任一所述的一种输入方法。具体见图1、图2、图3以及所对应的实施例,这里不再赘述。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的一种输入方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的一种输入方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1