发明名称 一种多点触摸交互系统的触摸手势触控信息识别方法
摘要 本发明公开了一种多点触摸交互系统的触控手势触控信息识别方法,属于多点触摸技术领域。本方法为:1)采集相邻两帧多点触摸交互系统输入的手指位置信息,其中第i、i+1帧手指位置集合分别为P{p<sub>1</sub>,p<sub>2</sub>,…p<sub>n</sub>}、Q{q<sub>1</sub>,q<sub>2</sub>,…q<sub>n</sub>};2)采用齐次坐标表示集合P、Q中每个点的位置信息,建立矩阵P、矩阵Q;3)计算矩阵P经缩放、旋转、平移变换到矩阵Q的变换参数;4)多点触摸交互系统根据所述变换参数确定第i帧到第i+1帧触摸手势输入的触控信息。本发明使触摸屏幕的多点触摸交互系统中识别多指手势更加精确,丰富了触摸屏的交互方式,使得触摸屏更加实用。
申请公布号 CN102722309B 申请公布日期 2014.09.24
申请号 CN201110077928.6 申请日期 2011.03.30
申请人 中国科学院软件研究所 发明人 张凤军;刘晓庆;戴志军;谭国富;王宏安
分类号 G06F3/0488(2013.01)I 主分类号 G06F3/0488(2013.01)I
代理机构 北京君尚知识产权代理事务所(普通合伙) 11200 代理人 冯艺东
主权项 一种多点触摸交互系统的触控手势触控信息识别方法,其步骤为:1)采集相邻两帧多点触摸交互系统输入的手指位置信息,其中,第i帧手指位置集合为P{p<sub>1</sub>,p<sub>2</sub>,…p<sub>n</sub>},第i+1帧手指位置集合为Q{q<sub>1</sub>,q<sub>2</sub>,…q<sub>n</sub>},n为自然数;2)采用齐次坐标表示集合P中每个点的位置信息,建立矩阵P;采用齐次坐标表示集合Q中每个点的位置信息,建立矩阵Q;3)计算矩阵P经缩放、旋转、平移变换到矩阵Q的变换参数;其中,所述变换参数包括:缩放参数r、旋转参数θ、平移参数t<sub>x</sub>和t<sub>y</sub>;4)多点触摸交互系统根据所述变换参数确定第i帧到第i+1帧触摸手势输入的触控信息;其中,通过一线性变换矩阵将矩阵P经缩放、旋转、平移变换到矩阵Q,所述线性变换矩阵为<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><mi>r</mi><mi>cos</mi><mi>&theta;</mi></mtd><mtd><mo>-</mo><mi>r</mi><mi>sin</mi><mi>&theta;</mi></mtd><mtd><msub><mi>t</mi><mi>x</mi></msub></mtd></mtr><mtr><mtd><mo>-</mo><mi>r</mi><mi>sin</mi><mi>&theta;</mi></mtd><mtd><mi>r</mi><mi>cos</mi><mi>&theta;</mi></mtd><mtd><msub><mi>t</mi><mi>y</mi></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>]]></math><img file="FDA0000468845880000011.GIF" wi="510" he="233" /></maths>根据方程<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><mi>r</mi><mi>cos</mi><mi>&theta;</mi></mtd><mtd><mo>-</mo><mi>r</mi><mi>sin</mi><mi>&theta;</mi></mtd><mtd><msub><mi>t</mi><mi>x</mi></msub></mtd></mtr><mtr><mtd><mo>-</mo><mi>rson&theta;</mi></mtd><mtd><mi>r</mi><mi>cos</mi><mi>&theta;</mi></mtd><mtd><msub><mi>t</mi><mi>y</mi></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><msup><mi>P</mi><mi>T</mi></msup><mo>=</mo><msup><mi>Q</mi><mi>T</mi></msup></mrow>]]></math><img file="FDA0000468845880000012.GIF" wi="660" he="233" /></maths>计算所述变换参数;计算所述变换参数的方法为:首先设置一参数a、b,令a=rcosθ,b=rsinθ;然后将方程<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><mi>r</mi><mi>cos</mi><mi>&theta;</mi></mtd><mtd><mo>-</mo><mi>r</mi><mi>sin</mi><mi>&theta;</mi></mtd><mtd><msub><mi>t</mi><mi>x</mi></msub></mtd></mtr><mtr><mtd><mo>-</mo><mi>rson&theta;</mi></mtd><mtd><mi>r</mi><mi>cos</mi><mi>&theta;</mi></mtd><mtd><msub><mi>t</mi><mi>y</mi></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><msup><mi>P</mi><mi>T</mi></msup><mo>=</mo><msup><mi>Q</mi><mi>T</mi></msup></mrow>]]></math><img file="FDA0000468845880000013.GIF" wi="665" he="232" /></maths>转换为方程<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>x</mi><mrow><mi>p</mi><mn>1</mn></mrow></msub></mtd><mtd><mo>-</mo><msub><mi>y</mi><mrow><mi>p</mi><mn>1</mn></mrow></msub></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><msub><mi>y</mi><mrow><mi>p</mi><mn>1</mn></mrow></msub></mtd><mtd><msub><mi>x</mi><mrow><mi>p</mi><mn>1</mn></mrow></msub></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>x</mi><mi>pn</mi></msub></mtd><mtd><mo>-</mo><msub><mi>y</mi><mi>pn</mi></msub></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><msub><mi>y</mi><mi>pn</mi></msub></mtd><mtd><msub><mi>x</mi><mi>pn</mi></msub></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mfenced open='[' close=']'><mtable><mtr><mtd><mi>a</mi></mtd></mtr><mtr><mtd><mi>b</mi></mtd></mtr><mtr><mtd><msub><mi>t</mi><mi>x</mi></msub></mtd></mtr><mtr><mtd><msub><mi>t</mi><mi>y</mi></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>x</mi><mrow><mi>q</mi><mn>1</mn></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>y</mi><mrow><mi>q</mi><mn>1</mn></mrow></msub></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>x</mi><mi>qn</mi></msub></mtd></mtr><mtr><mtd><msub><mi>y</mi><mi>qn</mi></msub></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FDA0000468845880000014.GIF" wi="687" he="396" /></maths>然后采用最小二乘法求解转换后的方程,得到所述变换参数;其中,矩阵P为<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>P</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>x</mi><mrow><mi>p</mi><mn>1</mn></mrow></msub></mtd><mtd><msub><mi>y</mi><mrow><mi>p</mi><mn>1</mn></mrow></msub></mtd><mtd><mn>1.0000</mn></mtd></mtr><mtr><mtd><msub><mi>x</mi><mrow><mi>p</mi><mn>2</mn></mrow></msub></mtd><mtd><msub><mi>y</mi><mrow><mi>p</mi><mn>2</mn></mrow></msub></mtd><mtd><mn>1.0000</mn></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>x</mi><mi>pn</mi></msub></mtd><mtd><msub><mi>y</mi><mi>pn</mi></msub></mtd><mtd><mn>1.0000</mn></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>]]></math><img file="FDA0000468845880000015.GIF" wi="547" he="328" /></maths>矩阵Q为<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>Q</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>x</mi><mrow><mi>q</mi><mn>1</mn></mrow></msub></mtd><mtd><msub><mi>y</mi><mrow><mi>q</mi><mn>1</mn></mrow></msub></mtd><mtd><mn>1.0000</mn></mtd></mtr><mtr><mtd><msub><mi>x</mi><mrow><mi>q</mi><mn>2</mn></mrow></msub></mtd><mtd><msub><mi>y</mi><mrow><mi>q</mi><mn>2</mn></mrow></msub></mtd><mtd><mn>1.0000</mn></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>x</mi><mi>qn</mi></msub></mtd><mtd><msub><mi>y</mi><mi>qn</mi></msub></mtd><mtd><mn>1.0000</mn></mtd></mtr></mtable></mfenced><mo>.</mo></mrow>]]></math><img file="FDA0000468845880000016.GIF" wi="541" he="327" /></maths>
地址 100190 北京市海淀区中关村南四街4号