《一种精确定位光电鼠标位移量的方法.pdf》由会员分享,可在线阅读,更多相关《一种精确定位光电鼠标位移量的方法.pdf(11页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103076901 A(43)申请公布日 2013.05.01CN103076901A*CN103076901A*(21)申请号 201210584731.6(22)申请日 2012.12.28G06F 3/0354(2013.01)(71)申请人广州中国科学院先进技术研究所地址 511458 广东省广州市南沙区海滨路1121号(72)发明人吴晓鸰 杜如虚 付华伟 王阳阳孟振宇 官冠 曾德文(74)专利代理机构深圳汇智容达专利商标事务所(普通合伙) 44238代理人刘新年(54) 发明名称一种精确定位光电鼠标位移量的方法(57) 摘要本发明涉及一种精确定位光电鼠标位移。
2、量的方法,包括以下步骤:周期性采集鼠标底部反射回的光学影像,获取样本帧和参考帧;对样本帧进行二值化处理;计算样本帧和参考帧的相关系数矩阵;根据相关系数矩阵中最小元素的位置,确定鼠标的整像素级位移;计算相关系数变化值;根据相关系数变化值,计算鼠标的亚像素级位移;将整像素级位移与亚像素级位移相加,得出鼠标的总位移量;将当前样本帧更新为参考帧,返回获取下一样本帧。本发明提供的一种精确定位光电鼠标位移量的方法,实现了在使用相同的光电鼠标硬件条件下,更精确地判断鼠标的移动方向和移动距离,可以明显提高光电鼠标的光标定位精度和运行轨迹的平滑度,增强了光电鼠标的性能。(51)Int.Cl.权利要求书2页 说明。
3、书5页 附图3页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页 说明书5页 附图3页(10)申请公布号 CN 103076901 ACN 103076901 A1/2页21.一种精确定位光电鼠标位移量的方法,其特征在于,包括以下步骤: S1、周期性采集鼠标底部反射回的光学影像,获取样本帧和参考帧;其中,参考帧的采集时间早于样本帧; S2、对样本帧进行二值化处理; S3、计算样本帧和参考帧的相关系数矩阵; S4、根据相关系数矩阵中最小元素的位置,确定鼠标的整像素级位移; S5、计算最小元素的相关系数变化值,并计算在相关系数矩阵中与最小元素横向或纵向相邻的四个元素的相关系数。
4、变化值;其中,所述相关系数变化值等于相关系数矩阵各元素的平均值与该元素的差; S6、根据S5中计算得出的相关系数变化值,计算鼠标的亚像素级位移; S7、将S4中的整像素级位移与S6中的亚像素级位移相加,得出鼠标的总位移量; S8、将当前样本帧更新为参考帧,返回S1获取下一样本帧。 2.根据权利要求1所述的方法,其特征在于,所述S2具体包括: S201、对样本帧进行去噪处理; S202、将样本帧中每一个像素点的灰度与设定的阈值比较,将灰度低于阈值的像素点设为第一值,将灰度高于阈值的像素点设为第二值。 3.根据权利要求1所述的方法,其特征在于,所述S3具体包括: S301、去除样本帧中的忽略计算区。
5、域,确定待计算区域; S302、在样本帧的待计算区域内,使用一矩阵采样模板采集多个样本矩阵; S303、根据各样本矩阵在样本帧中的位置,将参考帧的待计算区域内相同位置的矩阵作为对应样本矩阵的参考矩阵; S304、计算每一对位置相对应的样本矩阵和参考矩阵的相关系数; S305、将所有相关系数按照对应的样本矩阵或参考矩阵在样本帧或参考帧中的相对位置关系,排列形成相关系数矩阵。 4.根据权利要求3所述的方法,其特征在于,所述S302具体包括,在样本帧的待计算区域内,使用所述矩阵采样模板从横向和纵向边缘开始,按照同一步长横向或纵向移动;当矩阵采样模板处于起始位置,以及每完成一次移动 时,都对样本帧落在。
6、矩阵采样模板区域内的矩阵进行采样,作为样本矩阵,直至历遍样本帧的待计算区域中的所有可移动区域。 5.根据权利要求4所述的方法,其特征在于,所述矩阵采样模板每次移动的步长为一个或多个像素。 6.根据权利要求4所述的方法,其特征在于,所述相关系数矩阵为M行N列的矩形,其中,M和N为奇数。 7.根据权利要求6所述的方法,其特征在于,M与N相等。 8.根据权利要求3所述的方法,其特征在于,所述S304中,所述相关系数等于样本矩阵与参考矩阵相减后得出的差值矩阵中所有元素的绝对值之和。 9.根据权利要求6或7所述的方法,其特征在于,所述S4中,确定鼠标的整像素级位移的方法包括: S401、确定相关系数矩阵。
7、中的最小元素; S402、将位于相关系数矩阵中心的元素作为参考元素,从所述参考元素到所述最小元权 利 要 求 书CN 103076901 A2/2页3素的向量值即为鼠标的整像素级位移,其中,每相邻一个元素为一个单位向量。 10.根据权利要求1所述的方法,其特征在于,所述亚像素级位移的计算公式为: 其中,dx为X轴方向上的亚像素级位移矢量,dy为Y轴方向上的亚像素级位移矢量,Cinv(x,y)为相关系数矩阵中最小元素的相关系数变化值,Cinv(x+1,y)为最小元素右边相邻元素的相关系数变化值,Cinv(x-1,y)为最小元素左边相邻元素的相关系数变化值,Cinv(x,y+1)为最小元素下方相邻。
8、元素的相关系数变化值,Cinv(x,y-1)为最小元素上方相邻元素的相关系数变化值。 权 利 要 求 书CN 103076901 A1/5页4一种精确定位光电鼠标位移量的方法技术领域0001 本发明涉及光电领域,具体涉及一种精确定位光电鼠标位移量的方法。背景技术0002 光电鼠标在工作时,通过内部的发光二极管,照亮鼠标底部,底部表面反射的一部分光线经光学透镜传到CMOS感光芯片上。CMOS感光芯片是由数百个光电转换器件组成的矩阵,影像在CMOS上转换为矩阵电信号,传输到信号处理系统DSP芯片,DSP芯片将此影像信号作为样本帧与存储的上一采样周期的影像(参考帧)进行比较,如果某一采样点在先后两个。
9、影像中的位置移动为一个整像素点,就发出纵、横两方向位移信号到接口系统,否则继续进行下一周期采样。接口系统对DSP芯片发来的信号进行处理输出,在计算机系统的运行界面上使指针产生对应的移动。0003 根据上述过程可以看出,DSP处理器输出的纵、横两方向位移信号的精确度影响了鼠标的移动和定位性能。然而,由于数字图像的离散特性,在数字图像相关中所得到的位移都只能是整像素的,而实际图像中的目标偏移一般不会正好为整像素。因此,现有技术中的光电鼠标中的DPS芯片仅能对比出样本帧与参考帧之间的整像素级位移,其精度较低,运动轨迹平滑度低,有待进一步的改进。发明内容0004 本发明的目的在于,提供一种精确定位光电。
10、鼠标位移量的方法,通过计算鼠标的亚像素级位移,在不更改硬件的条件下提高光电鼠标的精度和轨迹平滑度,增强光电鼠标的性能。0005 为达到上述目的,本发明采用以下技术方案:0006 一种精确定位光电鼠标位移量的方法,包括以下步骤:0007 S1、周期性采集鼠标底部反射回的光学影像,获取样本帧和参考帧;其中,参考帧的采集时间早于样本帧;0008 S2、对样本帧进行二值化处理;0009 S3、计算样本帧和参考帧的相关系数矩阵;0010 S4、根据相关系数矩阵中最小元素的位置,确定鼠标的整像素级位移;0011 S5、计算最小元素的相关系数变化值,并计算在相关系数矩阵中与最小元素横向或纵向相邻的四个元素的。
11、相关系数变化值;其中,所述相关系数变化值等于相关系数矩阵各元素的平均值与该元素的差;0012 S6、根据S5中计算得出的相关系数变化值,计算鼠标的亚像素级位移;0013 S7、将S4中的整像素级位移与S6中的亚像素级位移相加,得出鼠标的总位移量;0014 S8、将当前样本帧更新为参考帧,返回S1获取下一样本帧。0015 所述S2具体包括:0016 S201、对样本帧进行去噪处理;说 明 书CN 103076901 A2/5页50017 S202、将样本帧中每一个像素点的灰度与设定的阈值比较,将灰度低于阈值的像素点设为第一值,将灰度高于阈值的像素点设为第二值。0018 所述S3具体包括:0019。
12、 S301、去除样本帧中的忽略计算区域,确定待计算区域;0020 S302、在样本帧的待计算区域内,使用一矩阵采样模板采集多个样本矩阵;0021 S303、根据各样本矩阵在样本帧中的位置,将参考帧的待计算区域内相同位置的矩阵作为对应样本矩阵的参考矩阵;0022 S304、计算每一对位置相对应的样本矩阵和参考矩阵的相关系数;0023 S305、将所有相关系数按照对应的样本矩阵或参考矩阵在样本帧或参考帧中的相对位置关系,排列形成相关系数矩阵。0024 所述S302具体包括,在样本帧的待计算区域内,使用所述矩阵采样模板从横向和纵向边缘开始,按照同一步长横向或纵向移动;当矩阵采样模板处于起始位置,以及。
13、每完成一次移动时,都对样本帧落在矩阵采样模板区域内的矩阵进行采样,作为样本矩阵,直至历遍样本帧的待计算区域中的所有可移动区域;0025 所述矩阵采样模板每次移动的步长为一个或多个像素。0026 所述相关系数矩阵为M行N列的矩形,其中,M和N为奇数。0027 进一步地,M与N相等。0028 所述S304中,所述相关系数等于样本矩阵与参考矩阵相减后得出的差值矩阵中所有元素的绝对值之和。0029 所述S4中,确定鼠标的整像素级位移的方法包括:0030 S401、确定相关系数矩阵中的最小元素;0031 S402、将位于相关系数矩阵中心的元素作为参考元素,从所述参考元素到所述最小元素的向量值即为鼠标的整。
14、像素级位移,其中,每相邻一个元素为一个单位向量。0032 所述亚像素级位移的计算公式为:0033 0034 0035 其中,dx为X轴方向上的亚像素级位移矢量,dy为Y轴方向上的亚像素级位移矢量,Cinv(x,y)为相关系数矩阵中最小元素的相关系数变化值,Cinv(x+1,y)为最小元素右边相邻元素的相关系数变化值,Cinv(x-1,y)为最小元素左边相邻元素的相关系数变化值,Cinv(x,y+1)为最小元素下方相邻元素的相关系数变化值,Cinv(x,y-1)为最小元素上方相邻元素的相关系数变化值。0036 本发明提供的一种精确定位光电鼠标位移量的方法,在确定图像的整像素级位移后,继续在图像中。
15、心周围进行亚像素级位移搜索,提高了位移的计算精度,实现了在使用相同的光电鼠标硬件条件下,更精确地判断鼠标的移动方向和移动距离,可以明显提高光电鼠标的光标定位精度和运行轨迹的平滑度,增强了光电鼠标的性能。附图说明说 明 书CN 103076901 A3/5页60037 图1为本发明实施例提供的精确定位光电鼠标位移量的方法的流程示意图;0038 图2为本发明实施例中样本矩阵的采集方法示意图;0039 图3为本发明实施例中相关系数矩阵的示意图。具体实施方式0040 下面将结合附图和具体的实施例对本发明的内容进行详细的说明。0041 如图1所示,本发明实施例提供的一种精确定位光电鼠标位移量的方法,具体。
16、包括以下步骤:0042 S1、周期性采集鼠标底部反射回的光学影像,获取样本帧和参考帧;其中,参考帧的采集时间早于样本帧;0043 S2、对样本帧进行二值化处理;0044 S3、计算样本帧和参考帧的相关系数矩阵;0045 S4、根据相关系数矩阵中最小元素的位置,确定鼠标的整像素级位移;0046 S5、计算相关系数变化值:计算最小元素的相关系数变化值,并计算在相关系数矩阵中与最小元素横向或纵向相邻的四个元素的相关系数变化值;其中,所述相关系数变化值等于相关系数矩阵各元素的平均值与该元素的差;0047 S6、根据S5中计算得出的相关系数变化值,计算鼠标的亚像素级位移;0048 S7、将S4中的整像素。
17、级位移与S6中的亚像素级位移相加,得出鼠标的总位移量;0049 S8、将当前样本帧更新为参考帧,返回S1获取下一样本帧。0050 在S1中,所述参考帧反映了鼠标移动的初始位置;样本帧即为光学影像的当前帧,反映了鼠标当前所在位置,即鼠标移动的终点位置。样本帧和参考帧均是不断变化的,是相对的,而不是绝对的。当前计算中的参考帧可以是上一次计算中的样本帧,对应的,当前计算中的样本帧也可以在下一次计算中作为参考帧。本发明的目的就是通过对比样本帧和移动帧,利用亚像素级的相关性搜索和计算,得出鼠标的亚像素级位移。通俗地说,现有技术中的光电鼠标位移量测算方法均停留在整像素级层面,即所得出的位移量只能精确到整数。
18、位;而本发明的目的是获取光电鼠标位移量的小数位,使位移量的精度提高,进而提高鼠标移动的光标定位精度和运行轨迹的平滑度。0051 在上述方法中,所述S2具体包括:0052 S201、对样本帧进行去噪处理;0053 S202、将样本帧中每一个像素点的灰度与设定的阈值比较,将灰度低于阈值的像素点设为0,将灰度高于阈值的像素点设为1。0054 经过上述二值化处理后,所述样本帧即成为了一个仅包含0和1的矩阵。需要注意的是,对样本帧进行二值化处理的方法有很多种,在实际应用中可灵活选用。本发明实施例仅仅是例举了一种较为简单的二值化处理方法,并不能以此作为对本发明所提供的精确定位光电鼠标位移量的方法的限定。0。
19、055 本发明实施例中所述的S3具体包括:0056 S301、去除样本帧中的忽略计算区域,确定待计算区域。由于采集到的样本帧中所含信息并不一定全部反映了鼠标的移动距离,在实际运算中,为了简化计算,并不一定会把所采集到的完整样本帧作为处理对象。如图2所示,本发明实施例中采集到的样本帧为说 明 书CN 103076901 A4/5页71818的图像,为简化计算,可将样本帧的最末行18b和最末列18a作为忽略计算区域去除,仅留下1717的图像作为待计算区域。0057 S302、在样本帧的待计算区域内,使用一矩阵采样模板采集多个样本矩阵。0058 具体地,在样本帧的待计算区域内,使用所述矩阵采样模板从。
20、横向和纵向边缘开始,按照同一步长横向或纵向移动;当矩阵采样模板处于起始位置,以及每完成一次移动时,都对样本帧落在矩阵采样模板区域内的矩阵进行采样,作为样本矩阵,直至历遍样本帧的待计算区域中的所有可移动区域。0059 以图2为例,在样本帧中1717的待计算区域内,使用一1111的矩阵采样模板20从左上角开始,以1个像素为步长横向移动至待计算区域的右上角。然后将矩阵采样模板20向下移动1个像素,再将矩阵采样模板20在该行横向移动至该行的底端,依此类推,矩阵采样模板20逐行移动再逐列移动,直至历遍待计算区域中的所有可移动的区域。当矩阵采样模板20处于左上角的起始位置,以及每完成一次移动时,都对落在矩。
21、阵采样模板20区域内的矩阵进行采样,将其作为样本矩阵。由于总共能够纵向移动6次,每一行中能够横向移动6次,再加上初始位置锁采集到的样本矩阵,最终能够采集得到77个样本矩阵。0060 S303、根据各样本矩阵在样本帧中的位置,将参考帧的待计算区域内相同位置的矩阵作为对应样本矩阵的参考矩阵。本步骤中,相当于对参考帧进行和样本帧同样的操作,然后根据位置关系将采集到的77个参考矩阵分别与77个样本矩阵进行对应。0061 S304、计算每一对位置相对应的样本矩阵和参考矩阵的相关系数。其中,所述相关系数等于样本矩阵与参考矩阵相减后得出的差值矩阵中所有元素的绝对值之和。0062 S305、将所有相关系数按照。
22、对应的样本矩阵或参考矩阵在样本帧或参考帧中的相对位置关系,排列形成相关系数矩阵。如图3所示,由于在S302和S303中分别采集到了77个样本矩阵和77个参考矩阵,所以对应生成的相关系数矩阵即为一个77的矩阵。结合图2和图3,矩阵采样模板20在待计算区域左上角采集到的样本矩阵和参考矩阵的相关系数,即为图3所示相关系数矩阵中第1行第1列的X1;相对左上角的初始位置,矩阵采样模板20右移1个像素后,所采集到的样本矩阵和参考矩阵的相关系数即为图3所示相关系数矩阵中第1行第2列的X2;当矩阵采样模板20移动到初始位置的向下1个像素位置时,对应样本矩阵和参考矩阵的相关系数即为图3所示相关系数矩阵中第2行第。
23、1列的X8;依此类推,直至待计算区域的右下角,矩阵采样模板20采集到的样本矩阵和参考矩阵的相关系数即为图3所示相关系数矩阵中第7行第7列的X49。0063 所述S4中,确定鼠标的整像素级位移的方法包括:0064 S401、确定相关系数矩阵中的最小元素;0065 S402、将位于相关系数矩阵中心的元素作为参考元素,从所述参考元素到所述最小元素的向量值即为鼠标的整像素级位移,其中,每相邻一个元素为一个单位向量。以图3为例,77的相关系数矩阵中心的元素为第4行第4列的X25,因此将其作为参考元素,建立平面直角坐标系。假设相关系数矩阵中的最小值是第6行第6列的X41,由于建立的平面直角坐标系中,每相邻。
24、一个元素为一个单位向量,所以参考元素X25到最小元素X41的向量为(2,-2)。即鼠标的整像素级位移为(2,-2)。0066 在此需要说明的是,可以选取合适大小的待计算区域和矩阵采集模板,使采集得出的相关系数矩阵的行数和列数都为奇数。当相关系数矩阵的行数和列数都为奇数时,其说 明 书CN 103076901 A5/5页8矩阵的中心刚好落于其中一个元素上,可以简化计算,直接得出鼠标的整像素级位移。0067 计算出鼠标的整像素级位移后,即可根据S5和S6计算鼠标的亚像素级位移。0068 在S6中,所述亚像素级位移的计算公式为:0069 0070 0071 其中,dx为X轴方向上的亚像素级位移矢量,。
25、dy为Y轴方向上的亚像素级位移矢量,Cinv(x,y)为相关系数矩阵中最小元素的相关系数变化值,Cinv(x+1,y)为最小元素右边相邻元素的相关系数变化值,Cinv(x-1,y)为最小元素左边相邻元素的相关系数变化值,Cinv(x,y+1)为最小元素下方相邻元素的相关系数变化值,Cinv(x,y-1)为最小元素上方相邻元素的相关系数变化值。结合图3所示,Cinv(x,y)为X41的相关系数变化值,Cinv(x+1,y)为X42的相关系数变化值,Cinv(x-1,y)为X40的相关系数变化值,Cinv(x,y+1)为X48的相关系数变化值,Cinv(x,y-1)为X34的相关系数变化值。根据以。
26、上公式计算得出的dx和dy的值的范围是-1到1之间的小数或0。也就说计算得出的位移矢量是小于单位向量的,即所得结果为鼠标的亚像素级位移。0072 根据以上计算结果,将S4中的整像素级位移与S6中的亚像素级位移相加,即得出了鼠标的总位移量。0073 本发明提供的一种精确定位光电鼠标位移量的方法,在确定图像的整像素级位移后,继续在图像中心周围进行亚像素级位移搜索,提高了位移的计算精度。实现了在使用相同的光电鼠标硬件条件下,更精确地判断鼠标的移动方向和移动距离,可以明显提高光电鼠标的光标定位精度和运行轨迹的平滑度,增强了光电鼠标的性能。0074 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。说 明 书CN 103076901 A1/3页9图1说 明 书 附 图CN 103076901 A2/3页10图2说 明 书 附 图CN 103076901 A10。