主权项 |
基于角点对CS距离匹配的图像配准方法,其特征在于,包括如下步骤:A)采用Harris角点检测算法分别检测出待配准的图像Q1和图像Q2中的角点作为待定角点;B)对图像Q1和图像Q2中各个待定角点分别进行重定位处理,得到图像Q1和图像Q2中的特征角点;具体为:b1)预设定最大迭代次数NL,NL为大于1的整数,并将迭代计数值初始化为1;b2)分别计算当前图像Q1和图像Q2中各个待定角点的像素偏移量;其中,当前图像Q1或图像Q2中任意的第k个待定角点的像素偏移量(Δxk,Δyk)的计算公式为: <mrow> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>Δx</mi> <mi>k</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Δy</mi> <mi>k</mi> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mo>-</mo> <msup> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>F</mi> <mn>1</mn> </msub> </mtd> <mtd> <msub> <mi>F</mi> <mn>2</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>F</mi> <mn>3</mn> </msub> </mtd> <mtd> <msub> <mi>F</mi> <mn>4</mn> </msub> </mtd> </mtr> </mtable> </mfenced> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>·</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>F</mi> <mn>5</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>F</mi> <mn>6</mn> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>;</mo> </mrow>F1=f(xk+1,yk)‑2f(xk,yk)+f(xk‑1,yk);F2=F3=f(xk+1,yk+1)‑f(xk,yk+1)‑f(xk+1,yk)+f(x,y);F4=f(xk,yk+1)‑2f(xk,yk)+f(xk,yk‑1);F5=f(xk+1,yk)‑f(xk,yk);F6=f(xk,yk+1)‑f(xk,yk);其中,Δxk,Δyk分别表示所述第k个待定角点的列像素偏移量和行像素偏移量;F1、F2、F3、F4、F5和F6均为公式表示符号;xk,yk表示所述第k个待定角点当前定位于其所在图像中第xk列第yk行的像素点;f(xk,yk)表示所述第k个待定角点的角点响应函数;f(xk+1,yk)表示所述第k个待定角点所在图像中第xk+1列第yk行像素点的角点响应函数;f(xk‑1,yk)表示所述第k个待定角点所在图像中第xk‑1列第yk行像素点的角点响应函数;f(xk+1,yk+1)表示所述第k个待定角点所在图像中第xk+1列第yk+1行像素点的角点响应函数;f(xk,yk+1)表示所述第k个待定角点所在图像中第xk列第yk+1行像素点的角点响应函数;f(xk,yk‑1)表示所述第k个待定角点所在图像中第xk列第yk‑1行像素点的角点响应函数;b3)判断当前图像Q1和图像Q2的各个待定角中是否存在列像素偏移量或行像素偏移量大于0.5的待定角点;若存在,执行步骤b4);若不存在,执行步骤b6);b4)对当前图像Q1和图像Q2中列像素偏移量或行像素偏移量大于0.5的各个待定角点 进行重定位;其中,当前图像Q1或图像Q2中任意的第k′个列像素偏移量或行像素偏移量大于0.5的待定角点重定位后在其所在图像中定位的像素点位置为: <mrow> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msubsup> <mi>x</mi> <msup> <mi>k</mi> <mo>′</mo> </msup> <mo>′</mo> </msubsup> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>y</mi> <msup> <mi>k</mi> <mo>′</mo> </msup> <mo>′</mo> </msubsup> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>x</mi> <msup> <mi>k</mi> <mo>′</mo> </msup> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <msup> <mi>k</mi> <mo>′</mo> </msup> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>+</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>Δx</mi> <msup> <mi>k</mi> <mo>′</mo> </msup> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Δy</mi> <msup> <mi>k</mi> <mo>′</mo> </msup> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>;</mo> </mrow>其中,x′k′,y′k′表示所述第k′个列像素偏移量或行像素偏移量大于0.5的待定角点重定位后定位于其所在图像中第x′k′列第y′k′行的像素点;xk′,yk′表示所述第k′个列像素偏移量或行像素偏移量大于0.5的待定角点重定位之前定位于其所在图像中第xk′列第yk′行的像素点;Δxk′,Δyk′分别表示所述第k′个列像素偏移量或行像素偏移量大于0.5的待定角点的列像素偏移量和行像素偏移量;b5)判断当前迭代计数值是否等于最大迭代次数NL;若不等于,则迭代计数值自加1,并返回步骤b2);若等于,则执行步骤b6);b6)将当前图像Q1和图像Q2中列像素偏移量和行像素偏移量小于或等于0.5的待定角点均判定为特征角点;C)从图像Q1和图像Q2的各个特征角点中识别出相匹配的特征角点对;具体为:c1)预设定邻域距离阈值Ds和CS距离阈值CSD0;c2)分别求取图像Q1和图像Q2中各个特征角点对应的邻域像素区;所述特征角点对应的邻域像素区是指,在特征角点所在图像中与该特征角点的欧氏距离小于或等于邻域距离阈值Ds的各个像素点所构成的像素点集合区域;c3)求取图像Q1中各个特征角点与图像Q2中特征角点的最大CS距离;其中,计算图像Q1中任意的第i个特征角点s1i与图像Q2中任意的第j个特征角点s2j之间的CS距离CCSD(s1i,s2j)的公式为: <mrow> <mi>CCSD</mi> <mrow> <mo>(</mo> <msub> <mi>s</mi> <mrow> <mn>1</mn> <mi>i</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>s</mi> <mrow> <mn>2</mn> <mi>j</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mi>Σ</mi> <mrow> <msub> <mi>g</mi> <mn>1</mn> </msub> <mo>=</mo> <mn>0</mn> </mrow> <mn>255</mn> </munderover> <munderover> <mi>Σ</mi> <mrow> <msub> <mi>g</mi> <mn>2</mn> </msub> <mo>=</mo> <mn>0</mn> </mrow> <mn>255</mn> </munderover> <msup> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>g</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>g</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mrow> <mn>2</mn> <mi>q</mi> </mrow> </msup> <munderover> <mi>Σ</mi> <mrow> <msub> <mi>g</mi> <mn>1</mn> </msub> <mo>=</mo> <mn>0</mn> </mrow> <mn>255</mn> </munderover> <munderover> <mi>Σ</mi> <mrow> <msub> <mi>g</mi> <mn>2</mn> </msub> <mo>=</mo> <mn>0</mn> </mrow> <mn>255</mn> </munderover> <msup> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>g</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>·</mo> <msub> <mi>p</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>g</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mrow> <mn>2</mn> <mi>q</mi> </mrow> </msup> <mo>-</mo> <msup> <mrow> <mo>{</mo> <munderover> <mi>Σ</mi> <mrow> <msub> <mi>g</mi> <mn>1</mn> </msub> <mo>=</mo> <mn>0</mn> </mrow> <mn>255</mn> </munderover> <munderover> <mi>Σ</mi> <mrow> <msub> <mi>g</mi> <mn>2</mn> </msub> <mo>=</mo> <mn>0</mn> </mrow> <mn>255</mn> </munderover> <msup> <mrow> <mo>[</mo> <msub> <mi>p</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>g</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>g</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>·</mo> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>g</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>·</mo> <msub> <mi>p</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>g</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>]</mo> </mrow> <mi>q</mi> </msup> <mo>}</mo> </mrow> <mn>2</mn> </msup> <mo>;</mo> </mrow>其中,pi(g1)表示所述第i个特征角点s1i对应的邻域像素区中灰度值为g1的像素点出现的概率;pj(g2)表示所述第j个特征角点s2j对应的邻域像素区中灰度值为g2的像素点出现的概率;pi,j(g1,g2)表示所述第i个特征角点s1i对应的邻域像素区中出现灰度值为g1的像素点同时所述第j个特征角点s2j对应的邻域像素区中出现灰度值为g2的像素点的联合概率;q为扩展参数,且0<q≤1;g1∈{0,1,2,…,255},g2∈{0,1,2,…,255};由此计算出图像Q1中任意的第i个特征角点s1i分别与图像Q2中各个特征角点之间的CS距离,并取图像Q1中第i个特 征角点s1i分别与图像Q2中各个特征角点之间的CS距离中的最大值作为图像Q1中第i个特征角点s1i与图像Q2中特征角点的最大CS距离;由此分别求出图像Q1中各个特征角点与图像Q2中特征角点的最大CS距离;c4)将图像Q1中各个特征角点与图像Q2中特征角点的最大CS距离分别与CS距离阈值CSD0进行比较,将其中大于CS距离阈值CSD0的每一个最大CS距离对应的一对特征角点判定为图像Q1和图像Q2的一组相匹配的特征角点对,由此从图像Q1和图像Q2的各个特征角点中识别出相匹配的特征角点对;D)通过图像Q1和图像Q2中各组相匹配的特征角点对得到图像Q1和图像Q2之间的空间坐标变换参数,按照空间坐标变换参数对其中一幅图像进行图像坐标变换,使得图像Q1和图像Q2中相匹配的特征角点对相互重叠,完成两幅图像的配准叠加处理。 |