[发明专利]一种基于双线性插值法的激光振镜图形校正算法在审

专利信息
申请号: 201710072867.1 申请日: 2017-01-30
公开(公告)号: CN106815822A 公开(公告)日: 2017-06-09
发明(设计)人: 龙兵 申请(专利权)人: 龙兵
主分类号: G06T5/00 分类号: G06T5/00
代理公司: 暂无信息 代理人: 暂无信息
地址: 518000 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 双线 性插值法 激光 图形 校正 算法
【权利要求书】:

1.一种基于双线性插值法的激光振镜图形校正算法,其特征在于:

一、将边长为m的正方形,共分成(2n+1)行(2n+1)列,也就是从第0行到第2n行,从第0列到第2n列;则以第n行和第n列的交点为坐标原点,建立坐标系;

二、在未校正的情况下,进行激光打标;再根据从左到右,从上到下的原则,测量打标后各点的坐标,并分别建立经测量的各交点对应的x轴坐标,y轴坐标的数组,数组长度为length=(2*n+1)*(2*n+1);假设其中对应x轴坐标数组为real_x[length],其中对应y轴坐标数组为real_y[length];

三、坐标校正:

第一步:求坐标为(x,y)的点,所在的网格区域;

假设坐标为(x,y)的点,对应为第i行第j列;

<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><mi>i</mi><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>&gt;</mo><mfrac><mi>m</mi><mn>2</mn></mfrac><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>t</mi><mi>h</mi><mi>e</mi><mi>n</mi></mrow></mtd><mtd><mrow><msup><mi>x</mi><mo>&prime;</mo></msup><mo>=</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow></mtd></mtr></mtable></mfenced>

<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><mi>i</mi><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>&lt;</mo><mo>-</mo><mfrac><mi>m</mi><mn>2</mn></mfrac><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>t</mi><mi>h</mi><mi>e</mi><mi>n</mi></mrow></mtd><mtd><mrow><msup><mi>x</mi><mo>&prime;</mo></msup><mo>=</mo><mo>-</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow></mtd></mtr></mtable></mfenced>

<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><mi>i</mi><mi>f</mi><mrow><mo>(</mo><mrow><mi>y</mi><mo>&gt;</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>t</mi><mi>h</mi><mi>e</mi><mi>n</mi></mrow></mtd><mtd><mrow><msup><mi>y</mi><mo>&prime;</mo></msup><mo>=</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow></mtd></mtr></mtable></mfenced>

<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><mi>i</mi><mi>f</mi><mrow><mo>(</mo><mi>y</mi><mo>&lt;</mo><mo>-</mo><mfrac><mi>m</mi><mn>2</mn></mfrac><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>t</mi><mi>h</mi><mi>e</mi><mi>n</mi></mrow></mtd><mtd><mrow><msup><mi>y</mi><mo>&prime;</mo></msup><mo>=</mo><mo>-</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow></mtd></mtr></mtable></mfenced>

其余情况,x′=xy′=y

则有:

<mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mi>i</mi><mo>=</mo><mrow><mo>(</mo><mi>int</mi><mo>)</mo></mrow><mrow><mo>(</mo><mfrac><mrow><mfrac><mi>m</mi><mn>2</mn></mfrac><mo>-</mo><msup><mi>y</mi><mo>&prime;</mo></msup></mrow><mfrac><mi>m</mi><mn>4</mn></mfrac></mfrac><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mi>j</mi><mo>=</mo><mrow><mo>(</mo><mi>int</mi><mo>)</mo></mrow><mrow><mo>(</mo><mfrac><mrow><msup><mi>x</mi><mo>&prime;</mo></msup><mo>+</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow><mfrac><mi>m</mi><mn>4</mn></mfrac></mfrac><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced>

坐标为(x,y)的点所对应网格区域4个顶点,所述4个顶点在x轴坐标数组real_x[length],及y轴坐标数组real_y[length]中的元素索引分别为index_0,index_1,index_2,index_3;

index_0=i*(2*n+1)+j

index_1=i*(2*n+1)+j+1

index_2=(i+1)*(2*n+1)+j+1

index_3=(i+1)*(2*n+1)+j

第二步:假设坐标为(x,y)的点,对应x轴所需的校正补偿值为Δx,对应y轴所需的校正补偿值为Δy;根据坐标点(x,y)所在区域在坐标平面上的位置分4种情况进行讨论;

情况一:当且时;

<mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mi>&Delta;</mi><mi>x</mi><mo>=</mo><mi>r</mi><mi>e</mi><mi>a</mi><mi>l</mi><mo>_</mo><mi>x</mi><mrow><mo>&lsqb;</mo><mrow><mi>l</mi><mi>e</mi><mi>n</mi><mi>g</mi><mi>t</mi><mi>h</mi><mo>-</mo><mn>1</mn></mrow><mo>&rsqb;</mo></mrow><mo>-</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><mi>&Delta;</mi><mi>y</mi><mo>=</mo><mi>r</mi><mi>e</mi><mi>a</mi><mi>l</mi><mo>_</mo><mi>y</mi><mrow><mo>&lsqb;</mo><mrow><mi>l</mi><mi>e</mi><mi>n</mi><mi>g</mi><mi>t</mi><mi>h</mi><mo>-</mo><mn>1</mn></mrow><mo>&rsqb;</mo></mrow><mo>+</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow></mtd></mtr></mtable></mfenced>

当且时;

<mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mi>&Delta;</mi><mi>x</mi><mo>=</mo><mi>r</mi><mi>e</mi><mi>a</mi><mi>l</mi><mo>_</mo><mi>x</mi><mo>&lsqb;</mo><mi>i</mi><mo>*</mo><mrow><mo>(</mo><mn>2</mn><mo>*</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mi>j</mi><mo>&rsqb;</mo><mo>-</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><mi>&Delta;</mi><mi>y</mi><mo>=</mo><mi>r</mi><mi>e</mi><mi>a</mi><mi>l</mi><mo>_</mo><mi>y</mi><mo>&lsqb;</mo><mi>i</mi><mo>*</mo><mrow><mo>(</mo><mn>2</mn><mo>*</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mi>j</mi><mo>&rsqb;</mo><mo>-</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow></mtd></mtr></mtable></mfenced>

当且时;

<mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mi>&Delta;</mi><mi>x</mi><mo>=</mo><mi>r</mi><mi>e</mi><mi>a</mi><mi>l</mi><mo>_</mo><mi>x</mi><mrow><mo>&lsqb;</mo><mrow><mi>i</mi><mo>*</mo><mrow><mo>(</mo><mrow><mn>2</mn><mo>*</mo><mi>n</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>+</mo><mi>j</mi></mrow><mo>&rsqb;</mo></mrow><mo>+</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><mi>&Delta;</mi><mi>y</mi><mo>=</mo><mi>r</mi><mi>e</mi><mi>a</mi><mi>l</mi><mo>_</mo><mi>y</mi><mrow><mo>&lsqb;</mo><mrow><mi>i</mi><mo>*</mo><mrow><mo>(</mo><mrow><mn>2</mn><mo>*</mo><mi>n</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>+</mo><mi>j</mi></mrow><mo>&rsqb;</mo></mrow><mo>+</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow></mtd></mtr></mtable></mfenced>

当且时;

<mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mi>&Delta;</mi><mi>x</mi><mo>=</mo><mi>r</mi><mi>e</mi><mi>a</mi><mi>l</mi><mo>_</mo><mi>x</mi><mo>&lsqb;</mo><mn>0</mn><mo>&rsqb;</mo><mo>+</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><mi>&Delta;</mi><mi>y</mi><mo>=</mo><mi>r</mi><mi>e</mi><mi>a</mi><mi>l</mi><mo>_</mo><mi>y</mi><mo>&lsqb;</mo><mn>0</mn><mo>&rsqb;</mo><mo>-</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow></mtd></mtr></mtable></mfenced>

情况二:当且时,坐标为(x,y)的点所对应网格区域涉及索引为index_0,index_3的2个点;其中索引为index_0的点坐标为(x0,y0),其对应x轴所需的校正补偿值为Δx0,对应y轴所需的校正补偿值为Δy0;索引为index_3的点坐标为(x0,y1),其对应x轴所需的校正补偿值为Δx3,对应y轴所需的校正补偿值为Δy3

<mrow><msub><mi>x</mi><mn>0</mn></msub><mo>=</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow>

<mrow><msub><mi>y</mi><mn>0</mn></msub><mo>=</mo><mfrac><mi>m</mi><mn>2</mn></mfrac><mo>-</mo><mi>i</mi><mo>*</mo><mfrac><mi>m</mi><mn>4</mn></mfrac></mrow>

<mrow><msub><mi>y</mi><mn>1</mn></msub><mo>=</mo><mfrac><mi>m</mi><mn>2</mn></mfrac><mo>-</mo><mrow><mo>(</mo><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>*</mo><mfrac><mi>m</mi><mn>4</mn></mfrac></mrow>

Δx0=real_x[index_0]-x0

Δy0=real_x[index_0]-y0

Δx3=real_x[index_3]-x0

Δy3=real_x[index_3]-y1

Δx=Δx0+(Δx3-Δx0)*(y-y0)/(y1-y0)

Δy=Δy0+(Δy3-Δy0)*(y-y0)/(y1-y0)

当且时,对应坐标为(x,y)的点所对应区域涉及索引为index_0,index_3的2个点;其中索引为index_0的点坐标为(x0,y0),其对应x轴所需的校正补偿值为Δx0,对应y轴所需的校正补偿值为Δy0;索引为index_3的点坐标为(x0,y1),其对应x轴所需的校正补偿值为Δx3,对应y轴所需的校正补偿值为Δy3

<mrow><msub><mi>x</mi><mn>0</mn></msub><mo>=</mo><mo>-</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow>

<mrow><msub><mi>y</mi><mn>0</mn></msub><mo>=</mo><mfrac><mi>m</mi><mn>2</mn></mfrac><mo>-</mo><mi>i</mi><mo>*</mo><mfrac><mi>m</mi><mn>4</mn></mfrac></mrow>

<mrow><msub><mi>y</mi><mn>1</mn></msub><mo>=</mo><mfrac><mi>m</mi><mn>2</mn></mfrac><mo>-</mo><mrow><mo>(</mo><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>*</mo><mfrac><mi>m</mi><mn>4</mn></mfrac></mrow>

Δx0=real_x[index_0]-x0

Δy0=real_x[index_0]-y0

Δx3=real_x[index_3]-x0

Δy3=real_x[index_3]-y1

Δx=Δx0+(Δx3-Δx0)*(y-y0)/(y1-y0)

Δy=Δy0+(Δy3-Δy0)*(y-y0)/(y1-y0)

情况三:当且时,坐标为(x,y)的点对应网格区域涉及索引为index_0,index_1的2个点;其中索引为index_0的点坐标为(x0,y0),其对应x轴所需的校正补偿值为Δx0,对应y轴所需的校正补偿值为Δy0;索引为index_1的点坐标为(x1,y0),其对应x轴所需的校正补偿值为Δx1,对应y轴所需的校正补偿值为Δy1

<mrow><msub><mi>x</mi><mn>0</mn></msub><mo>=</mo><mi>j</mi><mo>*</mo><mfrac><mi>m</mi><mn>4</mn></mfrac><mo>-</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow>

<mrow><msub><mi>y</mi><mn>0</mn></msub><mo>=</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow>

<mrow><msub><mi>x</mi><mn>1</mn></msub><mo>=</mo><mrow><mo>(</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>*</mo><mfrac><mi>m</mi><mn>4</mn></mfrac><mo>-</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow>

Δx0=real_x[index_0]-x0

Δy0=real_x[index_0]-y0

Δx1=real_x[index_1]-x1

Δy1=real_x[index_1]-y0

Δx=Δx0+(Δx1-Δx0)*(x-x0)/(x1-x0)

Δy=Δy0+(Δy1-Δy0)*(x-x0)/(x1-x0)

当且时,坐标为(x,y)的点对应网格区域涉及索引为index_0,index_1的2个点;其中索引为index_0的点坐标为(x0,y0),其对应x轴所需的校正补偿值为Δx0,对应y轴所需的校正补偿值为Δy0;索引为index_1的点坐标为(x1,y0),其对应x轴所需的校正补偿值为Δx1,对应y轴所需的校正补偿值为Δy1

<mrow><msub><mi>x</mi><mn>0</mn></msub><mo>=</mo><mi>j</mi><mo>*</mo><mfrac><mi>m</mi><mn>4</mn></mfrac><mo>-</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow>

<mrow><msub><mi>y</mi><mn>0</mn></msub><mo>=</mo><mo>-</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow>

<mrow><msub><mi>x</mi><mn>1</mn></msub><mo>=</mo><mrow><mo>(</mo><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>*</mo><mfrac><mi>m</mi><mn>4</mn></mfrac><mo>-</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow>

Δx0=real_x[index_0]-x0

Δy0=real_x[index_0]-y0

Δx1=real_x[index_1]-x1

Δy1=real_x[index_1]-y0

Δx=Δx0+(Δx1-Δx0)*(x-x0)/(x1-x0)

Δy=Δy0+(Δy1-Δy0)*(x-x0)/(x1-x0)

情况四:其余区域,坐标为(x,y)的点对应网格区域涉及索引为index_0,index_1,index_2,index_3的4个点;其中索引为index_0的点坐标为(x0,y0),其对应x轴所需的校正补偿值为Δx0,对应y轴所需的校正补偿值为Δy0;索引为index_1的点坐标为(x1,y0),其对应x轴所需的校正补偿值为Δx1,对应y轴所需的校正补偿值为Δy1;索引为index_2的点坐标为(x1,y1),其对应x轴所需的校正补偿值为Δx2,对应y轴所需的校正补偿值为Δy2;索引为index_3的点坐标为(x0,y1),其对应x轴所需的校正补偿值为Δx3,对应y轴所需的校正补偿值为Δy3;首先在x方向进行线性插值,得到点k1的坐标为(x,y0),其对应x轴所需的校正补偿值为Δxk1,对应y轴所需的校正补偿值为Δyk1;又得到点k2的坐标为(x,y1),其对应x轴所需的校正补偿值为Δxk2,对应y轴所需的校正补偿值为Δyk2;然后在y方向进行线性插值,得到坐标点(x,y)在x轴上所需的校正补偿值为Δx,在y轴上所需的校正补偿值为Δy;

<mrow><msub><mi>x</mi><mn>0</mn></msub><mo>=</mo><mi>j</mi><mo>*</mo><mfrac><mi>m</mi><mn>4</mn></mfrac><mo>-</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow>

<mrow><msub><mi>x</mi><mn>1</mn></msub><mo>=</mo><mrow><mo>(</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>*</mo><mfrac><mi>m</mi><mn>4</mn></mfrac><mo>-</mo><mfrac><mi>m</mi><mn>2</mn></mfrac></mrow>

<mrow><msub><mi>y</mi><mn>0</mn></msub><mo>=</mo><mfrac><mi>m</mi><mn>2</mn></mfrac><mo>-</mo><mi>i</mi><mo>*</mo><mfrac><mi>m</mi><mn>4</mn></mfrac></mrow>

<mrow><msub><mi>y</mi><mn>1</mn></msub><mo>=</mo><mfrac><mi>m</mi><mn>2</mn></mfrac><mo>-</mo><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>*</mo><mfrac><mi>m</mi><mn>4</mn></mfrac></mrow>

Δx0=real_x[index_0]-x0

Δy0=real_y[index_0]-y0

Δx1=real_x[index_1]-x1

Δy1=real_y[index_1]-y0

Δx2=real_x[index_2]-x1

Δy2=real_y[index_2]-y1

Δx3=real_x[index_3]-x0

Δy3=real_y[index_4]-y1

则有:

Δxk1=Δx0+(Δx1-Δx0)*(x-x0)/(x1-x0)

Δxk2=Δx3+(Δx2-Δx3)*(x-x0)/(x1-x0)

Δx=Δxk1+(Δxk2-Δxk1)*(y-y0)/(y1-y0)

Δyk1=Δy0+(Δy1-Δy0)*(x-x0)/(x1-x0)

Δyk2=Δy3+(Δy2-Δy3)*(x-x0)/(x1-x0)

Δy=Δyk1+(Δyk2-Δyk1)*(y-y0)/(y1-y0)

第三步:假设激光打标指令位置为(x,y),对应校正补偿值为(Δx,Δy),则校正补偿值应是打标后的点的实际位置减去打标指令位置之差;现在要求激光打标到的点的实际位置为(x,y),则打标应发的指令位置的坐标(cx,cy)用下式计算;

<mrow><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mi>c</mi><mi>x</mi><mo>=</mo><mi>x</mi><mo>-</mo><mi>&Delta;</mi><mi>x</mi></mrow></mtd></mtr><mtr><mtd><mrow><mi>x</mi><mi>y</mi><mo>=</mo><mi>y</mi><mo>-</mo><mi>&Delta;</mi><mi>y</mi></mrow></mtd></mtr></mtable></mfenced><mo>.</mo></mrow>

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙兵,未经龙兵许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710072867.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top