旋转角度检测方法

文档序号:6022733
专利名称:旋转角度检测方法
技术领域
本发明有关一种检测方法,特别是对旋转角度进行检测的方法。
背景技术
现在的旋转角度的检测大多是通过旋转传感器进行检测,而旋转传感器也是通过检测机械变形量或机械作用力的大小,或者是通过电容或电阻值的改变判断旋转的角度, 此种方式存在的不足之处是元件体积较大,不易安装在一些便携式电子装置上,而现有的便携式电子装置中对于图片的旋转通常是固定角度的,即通过重力感应器等MEMS器件,感测电子装置的方向,从而相应的将图片在横屏与竖屏显示方式之间进行转换,即只是进行 90度的变换,无法适用于需要其他角度旋转的应用环境。

发明内容
本发明的目的在于提供一种旋转角度检测的方法,采用图像处理技术对旋转角度进行检测,以解决现有技术中无法对任意角度进行检测的问题。为实现上述目的,本发明提供一种旋转角度检测方法,该方法包括如下步骤通过一传感器阵列取得二幅图像,形成参考帧与采样帧,并通过采样帧与参考帧的相关运算取得运动矢量;以参考帧的中心为圆心选取参考帧的部分像素形成环状参考帧,并且该环状参考帧包括多个呈环状分布的参考块;以采样帧的中心为圆心选取部分像素形成环状采样帧,并且该环状采样帧包括多个呈环状分布的采样块,该采样块与上述参考块一一对应;对环状参考帧与环状采样帧旋转移位处理得到第一与第二比较帧;将第一比较帧与第二比较帧进行相关运算,取得最大相关值,计算此最大相关值对应的旋转矢量。依据上述主要特征,采样帧的中心通过参考帧的中心与计算得到的运动矢量确定得到。依据上述主要特征,根据环状参考帧的参考块的像素值形成第一比较帧是通过将此环状参考帧的参考块的像素值进行顺时针与逆时针旋转移位a单位的参考块得到,如环
状参考帧的参考块的像素值为C3 (1),C3 O),.......C3 (16),则顺时针旋转a单位的参考
块形成的第一比较帧的数据Ai1, Ai2,......,Ai16,其中i = 0,.......I,I代表最大旋转
的单位个数,如此第一比较帧的数据Ai1, Ai2,......,Ai16为Ai1= (l-ai)C3(l)+ai C3 (2);Ai2= (l-ai)C3(2)+ai C3 (3)由此类推,而Aini= (l-ai)C3(16)+ai C3(l);而逆时针旋转移位a单位的参考块得到的比较帧的数据为A_i1; A-i2, A-I3......,A-i16 为
A-i2 = ai C3(l) + (l-ai)C3(2);A-I3 = ai C3(2) + (l-ai)C3(3);由此类推,而 A-、= ai C3(16) + (l-ai)C3(l)。依据上述主要特征,根据环状采样帧的采样块的像素值形成第二比较帧是通过将此环状采样帧的采样块的像素值进行顺时针与逆时针旋转移位a单位的采样块得到,如环
状采样帧的采样块的像素值为C3(l’),C3(2’),.......C3 (16’),则顺时针旋转移位a单
位的采样块形成的第二比较帧的数据Bi1, Bi2,......,Bi16,其中i = 0,.......I,I代表
最大旋转的单位个数,如此第二比较帧的数据Bi1, Bi2,......,Bi16为Bi1 = (l-ai)C3(l,)+ai C3(2,);Bi2 = (l-ai)C3(2' )+ai C3(3,)由此类推,而Bi16 = (l_ai)C3(16,)+a i C3(l,);而逆时针旋转移位a单位的采样块得到的比较帧的数据为B_i1; B-i2, B_i3,......, B-i16 为B-i2 = ai C3(l,)+ (l_ai) C3 (2,);B-I3 = ai C3(2,) + (l_ai) C3 (3,);由此类推,而 B-ii = a i C3(16,)+ (l-ai)C3(l,)。依据上述主要特征,当环状参考帧与采样帧设有多个图像环时,对每一图像环对应的环状参考帧与采样帧进行旋转移位处理形成第一与第二比较帧,并进行相关运算,得到每一图像环的最大相关值对应的旋转矢量,之后对这些旋转矢量进行加权平均,得到最终的旋转矢量。依据上述主要特征,环状参考帧的参考块与环状采样帧的采样块的像素值是通过所选取的矩形传感器阵列的像素块的像素值与该参考块或采样块与该像素块的占空的比例的积累加得到。与现有技术相比较,本发明通过利用传感器阵列取得二幅图像,形成参考帧与采样帧,并通过采样帧与参考帧的相关运算取得运动矢量;之后以参考帧的中心为圆心选取参考帧的部分像素形成环状参考帧,并且该环状参考帧包括多个呈环状分布的参考块,并以采样帧的中心为圆心选取采样帧的部分像素形成环状采样帧,并且该环状采样帧包括多个呈环状分布的采样块;其后对环状参考帧与环状采样帧旋转移位处理得到第一与第二比较帧,最后将第一比较帧与第二比较帧进行相关运算,取得最大相关值,计算此最大相关值对应的旋转矢量,如此利用现有的矩形传感器阵列便可实现旋转角度的检测,从而克服现有旋转检测装置的局限性,更利于将该旋转检测装置应用于便携式电子装置上,从而令使用者实现对控制对象任意角度的旋转操作。


图1为实施本发明的旋转角度检测装置的图像传感器阵列的分布示意图。图2为图1中环状分布的图像传感器块与图像传感器阵列的像素块的对应示意图。图3为实施本发明的旋转角度检测方法的流程图。
具体实施例方式以下结合附图对本发明具体实施方式
进行说明。请参阅图1所示,为实施本发明的旋转角度检测方法所使用的图像传感器阵列的分布示意图,在本实施例中该图像传感器阵列呈矩形,是由图像传感器R(00,
00)......R(31,31)组成的31*31的矩形传感器阵列R,当然此矩形图像传感器阵列R的大
小完全可视具体的需要而定。如此可利用此矩形图像传感器阵列取得外部工作表面或物体表面(如电子装置的工作表面或手指)的二帧图像,分别形成参考帧与采样帧,之后通过采样帧与参考帧进行相关性运算,从而取得电子装置或手指的运动矢量,如此可控制与该矩形图像传感器阵列配合的电子装置屏幕的光标或图形的运动,具体的原理与现有的光电鼠标的工作原理相同,此在现有技术中多有描述,此处不再详细说明。通常在电子装置启动后,通过该矩形图像传感器阵列取得的参考帧的中心为确定的,如通常是该矩形图像传感器阵列的中心,之后根据采样帧与参考帧进行相关性运算取得运动矢量,此运动矢量也可视为参考帧中心与采样帧中心的运动矢量(具体用途容后详述)O为利用此矩形图像传感器阵列检测旋转矢量,可选择该矩形图像传感器阵列的部分传感器形成多个呈环状分布的图像传感器块,如此形成传感器环。此时需要注意的是,此处的传感器环并不需要单独设置,在具体实现时只需通过控制相应的读出电路读出组成该传感器环的图像传感器块的传感器的像素值,并结合图像传感器块与每一传感器对应的像素块的占空比例(即二者重合的比例)而得到此图像传感器块的像素值,具体如下所述。结合图2所示,以传感器环C3的图像传感器块C3 (7)为例,该图像传感器块C3 (7) 的像素值可通过如下的公式一计算得到C3(7) = al*R(02,22)+a2*R(03,22)+a3*R(04,22)+a4*R(02,23)+5*R(03, 23) +a6*R(04,23)+a7*R(02,24)+a8*R(03,22)+a9*R(04,24)+alO*R(05,24)+11*R(03,
25)+al2*R(04,25)+al3*R(05,25)+al4*R(06,25)+a 15*R(04,26)+a 16氺R (05,
26)+al7*R (06,26) +al8*R (04,27) +al9*R (05,27) +a20*R (06,27);(公式一)其中al. . . a20是指图像传感器块与每一传感器对应的像素块的占空比例(即每一传感器对应的像素块与图像传感器块面积的重合比例,如al = 1/16, a5 = 1,此占空比例完全可由积分的方式计算出,此为现有技术,此处不再详细说明),而R(02,22)为第02行、 第22列对应的传感器的像素值,而图中所示的R(02,27)为第02行、第27列对应的传感器的像素值。在具体实施时,可以设置多个(在本实施例中设有三个,即C1、C2、C3)图像传感器环(即通过控制相应的读出电路实现),并且这些图像传感器环呈同心设置,而每传感器环则包括多个(在本实施例设有16个)图像传感器块。请参阅图3所示,为实施本发明的旋转角度检测方法的流程图,该方法包括如下步骤通过一传感器阵列取得二幅图像,形成参考帧与采样帧,并通过采样帧与参考帧的相关运算取得运动矢量;以参考帧的中心为圆心选取参考帧的部分像素形成环状参考帧(即由图像传感器环形成的图像帧),并且该环状参考帧包括多个呈环状分布的参考块(即图像传感器环的图像传感器块);以采样帧的中心为圆心选取采样帧的部分像素形成环状采样帧(即由图像传感器环形成的图像帧),并且该环状采样帧包括多个呈环状分布的采样块(即图像传感器环的图像传感器块),其中该采样块与参考块一一对应,并且采样帧的中心是通过参考帧的中心与上述计算得到的运动矢量确定得到,即将参考帧的中心移动计算所到的运行矢量即可得到采样帧的中心;对环状参考帧与环状采样帧旋转移位处理得到第一与第二比较帧;将第一比较帧与第二比较帧进行相关运算,取得最大相关值,计算此最大相关值对应的旋转矢量。在上述的步骤中,为便于描述,假设只设有一个图像传感器环C3,如此根据环状参考帧的参考块的像素值形成第一比较帧是通过将此环状参考帧的参考块的像素值进行顺时针与逆时针旋转移位a单位的参考块得到,如环状参考帧的参考块的像素值为C3 (1),
C3(2),.......C3(16),则顺时针旋转a单位的参考块形成的第一比较帧的数据Ai1,
Ai2,......,Ai16,其中i = 0,......I,I代表最大旋转的单位个数,如此第一比较帧的数
据 Ai1, Ai2,......, Ai16 为Ai1= (l-ai)C3(l)+ai C3 (2);Ai2= (l-ai)C3(2)+ai C3 (3)由此类推,而Aini= (l-ai)C3(16)+ai C3(l);而逆时针旋转移位a单位的参考块得到的比较帧的数据为A_i1; A-i2, A-I3......,A-i16 为A-i2 = ai C3 (1) + (1-ai) C3 (2);A-I3 = ai C3 (2) + (l_ai) C3 (3);由此类推,而 A-i: = ai C3 (16) + (l_ai) C3 (1)。依据上述主要特征,根据环状采样帧的采样块的像素值形成第二比较帧是通过将此环状采样帧的采样块的像素值进行顺时针与逆时针旋转移位a单位的采样块得到,如环
状采样帧的采样块的像素值为C3(l’),C3(2’),.......C3 (16’),则顺时针旋转移位a单
位的采样块形成的第二比较帧的数据Bi1, Bi2,......,Bi16,其中i = 0,......1,1代表最
大旋转的单位个数,如此第二比较帧的数据Bi1, Bi2,......,Bi16为Bi1 = (l-ai)C3(l,)+ai C3(2,);Bi2 = (l-ai)C3(2' )+ai C3(3,)由此类推,而Bi16 = (1-ai) C3 (16,)+a i C3(l,);而逆时针旋转移位a单位的采样块得到的比较帧的数据为B_i1; B-i2, B_i3,......, B-i16 为B-i2 = ai C3(l,) + (l_ai) C3 (2,);B-I3 = ai C3(2,) + (l_ai) C3 (3,);由此类推,而 B-ii = a i C3(16,)+ (l-ai)C3(l,)。由上述的方式得到第一与第二比较帧,之后将第一与第二比较帧进行相关运算, 对于每一传感器环(如C1、C2、C3)均有ΟΙ+1)Μ2Ι+1)个相关值,将环状参考帧通过旋转 ai (i = 0,......I,I代表旋转的单位数量)的方式,共得到21+1个第一比较帧(其中i=0为原始环状参考帧,即没有进行旋转),以同样的方式也可得到21+1个第二比较帧,如此二者进行相关运算,从而可以得到01+1)* 01+1)个相关值,从而取得最大相关值,从而便可计算得到旋转矢量,在具体实施时,该旋转旋转矢量可为旋转角度,或者也可为旋转加速度,此完全取决于实际的应用状况,对于其中的计算,如旋转角度与旋转加速度,为图像处理领域非常成熟的方法,因此这里不再详细说明。以下举一事例进行说明,假设I = 2,a = 1/4时,则可以得到21+1 = 5个比较帧。Sl-第一个相对应的比较帧的旋转数量(逆时针旋转二个单位)是(_2)xa =-1/2,(i = 2,a = 1/4);S2-第二个相对应的比较帧的旋转数量(逆时针旋转一个单位)是(-l)xa =-1/4,(i = 1,a = 1/4);S3-第三个相对应的比较帧的旋转数量(逆时针旋转O个单位,即未旋转)是(0) xa = 0,(i = 0,a = 1/4);S4-第四个相对应的比较帧的旋转数量(顺时针旋转一个单位)是(Dxa = 1/4, (i = 1,a = 1/4);S5-第五个相对应的比较帧的旋转数量(顺时针旋转二个单位)是(2)xa = 1/2, (i = 2,a = 1/4);因此上述的Si,S2,S3,S4,S5对应于环状参考帧和环状采样帧共产生5个第一比较帧和5个第二比较帧,分别定义为SYl, SY2,SY3,SY4,SY5及SDl, SD2,SD3,SD4,SD5。将SYl分别与SDl,SD2,SD3,SD4,SD5进行相关计算,得出5个相关值。将SY2分别与SDl,SD2,SD3,SD4,SD5进行相关计算,得出5个相关值。将STO分别与SDl,SD2,SD3,SD4,SD5进行相关计算,得出5个相关值。将SW分别与SDl,SD2,SD3,SD4,SD5进行相关计算,得出5个相关值。将STO分别与SDl,SD2,SD3,SD4,SD5进行相关计算,得出5个相关值。如此共得出01+1)^21+1) = 25个相关值,取出其中一个最相关的值所对应的 SYi与SDj的组合,便可得出旋转矢量。举例若SYi = SY3,SDj = SD3,则旋转矢量为S3-S3 =0。若 SYi = SY2,SDj = SD5,则旋转矢量为 S5-S2 = 1/2-(-1/4) = 3/4 旋转数量。当然在具体实施时I、a、旋转数量与旋转角度的值需要根据传感器的采样频率决定,如在上述的例子中,假如a= 1/4代表旋转了 1度,则通过上述的计算可知3/4旋转数量表示顺时针旋转了 3度。在具体实施时,如果有多个传感器环,设有K个,则通过上述的计算可得到K个最大相关值,之后计算得到与每一最大相关值对应的K个旋转角度,最后依据该计算得到的旋转角度通过加权平均从而可以确定环状参考帧与环状采样帧的旋转矢量,在具体实现时,可对相关值强的矢量分配较高的权重,而相关值弱的矢量分配低的权重,从而得到最终的旋转矢量。另外,在形成环状采样帧的过程中,需利用环状参考帧的圆心与计算得到的运动矢量,推算出环状采样帧的圆心,之后再以此中心选取矩形传感器阵列的采样帧的部分像素形成环状采样帧。本领域的普通技术人员可以意识到,结合本文中所公开的实施例所描述的各示例的单元及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明
8硬件与软件的可互换性,在上述的说明中已经按照功能一般性地描述了各示例的组成和步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。结合本文中所公开的实施例描述的方法步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实现。软件模块可以置于随机存储器(RAM)、内存、只读存储器 (ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、CD-ROM或本技术领域内所公知的任意其他形式的存储介质中。可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种旋转角度检测方法,该方法包括如下步骤通过一传感器阵列取得二幅图像,分别形成参考帧与采样帧,并通过采样帧与参考帧的相关运算取得运动矢量;以参考帧的中心为圆心选取参考帧的部分像素形成环状参考帧,并且该环状参考帧包括多个呈环状分布的参考块;以采样帧的中心为圆心选取部分像素形成环状采样帧,并且该环状采样帧包括多个呈环状分布的采样块,该采样块与上述参考块一一对应;对环状参考帧与环状采样帧旋转移位处理得到第一与第二比较帧; 将第一与第二比较帧进行相关运算,取得最大相关值,计算此最大相关值对应的旋转矢量。
2.如权利要求1所述的旋转角度检测方法,其特征在于采样帧的中心通过参考帧的中心与计算得到的运动矢量确定得到。
3.如权利要求1所述的旋转角度检测方法,其特征在于根据环状参考帧的参考块的像素值形成第一比较帧是通过将此环状参考帧的参考块的像素值进行顺时针与逆时针旋转移位a单位的参考块得到,如环状参考帧的参考块的像素值为C3(l),C3(2),......C3(16),则顺时针旋转a单位的参考块形成的第一比较帧的数据Ai1,Ai2,......,Ai16,其中i = 0,......I,I代表最大旋转的单位个数,如此第一比较帧的数据 Ai1, Ai2,......, Ai16 为Ai1 = (l-ai)C3(l)+ai C3 (2);Ai2 = (l-ai)C3(2)+ai C3 (3)由此类推,而 Ai16= (l-ai)C3(16)+ai C3(l);而逆时针旋转移位a单位的参考块得到的比较帧的数据为A-i1; A-i2, A-I3......,A-I16 为A-i2 = ai C3(l) + (l-ai)C3(2); A-I3 = ai C3(2) + (l-ai)C3(3); 由此类推,而 A-i: = ai C3(16) + (l-ai)C3(l)。
4.如权利要求1所述的旋转角度检测方法,其特征在于根据环状采样帧的采样块的像素值形成第二比较帧是通过将此环状采样帧的采样块的像素值进行顺时针与逆时针旋转移位a单位的采样块得到,如环状采样帧的采样块的像素值为C3(l’),C3(2'),......C3(16’),则顺时针旋转移位a单位的采样块形成的第二比较帧的数据Bi1,Bi2,......,Bi16,其中i = 0,......I,I代表最大旋转的单位个数,如此第二比较帧的数据 Bi1, Bi2,......, Bi16 为Bi1 = (l-ai)C3(l,)+ai C3(2,);Bi2 = (l-ai)C3(2,)+ai C3(3,)由此类推,而 Bi16= (l-ai)C3(16,)+a i C3(l,);而逆时针旋转移位a单位的采样块得到的比较帧的数据为B-i1; B-i2, B-I3......,B-Ii6 为B-i2 = ai C3(l,) + (l-ai)C3(2,); B-I3 = ai C3(2,)+ (l_ai)C3 (3,);由此类推,而 B-i! = a i C3(16,)+ (l_ai)C3(l,)。
5.如权利要求1所述的旋转角度检测方法,其特征在于当环状参考帧与采样帧设有多个图像环时,对每一图像环对应的环状参考帧与采样帧进行旋转移位处理形成第一与第二比较帧,并进行相关运算,得到每一图像环的最大相关值对应的旋转矢量,之后对这些旋转矢量进行加权平均,得到最终的旋转矢量。
6.如权利要求1所述的旋转角度检测方法,其特征在于环状参考帧的参考块与环状采样帧的采样块的像素值是通过所选取的矩形传感器阵列的像素块的像素值与该参考块或采样块与该像素块的占空的比例的积累加得到。
全文摘要
一种旋转角度检测方法,包括如下步骤通过一矩形传感器阵列取得二幅图像,形成参考帧与采样帧,并通过采样帧与参考帧的相关运算取得运动矢量;以参考帧的中心为圆心选取参考帧的部分像素形成环状参考帧,并且该环状参考帧包括多个呈环状分布的参考块;以参考帧的中心与所述的运动矢量确定的点为圆心选取采样帧的部分像素形成环状采样帧,并且该环状采样帧包括多个呈环状分布的采样块;对环状参考帧与环状采样帧旋转移位处理得到第一与第二比较帧;将第一比较帧与第二比较帧进行相关运算,取得最大相关值,计算最大相关值对应的旋转矢量,以实现对旋转矢量的检测,以克服现有旋转检测装置的局限性,可令使用者实现对控制对象任意角度的旋转操作。
文档编号G01B11/26GK102506769SQ201110361560
公开日2012年6月20日 申请日期2011年11月15日 优先权日2011年11月15日
发明者刘建 申请人:益海芯电子技术江苏有限公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1