CN104699243B - 一种基于单目视觉的无实体虚拟鼠标方法 - Google Patents
一种基于单目视觉的无实体虚拟鼠标方法 Download PDFInfo
- Publication number
- CN104699243B CN104699243B CN201510073012.1A CN201510073012A CN104699243B CN 104699243 B CN104699243 B CN 104699243B CN 201510073012 A CN201510073012 A CN 201510073012A CN 104699243 B CN104699243 B CN 104699243B
- Authority
- CN
- China
- Prior art keywords
- point
- edge
- finger tip
- contour
- edge contour
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 11
- 239000000203 mixture Substances 0.000 claims abstract description 3
- 238000004088 simulation Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000005096 rolling process Methods 0.000 claims 1
- 238000004364 calculation method Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- KYGZCKSPAKDVKC-UHFFFAOYSA-N Oxolinic acid Chemical compound C1=C2N(CC)C=C(C(O)=O)C(=O)C2=CC2=C1OCO2 KYGZCKSPAKDVKC-UHFFFAOYSA-N 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
Abstract
本发明涉及一种基于单目视觉的无实体虚拟鼠标方法,由4部分组成:计算机,单目摄像头,手势输入,手势输入的有效区域组成;其中计算机和单目摄像头通过数据传输线进行连接;在计算机和单目摄像头已通过数据传输线进行连接并且能够正常工作的前提下,其能够利用手势准确地对鼠标动作进行模拟,将对非特殊环境下的裸手进行手势识别,从而使在不需要其他的辅助设备的情况下即可应用在一般性的环境之中。
Description
技术领域
本发明涉及一种基于单目视觉的无实体虚拟鼠标方法,属于计算机图像处理和计算机视觉技术的相关领域。
背景技术
所谓虚拟鼠标,在这里指的就是通过使用计算机视觉的方法来识别出人们的手势输入而模拟出真实鼠标的具体动作。而手势识别技术又使得人们能够使用一些简单的手势动作来进行交互式操作,这种无实体虚拟鼠标使得人们只需要使用自己的手势便可以实现鼠标动作的控制。
从手势识别的输入方式来看,手势识别可以分为基于数据手套的手势识别方式和基于计算机视觉的手势识别方式两种。而计算机视觉方式下的手势识别又可以分为基于标记特征的手势识别方式和基于自然特征的手势识别方式两种,本发明将使用基于自然特征的手势识别方式来为虚拟鼠标的模拟提供数据输入。J.Davis和M.Shan将戴上指尖具有高亮标记视觉手套的手势作为系统的输入,可识别7种手势;美国MIT媒体实验室的Starner,通过提取左右手质心的运动轨迹、手的形状等特征参数,结合语法规则识别出40个美国手语,正确率达到97%;Microsoft Korea的Hyeon和Kyu Lee,利用基于HMM的阈值模型从单手的运动轨迹识别出9种手势命令,平均识别率达到98.19%。
基于计算机视觉的手势识别方式根据使用的摄像头数目可以分为单个摄像头和多个摄像头两种类型。如果只使用单个摄像头则无法获取到手势的深度信息,只能获取到手势在二维平面上的投影信息;如果想要获取到手势的深度信息,则需要使用多个摄像头或采用深度摄像头。在现有的手势识别系统或一些实际应用环境中,手势的识别问题在一定程度上依赖着数据手套、特征标记等辅助措施。
发明内容
本发明的目的在于提供一种基于单目视觉的无实体虚拟鼠标方法,其能够利用手势准确地对鼠标动作进行模拟,将对非特殊环境下的裸手进行手势识别,从而使在不需要其他的辅助设备的情况下,仅通过单个摄像头获取的二维平面上的投影信息即可识别手势动作。
本发明的技术方案是这样实现的:一种基于单目视觉的无实体虚拟鼠标方法,由计算机,单目摄像头,手势输入,手势输入的有效区域组成;其中计算机和单目摄像头通过数据传输线进行连接;在计算机和单目摄像头已通过数据传输线进行连接并且能够正常工作的前提下,其特征在于虚拟鼠标的模拟步骤如下:
步骤1、在手势输入的有效区域内,手势输入通过单目摄像头将手势图像传送给计算机,以便对手势输入的手势图像进行识别,本发明可识别五种鼠标手势,每种手势依据指尖点的个数来进行区分和判定;
步骤2、将手势图像中每一个像素点RGB色彩空间的分量值转换到YCrCb色彩空间,RGB色彩空间到YCrCb色彩空间的转换公式为:
Y = 0.299 * R + 0.587 * G + 0.114 * B
Cr = -0.147 * R - 0.289 * G + 0.436 * B
Cb = 0.615 * R - 0.515 * G - 0.100 * B
其中,R、G、B分别表示RGB色彩空间中红色通道、绿色通道和蓝色通道分量的取值,Y、Cr、Cb分别表示YCrCb色彩空间中各通道分量的取值;
步骤3、在YCrCb色彩空间中,设定[(Cr + Cb)/2]参量的取值范围为[a1, a2]和(Cr- Cb)参量的取值范围为[b1, b2],然后根据[(Cr + Cb)/2]和(Cr - Cb)参量的取值范围来确定手势图像中各像素点是否为肤色,如果手势图像中某一像素点的[(Crp + Cbp)/2]和(Crp - Cbp)的取值均在[(Cr + Cb)/2]和(Cr - Cb)参量的取值范围内,则该像素点为肤色并将其颜色设置为白色,否则不是肤色并将其颜色设置为黑色,从而得到二值化后的肤色提取图像;
步骤4、通过使用freeman链码搜索算法对二值化肤色提取图像中的所有离散像素点进行轮廓搜寻,在对所有离散像素点进行轮廓搜寻时对每一个像素点进行八邻域的边缘试探识别;设定边缘的跟踪方向为顺时针方向,某一像素点八邻域内的所有像素点均为白色则不是边缘像素点,否则该像素点为边缘像素点并将该轮廓边缘点标记为“未搜寻”,并且每一个边缘像素点的链码判定方向顺序为:左上、上、右上、右、右下、下、左下、左;
步骤5、按照从上到下、从左到右的方向对所有边缘像素点进行轮廓边缘的搜寻,设搜寻到的第一个标记为“未搜寻”的轮廓边缘点o1为该边缘轮廓的起始点,然后按照链码判定方向的顺序对轮廓边缘点o1的后继轮廓边缘点进行搜寻,一旦搜寻出轮廓边缘点并且该轮廓边缘点的标记为“未标记”,则将该轮廓边缘点p1 1作为轮廓边缘点o1的后继轮廓边缘点并将该边缘轮廓点标记为“已搜寻”,依次类推搜寻出p1 1的后继轮廓边缘点p1 2、…、p1 n-1的后继轮廓边缘点p1 n,直至轮廓边缘点p1 n与轮廓边缘点o1重合为止,并将边缘轮廓点p1 n标记为“已搜寻”,从而得到一个完整的边缘轮廓e1;
步骤6、按照步骤5中的搜寻方式对其他标记为“未搜寻”的轮廓边缘点进行搜寻,最后搜寻得到所有的边缘轮廓e1、e2、…、em;
步骤7、设定freeman链码长度的取值范围为[c1, c2],在搜寻得到的所有边缘轮廓e1、e2、…、em中,如果边缘轮廓ei的链码长度在freeman链码长度的取值范围之内,则认为该边缘轮廓ei是手势的边缘轮廓f,否则不是手势的边缘轮廓;
步骤8、设边缘轮廓点的步长为[S1, S2] 范围内的整数S,对于每一个步长S来说,边缘轮廓f上的某一边缘轮廓点为K,则边缘轮廓点K的前导第S个边缘轮廓点为K1、边缘轮廓点K的后继第S个边缘轮廓点为K2,从而得到边缘轮廓点K在步长S下的曲率ks为向量KK1与向量KK2夹角的余弦值,最后得到边缘轮廓点K的曲率为kcos,kcos是曲率ks中的最大值,并记录边缘轮廓点K步长S的大小;
步骤9、设指尖边缘轮廓点的曲率阈值为r,如果边缘轮廓点K的曲率在指尖边缘轮廓点的曲率阈值范围内则将该边缘轮廓点添加到指尖点集合V中,并将K点向后移动D个像素,D取值范围为[30,50];否则继续执行下一个边缘轮廓点曲率的判定;
步骤10、在指尖点集合V中,从第一个指尖点G开始,可知该边缘轮廓点G的前导第S个边缘轮廓点为G1、边缘轮廓点G的后继第S个边缘轮廓点为G2,将边缘轮廓点G1和边缘轮廓点G2连接起来形成直线G1G2,如果直线G1G2上任一像素点在二值化的肤色提取图像中的颜色为白色,则继续进行下一个指尖点的判定;
步骤11、设定手指的最小长度为U,如果直线G1G2上任一像素点在二值化的肤色提取图像中的颜色为白色,同时边缘轮廓点G的前一个指尖点与边缘轮廓点G之间的距离大于手指长度U,则将该边缘轮廓点G之前的所有指尖点的横坐标均值和纵坐标均值作为一个指尖点添加到指尖点集合H中,并且将边缘轮廓点G和其之前的所有指尖点从指尖点集合V中去除;
步骤12、根据指尖点集合H,便可得到指尖点的个数Handc以及各指尖点的横坐标值、纵坐标值;
步骤13、根据指尖点的个数Handc以及各指尖点的横坐标值、纵坐标值便可以对鼠标的动作进行模拟:
(a)如果指尖点的个数Handc为1,则模拟鼠标的自由移动动作,鼠标自由移动的水平方向距离和竖直方向距离则根据当前帧指尖点位置与上一帧指尖点位置的差值来确定;
(b)如果指尖点的个数Handc为2,则模拟鼠标的左键单击动作;
(c)如果指尖点的个数Handc为3,则模拟鼠标的右键单击动作;
(d)如果指尖点的个数Handc为4,则模拟鼠标中键滚轮的滚动动作,鼠标中键滚轮的滚动值则根据当前帧第一个指尖点位置与上一帧第一个指尖点位置的差值来确定;
(e)如果指尖点的个数Handc为5,则模拟鼠标按住左键进行拖动的动作,按住鼠标左键进行拖动的距离则根据当前帧第一个指尖点位置与上一帧第一个指尖点位置的差值来确定;
步骤14、返回至步骤1,执行下一次的鼠标动作识别。
本发明的积极效果是通过仅使用一个单目摄像头和人手所做出的各种手势便可以实现真实鼠标所有的动作行为,并且无需任何其他辅助设备的支持而使得人们操作计算机时更加便捷。
附图说明
图1是一种基于单目视觉的无实体虚拟鼠标的总体结构及所需设备构成图。此图也是说明书摘要附图。其中:1为计算机,2为单目摄像头,3为手势输入,4为手势输入的有效区域。
图2(a)或图2(b)是模拟鼠标自由移动的手势输入图像。
图3(a)或图3(b)是模拟鼠标左键单击的手势输入图像。
图4(a)或图4(b)是模拟鼠标右键单击的手势输入图像。
图5(a)或图5(b)是模拟鼠标中键滚轮的滚动手势输入图像。
图6(a)或图6(b)是模拟按住鼠标左键进行拖动的手势输入图像。
具体实施方式
下面结合附图对本发明做进一步的描述:如图1所示,一种基于单目视觉的无实体虚拟鼠标方法,由计算机1,单目摄像头2,手势输入3,手势输入的有效区域4组成;其中计算机1和单目摄像头2通过数据传输线进行连接。
在计算机1和单目摄像头2已通过数据传输线进行连接并且能够正常工作的前提下,其特征在于虚拟鼠标的模拟步骤如下:
步骤1、在手势输入的有效区域4内,计算机1通过单目摄像头2获取手势输入3,得到手势图像,以便对手势图像进行识别,其中:手势输入3的手势动作可属于附图说明中任意一个手势动作。
步骤2、将手势图像中每一个像素点RGB色彩空间的分量值转换到YCrCb色彩空间,RGB色彩空间到YCrCb色彩空间的转换公式为:
Y = 0.299 * R + 0.587 * G + 0.114 * B
Cr = -0.147 * R - 0.289 * G + 0.436 * B
Cb = 0.615 * R - 0.515 * G - 0.100 * B
其中,R、G、B分别表示RGB色彩空间中红色通道、绿色通道和蓝色通道分量的取值,Y、Cr、Cb分别表示YCrCb色彩空间中各通道分量的取值。
步骤3、在YCrCb色彩空间中,设定[(Cr + Cb)/2]参量的取值范围为[105, 150]和(Cr - Cb)参量的取值范围为[6, 96],然后根据[(Cr + Cb)/2]和(Cr - Cb)参量的取值范围来确定手势图像中各像素点是否为肤色。如果手势图像中某一像素点的[(Crp + Cbp)/2]和(Crp - Cbp)的取值均在[(Cr + Cb)/2]和(Cr - Cb)参量的取值范围内,则该像素点为肤色并将其颜色设置为白色,否则不是肤色并将其颜色设置为黑色,从而得到二值化后的肤色提取图像。
步骤4、对步骤3得到的二值化后肤色提取图像进行形态学的腐蚀操作以及中值滤波操作,用以去除二值图上噪点,并使手部轮廓圆滑,使得光标定位更加稳定。
步骤5、通过使用freeman链码搜索算法对二值化肤色提取图像中的所有离散像素点进行轮廓搜寻,在对所有离散像素点进行轮廓搜寻时对每一个像素点进行八邻域的边缘试探识别。设定边缘的跟踪方向为顺时针方向,某一像素点八邻域内的所有像素点均为白色则不是边缘像素点,否则该像素点为边缘像素点并将该轮廓边缘点标记为“未搜寻”,并且每一个边缘像素点的链码判定方向顺序为:左上、上、右上、右、右下、下、左下、左。
步骤6、按照从上到下、从左到右的方向对所有边缘像素点进行轮廓边缘的搜寻,设搜寻到的第一个标记为“未搜寻”的轮廓边缘点o1为该边缘轮廓的起始点,然后按照链码判定方向的顺序对轮廓边缘点o1的后继轮廓边缘点进行搜寻,一旦搜寻出轮廓边缘点并且该轮廓边缘点的标记为“未标记”,则将该轮廓边缘点p1 1作为轮廓边缘点o1的后继轮廓边缘点并将该边缘轮廓点标记为“已搜寻”,依次类推搜寻出p1 1的后继轮廓边缘点p1 2、…、p1 n-1的后继轮廓边缘点p1 n,直至轮廓边缘点p1 n与轮廓边缘点o1重合为止,并将边缘轮廓点p1 n标记为“已搜寻”,从而得到一个完整的边缘轮廓e1。
步骤7、按照步骤5中的搜寻方式对其他标记为“未搜寻”的轮廓边缘点进行搜寻,最后搜寻得到所有的边缘轮廓e1、e2、…、em。
步骤8、设定freeman链码长度的取值范围为[500, 1000],在搜寻得到的所有边缘轮廓e1、e2、…、em中,如果边缘轮廓ei的链码长度在freeman链码长度的取值范围之内,则认为该边缘轮廓ei是手势的边缘轮廓f,否则不是手势的边缘轮廓。
步骤9、设边缘轮廓点的步长为[40, 100] 范围内的整数S,对于每一个步长S来说,边缘轮廓f上的某一边缘轮廓点为K,则边缘轮廓点K的前导第S个边缘轮廓点为K1、边缘轮廓点K的后继第S个边缘轮廓点为K2,从而得到边缘轮廓点K在步长S下的曲率ks为向量KK1与向量KK2夹角的余弦值。最后得到边缘轮廓点K的曲率为kcos,kcos是曲率ks中的最大值,并记录边缘轮廓点K步长S的大小。
步骤10、设指尖边缘轮廓点的曲率阈值为[0.70, 0.96],如果边缘轮廓点K的曲率属于指尖边缘轮廓点的曲率阈值则将该边缘轮廓点添加到指尖点集合V中,并将K点向后移动D个像素,D的范围为[30,50];否则继续执行下一个边缘轮廓点曲率的判定。
步骤11、在指尖点集合V中,从第一个指尖点G开始,可知该边缘轮廓点G的前导第S个边缘轮廓点为G1、边缘轮廓点G的后继第S个边缘轮廓点为G2,将边缘轮廓点G1和边缘轮廓点G2连接起来形成直线G1G2。如果直线G1G2上任一像素点在二值化的肤色提取图像中的颜色为白色,则为确定的指尖点。
步骤12、设定手指的最小长度为U,如果直线G1G2上任一像素点在二值化的肤色提取图像中的颜色为白色,同时边缘轮廓点G的前一个指尖点与边缘轮廓点G之间的距离大于手指长度U,则将该边缘轮廓点G之前的所有指尖点的横坐标均值和纵坐标均值作为一个指尖点添加到指尖点集合H中,并且将边缘轮廓点G和其之前的所有指尖点从指尖点集合V中去除。
步骤13、根据指尖点集合H,便可得到指尖点的个数Handc以及各指尖点在手势图像中的横坐标值、纵坐标值。
步骤14、假设屏幕的分辨率为Sw*Sh,相机的分辨率为Cw*Ch,指尖在手势图像上的坐标为(px,py),则光标在屏幕上的位置(x,y)通过以下公式得出:
x=(px/Cw)*Sw
y=(py/Ch)*Sh
步骤15、根据指尖点的个数Handc以及各指尖点在手势图像中的横坐标值、纵坐标值便可以对鼠标的动作进行模拟:
(a)如果指尖点的个数Handc为1,则模拟鼠标的自由移动动作,鼠标自由移动的水平方向距离和竖直方向距离则根据当前帧指尖点在手势图像中的位置与上一帧指尖点在手势图像中的位置的差值来确定;
(b)如果指尖点的个数Handc为2,则模拟鼠标的左键单击动作;
(c)如果指尖点的个数Handc为3,则模拟鼠标的右键单击动作;
(d)如果指尖点的个数Handc为4,则模拟鼠标中键滚轮的滚动动作,鼠标中键滚轮的滚动值则根据当前帧第一个指尖点在手势图像中的位置与上一帧第一个指尖点在手势图像中的位置的差值来确定;
(e)如果指尖点的个数Handc为5,则模拟鼠标按住左键进行拖动的动作,按住鼠标左键进行拖动的距离则根据当前帧第一个指尖点在手势图像中的位置与上一帧第一个指尖点在手势图像中的位置的差值来确定;
步骤16、返回至步骤1,执行下一次的鼠标动作识别。
Claims (1)
1.一种基于单目视觉的无实体虚拟鼠标方法,由计算机,单目摄像头,手势输入,手势输入的有效区域组成;其中计算机和单目摄像头通过数据传输线进行连接;在计算机和单目摄像头已通过数据传输线进行连接并且能够正常工作的前提下,其特征在于虚拟鼠标的模拟步骤如下:
步骤1、在手势输入的有效区域内,手势输入通过单目摄像头将手势图像传送给计算机,以便对手势输入的手势图像进行识别,本发明可识别五种鼠标手势,每种手势依据指尖点的个数来进行区分和判定;
步骤2、将手势图像中每一个像素点RGB色彩空间的分量值转换到YCrCb色彩空间,RGB色彩空间到YCrCb色彩空间的转换公式为:
Y = 0.299 * R + 0.587 * G + 0.114 * B
Cr = -0.147 * R - 0.289 * G + 0.436 * B
Cb = 0.615 * R - 0.515 * G - 0.100 * B
其中,R、G、B分别表示RGB色彩空间中红色通道、绿色通道和蓝色通道分量的取值,Y、Cr、Cb分别表示YCrCb色彩空间中各通道分量的取值;
步骤3、在YCrCb色彩空间中,设定[(Cr + Cb)/2]参量的取值范围为[a1, a2]和(Cr -Cb)参量的取值范围为[b1, b2],然后根据[(Cr + Cb)/2]和(Cr - Cb)参量的取值范围来确定手势图像中各像素点是否为肤色,如果手势图像中某一像素点的[(Crp + Cbp)/2]和(Crp- Cbp)的取值均在[(Cr + Cb)/2]和(Cr - Cb)参量的取值范围内,则该像素点为肤色并将其颜色设置为白色,否则不是肤色并将其颜色设置为黑色,从而得到二值化后的肤色提取图像;
步骤4、通过使用freeman链码搜索算法对二值化肤色提取图像中的所有离散像素点进行轮廓搜寻,在对所有离散像素点进行轮廓搜寻时对每一个像素点进行八邻域的边缘试探识别;设定边缘的跟踪方向为顺时针方向,某一像素点八邻域内的所有像素点均为白色则不是边缘像素点,否则该像素点为边缘像素点并将该轮廓边缘点标记为“未搜寻”,并且每一个边缘像素点的链码判定方向顺序为:左上、上、右上、右、右下、下、左下、左;
步骤5、按照从上到下、从左到右的方向对所有边缘像素点进行轮廓边缘的搜寻,设搜寻到的第一个标记为“未搜寻”的轮廓边缘点o1为该边缘轮廓的起始点,然后按照链码判定方向的顺序对轮廓边缘点o1的后继轮廓边缘点进行搜寻,一旦搜寻出轮廓边缘点并且该轮廓边缘点的标记为“未标记”,则将该轮廓边缘点p1 1作为轮廓边缘点o1的后继轮廓边缘点并将该边缘轮廓点标记为“已搜寻”,依次类推搜寻出p1 1的后继轮廓边缘点p1 2、…、p1 n-1的后继轮廓边缘点p1 n,直至轮廓边缘点p1 n与轮廓边缘点o1重合为止,并将边缘轮廓点p1 n标记为“已搜寻”,从而得到一个完整的边缘轮廓e1;
步骤6、按照步骤5中的搜寻方式对其他标记为“未搜寻”的轮廓边缘点进行搜寻,最后搜寻得到所有的边缘轮廓e1、e2、…、em;
步骤7、设定freeman链码长度的取值范围为[c1, c2],在搜寻得到的所有边缘轮廓e1、e2、…、em中,如果边缘轮廓ei的链码长度在freeman链码长度的取值范围之内,则认为该边缘轮廓ei是手势的边缘轮廓f,否则不是手势的边缘轮廓;
步骤8、设边缘轮廓点的步长为[S1, S2] 范围内的整数S,对于每一个步长S来说,边缘轮廓f上的某一边缘轮廓点为K,则边缘轮廓点K的前导第S个边缘轮廓点为K1、边缘轮廓点K的后继第S个边缘轮廓点为K2,从而得到边缘轮廓点K在步长S下的曲率ks为向量KK1与向量KK2夹角的余弦值,最后得到边缘轮廓点K的曲率为kcos,kcos是曲率ks中的最大值,并记录边缘轮廓点K步长S的大小;
步骤9、设指尖边缘轮廓点的曲率阈值为r,如果边缘轮廓点K的曲率在指尖边缘轮廓点的曲率阈值范围内则将该边缘轮廓点添加到指尖点集合V中,并将K点向后移动D个像素,D取值范围为[30,50];否则继续执行下一个边缘轮廓点曲率的判定;
步骤10、在指尖点集合V中,从第一个指尖点G开始,可知该边缘轮廓点G的前导第S个边缘轮廓点为G1、边缘轮廓点G的后继第S个边缘轮廓点为G2,将边缘轮廓点G1和边缘轮廓点G2连接起来形成直线G1G2,如果直线G1G2上任一像素点在二值化的肤色提取图像中的颜色为白色,则继续进行下一个指尖点的判定;
步骤11、设定手指的最小长度为U,如果直线G1G2上任一像素点在二值化的肤色提取图像中的颜色为白色,同时边缘轮廓点G的前一个指尖点与边缘轮廓点G之间的距离大于手指长度U,则将该边缘轮廓点G之前的所有指尖点的横坐标均值和纵坐标均值作为一个指尖点添加到指尖点集合H中,并且将边缘轮廓点G和其之前的所有指尖点从指尖点集合V中去除;
步骤12、根据指尖点集合H,便可得到指尖点的个数Handc以及各指尖点的横坐标值、纵坐标值;
步骤13、根据指尖点的个数Handc以及各指尖点的横坐标值、纵坐标值便可以对鼠标的动作进行模拟:
(a)如果指尖点的个数Handc为1,则模拟鼠标的自由移动动作,鼠标自由移动的水平方向距离和竖直方向距离则根据当前帧指尖点位置与上一帧指尖点位置的差值来确定;
(b)如果指尖点的个数Handc为2,则模拟鼠标的左键单击动作;
(c)如果指尖点的个数Handc为3,则模拟鼠标的右键单击动作;
(d)如果指尖点的个数Handc为4,则模拟鼠标中键滚轮的滚动动作,鼠标中键滚轮的滚动值则根据当前帧第一个指尖点位置与上一帧第一个指尖点位置的差值来确定;
(e)如果指尖点的个数Handc为5,则模拟鼠标按住左键进行拖动的动作,按住鼠标左键进行拖动的距离则根据当前帧第一个指尖点位置与上一帧第一个指尖点位置的差值来确定;
步骤14、返回至步骤1,执行下一次的鼠标动作识别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510073012.1A CN104699243B (zh) | 2015-02-12 | 2015-02-12 | 一种基于单目视觉的无实体虚拟鼠标方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510073012.1A CN104699243B (zh) | 2015-02-12 | 2015-02-12 | 一种基于单目视觉的无实体虚拟鼠标方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104699243A CN104699243A (zh) | 2015-06-10 |
CN104699243B true CN104699243B (zh) | 2017-10-13 |
Family
ID=53346453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510073012.1A Expired - Fee Related CN104699243B (zh) | 2015-02-12 | 2015-02-12 | 一种基于单目视觉的无实体虚拟鼠标方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104699243B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105551027B (zh) * | 2015-12-08 | 2018-08-03 | 沈阳东软医疗系统有限公司 | 一种边界跟踪方法及装置 |
CN108829268A (zh) * | 2018-07-11 | 2018-11-16 | 南京邮电大学 | 基于单个rgb摄像头的键盘输入方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853071A (zh) * | 2010-05-13 | 2010-10-06 | 重庆大学 | 基于视觉的手势识别方法及系统 |
CN103440033A (zh) * | 2013-08-19 | 2013-12-11 | 中国科学院深圳先进技术研究院 | 一种基于徒手和单目摄像头实现人机交互的方法和装置 |
-
2015
- 2015-02-12 CN CN201510073012.1A patent/CN104699243B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853071A (zh) * | 2010-05-13 | 2010-10-06 | 重庆大学 | 基于视觉的手势识别方法及系统 |
CN103440033A (zh) * | 2013-08-19 | 2013-12-11 | 中国科学院深圳先进技术研究院 | 一种基于徒手和单目摄像头实现人机交互的方法和装置 |
Non-Patent Citations (1)
Title |
---|
交互系统中实时手势分割及指尖检测方法;汤勇,顾宏斌等;《光电工程》;20100731;第37卷(第7期);第146页第3段-第147页倒数第3段,图1-2 * |
Also Published As
Publication number | Publication date |
---|---|
CN104699243A (zh) | 2015-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106934333B (zh) | 一种手势识别方法及系统 | |
CN107103613B (zh) | 一种三维手势姿态估计方法 | |
CN110738101B (zh) | 行为识别方法、装置及计算机可读存储介质 | |
Dominio et al. | Combining multiple depth-based descriptors for hand gesture recognition | |
CN103941866B (zh) | 一种基于Kinect深度图像的三维手势识别方法 | |
CN100407798C (zh) | 三维几何建模系统和方法 | |
CN110443205B (zh) | 一种手部图像分割方法及装置 | |
CN103218605B (zh) | 一种基于积分投影与边缘检测的快速人眼定位方法 | |
JP5077956B2 (ja) | 情報端末装置 | |
CN102096471B (zh) | 一种基于机器视觉的人机交互方法 | |
US20130050076A1 (en) | Method of recognizing a control command based on finger motion and mobile device using the same | |
JP2007538318A5 (zh) | ||
CN103389799A (zh) | 一种对手指尖运动轨迹进行跟踪的方法 | |
CN105260720B (zh) | 指纹识别的方法及装置 | |
WO2013051681A1 (ja) | 手指形状推定装置、手指形状推定方法、及び手指形状推定プログラム | |
CN106373128B (zh) | 一种嘴唇精确定位的方法和系统 | |
CN104866824A (zh) | 一种基于Leap Motion的手语字母识别方法 | |
CN106960175A (zh) | 基于深度卷积神经网络的第一视角动态手势检测方法 | |
CN111178170B (zh) | 一种手势识别方法和一种电子设备 | |
CN105046249B (zh) | 一种人机交互方法 | |
Tsagaris et al. | Colour space comparison for skin detection in finger gesture recognition | |
CN104699243B (zh) | 一种基于单目视觉的无实体虚拟鼠标方法 | |
CN109933190B (zh) | 一种头戴显示设备及其交互方法 | |
CN110490165B (zh) | 一种基于卷积神经网络的动态手势跟踪方法 | |
KR102052449B1 (ko) | 가상 마우스 시스템 및 그 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171013 |
|
CF01 | Termination of patent right due to non-payment of annual fee |