发明名称 一种基于红外光斑跟踪的跟踪点频率提升方法
摘要 本发明公开了一种红外光斑跟踪的跟踪点频率提升方法,在保证原有跟踪点频率提升方法优点的基础上,通过三个质心点拟合出跟踪点运动轨迹,减少拟合所需光斑点数,同时利用运动速度以及加速度这些实际的运动特点来增强其平滑性和连续性,并利用红外光斑成像的特点,将曲线更好的拟合到真实轨迹上。
申请公布号 CN103065328A 申请公布日期 2013.04.24
申请号 CN201210589999.9 申请日期 2012.12.29
申请人 四川虹微技术有限公司 发明人 官升
分类号 G06T7/20(2006.01)I 主分类号 G06T7/20(2006.01)I
代理机构 成都行之专利代理事务所(普通合伙) 51220 代理人 温利平
主权项 一种红外光斑跟踪的跟踪点频率提升方法,其特征在于,包括以下步骤:(1)、膨胀和质心点获取对获得的二值化红外光斑图像进行一次膨胀操作,以让红外光斑更加饱满;所述的膨胀操作为选定的区域像素点中,如果有一个像素点像素值为1,则该区域内的所有像素点像素值都赋值为1,依次在红外光斑图像选定区域,做相同的赋值,直到整个红外光斑图像都选定赋值完成;对完成膨胀后的红外光斑图像在光斑内求得其横纵坐标的平均值,得到质心点b位置: <mrow> <msub> <mi>x</mi> <mi>b</mi> </msub> <mo>=</mo> <mrow> <mo>(</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>X</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>/</mo> <mi>n</mi> </mrow> <mrow> <msub> <mi>y</mi> <mi>b</mi> </msub> <mo>=</mo> <mrow> <mo>(</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>Y</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>/</mo> <mi>n</mi> </mrow>xb表示求出的横坐标,yb表示求出纵坐标,Xi为光斑内第i个像素点的横坐标,Yi为光斑内第i个像素点的纵坐标,n为点的个数;(2)、修正质心点首先对红外光斑图像中的光斑在质心点b作一条直线L1,该直线L1与红外光斑图像坐标系x轴方向的夹角为θ,坐标系原点为红外光斑图像左下角;其中,夹角θ通过以下方法获得:对红外光斑图像中的光斑进行顺时针旋转,以1度为单位,从0度旋转到90度,在每一度下求得其外截矩形的面积大小,面积最小对应的旋转角度即为夹角θ,所述的外截矩形定义为矩形的长和宽分别与未旋转的红外光斑图像坐标系x轴即红外光斑图像的水平方向与y轴即红外光斑图像的垂直方向平行;然后,在质心点b作一条与直线L1垂直的直线L2,直线L2被光斑截断部分的中心点即为修正后的质心点a;(3)、通过三个质心点拟合出跟踪点运动轨迹依次获得红外光斑图像光斑修正后的质心点a,分别为当前点pn(xn,yn),前一个点pn‑1(xn‑1,yn‑1)以及后一个点pn+1(xn+1,yn+1);然后拟合出当前点pn(xn,yn)及后一个点pn+1(xn+1,yn+1)p2的跟踪点运动轨迹为x(t)=axt2+bxt+cx,y(t)=ayt2+byt+cy,式中t表示时间;3.1)、第一次拟合跟踪点运动轨迹,当前点为p1(x1,y1),前一个点为p0(x0,y0)以及后一个点为p2(x2,y2)变量,变量ax,bx,cx、ay,by,cy为: <mrow> <msub> <mi>a</mi> <mi>x</mi> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mrow> <mn>2</mn> <mi>x</mi> </mrow> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> </mrow> <msup> <mrow> <mn>2</mn> <mi>S</mi> </mrow> <mn>2</mn> </msup> </mfrac> <mo>,</mo> </mrow> <mrow> <msub> <mi>a</mi> <mi>y</mi> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mrow> <mn>2</mn> <mi>y</mi> </mrow> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>y</mi> <mn>0</mn> </msub> </mrow> <msup> <mrow> <mn>2</mn> <mi>S</mi> </mrow> <mn>2</mn> </msup> </mfrac> </mrow> <mrow> <msub> <mi>b</mi> <mi>x</mi> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> </mrow> <mrow> <mn>2</mn> <mi>S</mi> </mrow> </mfrac> <mo>,</mo> </mrow> <mrow> <msub> <mi>b</mi> <mi>y</mi> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>y</mi> <mn>0</mn> </msub> </mrow> <mrow> <mn>2</mn> <mi>S</mi> </mrow> </mfrac> </mrow>cx=x1        cy=y1并计算出后一个点p2在x轴方向的速度为:v2x=acc2x*1S+v1x,在y轴方向的速度为v2y=acc2y*1S+v1y,其中,acc2x、acc2y分别为当前点p1到后一个点p2在x轴、y轴方向上的加速度: <mrow> <msub> <mi>acc</mi> <mrow> <mn>2</mn> <mi>x</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>v</mi> <mrow> <mn>2</mn> <mi>xavg</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>v</mi> <mrow> <mn>1</mn> <mi>x</mi> </mrow> </msub> </mrow> <mrow> <mn>0.5</mn> <mi>S</mi> </mrow> </mfrac> </mrow> <mrow> <msub> <mi>acc</mi> <mrow> <mn>2</mn> <mi>y</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>v</mi> <mrow> <mn>2</mn> <mi>yavg</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>v</mi> <mrow> <mn>1</mn> <mi>y</mi> </mrow> </msub> </mrow> <mrow> <mn>0.5</mn> <mi>S</mi> </mrow> </mfrac> </mrow> <mrow> <msub> <mi>v</mi> <mrow> <mn>2</mn> <mi>xavg</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> </mrow> <mrow> <mn>1</mn> <mi>S</mi> </mrow> </mfrac> </mrow> <mrow> <msub> <mi>v</mi> <mrow> <mn>1</mn> <mi>x</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>0</mn> </msub> </mrow> <mrow> <mn>2</mn> <mi>S</mi> </mrow> </mfrac> <mo>,</mo> </mrow> <mrow> <msub> <mi>v</mi> <mrow> <mn>2</mn> <mi>yavg</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>y</mi> <mn>1</mn> </msub> </mrow> <mrow> <mn>1</mn> <mi>S</mi> </mrow> </mfrac> <mo>,</mo> </mrow> <mrow> <msub> <mi>v</mi> <mrow> <mn>1</mn> <mi>y</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>y</mi> <mn>0</mn> </msub> </mrow> <mrow> <mn>2</mn> <mi>S</mi> </mrow> </mfrac> <mo>;</mo> </mrow>3.2)、后续的拟合跟踪点运动轨迹,当前点为pn(xn,yn),前一个点为pn‑1(xn‑1,yn‑1)以及后一个点为pn+1(xn+1,yn+1),变量ax,bx,cx、ay,by,cy为:: <mrow> <msub> <mi>a</mi> <mi>x</mi> </msub> <mo>=</mo> <mfrac> <mrow> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> <mo>/</mo> <mrow> <mo>(</mo> <mn>1</mn> <mi>S</mi> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>v</mi> <mi>nx</mi> </msub> </mrow> <mrow> <mn>1</mn> <mi>S</mi> </mrow> </mfrac> </mrow> <mrow> <msub> <mi>a</mi> <mi>y</mi> </msub> <mo>=</mo> <mfrac> <mrow> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>y</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> <mo>/</mo> <mrow> <mo>(</mo> <mn>1</mn> <mi>S</mi> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>v</mi> <mi>ny</mi> </msub> </mrow> <mrow> <mn>1</mn> <mi>S</mi> </mrow> </mfrac> </mrow>bx=vnx       b=vnyc=xn其中,vnx,vny分别为当前点pn在x、y轴方向上的速度;并计算后一个点为pn+1的在x、y轴方向上的速度:v(n+1)x=vnx+(((xn+1‑xn)/(1S)‑vnx)/(0.5S))*1Sv(n+1)y=vny+(((yn+1)‑yn)/(1S)‑vny)/(0.5S))*1Sv(n+1)x、v(n+1)y作为下一次拟合当前点在x轴、y轴方向上的速度使用;(4)、根据跟踪点运动轨迹得到拟合点根据当前点以及后一点需要拟合的点数,计算时间代入跟踪点运动轨迹曲线x(t)=axt2+bxt+cx,y(t)=ayt2+byt+cy,得到拟合的跟踪点。
地址 610041 四川省成都市高新区天府大道南延线高新孵化园8号楼