主权项 |
一种全仿射不变SURF特征点检测方法,其特征是,包括如下步骤:CPU将原始图像的原始像素值依次线性地存储到存储器的第一存储空间内;FPGA的仿射变换模块根据原始图像的原始像素值所在的存储器的存储地址,计算出原始像素值的原始像素坐标;所述仿射变换模块根据Flash存储器存储的原始像素坐标与目标像素坐标的坐标对应关系,查找与所述原始像素坐标对应的目标像素坐标,将所述原始像素坐标的原始像素值存储到目标像素坐标对应的第二存储空间内;FPGA的插值模块对存储于第二存储空间内的仿射变换后图像进行如下处理:I<sub>1</sub>(x,y)=I(x,y)(1‑dx)+I(x+1,y)dxI<sub>2</sub>(x,y)=I(x,y+1)(1‑dx)+I(x+1,y+1)dx;I<sub>3</sub>(x,y)=I<sub>1</sub>(x,y)(1‑dy)+I<sub>2</sub>(x,y)dy其中,I(x,y)表示仿射变换后图像的目标像素坐标(x,y)的目标像素值,dx表示已知的x坐标的小数部分,dy表示已知的y坐标的小数部分,I<sub>1</sub>(x,y),I<sub>2</sub>(x,y)表示运算中间结果,I<sub>3</sub>(x,y)为最终像素值;所述插值模块将最终像素值存储到第三存储空间内;所述FPGA向所述CPU发送仿射变换完成的信号;CPU将原始图像进行积分运算后得到积分图像:<img file="FDA0000507472710000011.GIF" wi="582" he="182" />其中,I(i,j)表示原始像素坐标(i,j)处的原始像素值,I<sub>Σ</sub>(x',y')表示原始像素坐标(x',y')处的积分像素值;CPU将积分图像的积分像素值依次线性地存储到存储器的第四存储空间内;FPGA的滤波模块利用盒式滤波器对所述积分图像进行滤波处理:盒式滤波子计算步骤:λΣ=λ(P<sub>A</sub>+P<sub>D</sub>‑P<sub>C</sub>‑P<sub>D</sub>),其中,A、B、C和D表示盒式滤波器中权值为λ的矩形区域,P<sub>A</sub>、P<sub>B</sub>、P<sub>C</sub>和P<sub>D</sub>分别表示以像素坐标(x,y)为邻域的与矩形区域对应的左上角、右上角、左下角和右下角位置的积分像素值;将盒式滤波器的多个不同权值的矩形区域分别进行所述盒式滤波子计算步骤处理,将得到的多个结果进行相加即得到盒式滤波结果;滤波模块对所述积分图像分别进行X方向、Y方向和XY方向进行盒式滤波分别得到X盒式滤波结果D<sub>xx</sub>,Y盒式滤波结果D<sub>xy</sub>和XY盒式滤波结果D<sub>yy</sub>;FPGA的Hession矩阵计算模块进行如下计算:<img file="FDA0000507472710000021.GIF" wi="511" he="99" />其中,H为包含了全仿射不变SURF特征点的Hession矩阵,ω为修正参数;FPGA将所述Hession矩阵存储到所述存储器的第五存储空间内;FPGA向所述CPU发送Hession矩阵计算完毕的信号。 |