图像对数极坐标变换的FPGA实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

弹箭与制导学报
收稿日期:
基金项目:第二炮兵工程学院创新性探索研究项目(XY2010JJB11) 图像对数极坐标变换的FPGA 实现
韩溟,郭峰,王道平
(陕西省西安市,第二炮兵工程学院,710025)
摘要:为了解决景象匹配系统中引入对数极坐标变换后实时性降低的问题,本文采用FPGA 查找表的方法,以Quartus II 作为综合仿真平台,运用V erilog 描述语言,结合Matlab 工具,实现了把64 64像素的灰度图像转换成50 80像素的对数极坐标图的过程,变换时间小于100s 。

该方法可以作为DSP 景象匹配系统的预处理前端,实现对旋转和缩放图像的实时匹配。

关键词:对数极坐标变换;FPGA ;查找表;景象匹配 中图分类号:TP391.4 文献标志码:A
Abstract employed, the using the 50×80scene matching and scale changing.
Keywords : LPT
0 引言
节)题,DSP 处理平台[2]
,由于在整个景象匹配过程中DSP 的主要任务是匹配运算,增加对数极坐标变换环节后使得DSP 的运算量大增,系统实时性降低。

FPGA 具有高速并行性特点,内部模块易于定制,如果用FPGA 快速完成图像的对数极坐标变换,再送入DSP 匹配运算系统,就可以保证在高速处理的前提下,实现旋转缩放图像的匹配。

基于这种思路,本文用FPGA 查找表法实现了图像的对数极坐标变换。

1 对数极坐标变换算法介绍
,简
),令
/)y x (1) )形成的向量模
! (2) (,)x y 相对应像素映射关系。

ln K
(a)笛卡尔坐标系
(b)对数极坐标系
图1 对数极坐标平面与笛卡尔坐标平面的映射示意图
式(2)中的K 和L 是为了让变换图B 不至于太小
网络出版时间:2011-9-23 12:21
网络出版地址:/kcms/detail/61.1234.tj.20110923.1221.006.html
而人为添加的调整参数,其值由原图I 和变换图B 的尺寸决定。

例如I 的大小为64 64像素,B 为50 80像素,当max 32 时,max 50!! ,因此max max /ln 14.4928K ! 。

当max 2 # 时,max 80∀∀ ,所以max max /12.7324L ∀ 。

若I 以中心原点被放大M 倍,则原来的像素点(,)x y 对应于对数极坐标系的纵向坐标变为1ln()ln ln ln K M K K M K M ! ! ,表现为变换图向下移动ln K M 个像素单位,而横向角度坐标∀保持不变;同样,原图的缩小表现为变换图向上平移。

如果I 围绕中心点逆时针旋转N 弧度,
像I 2 LPT
(,)!∀(,)!∀一点坐标(,i !∀i i x 图2 计算所得像素位置示意图
这时找到(,)i i x y 附近的四个像素点11(,)x y 、12(,)x y 、21(,)x y 和22(,)x y ,设它们的像素值分别为1f 、2f 、3f 、4f ,根据坐标值计算距离因子u 和v ,以及四个相邻影响权值:1(1)(1)w u v ∀ ∀,2(1)w u v ∀ ,3(1)w u v ∀,4w u v ,最后加权求和得到(,)i i x y 点的坐标值为:
11223344q w f w f w f w f (5) 这样处理之后,尽管LPT 图中的像素与原图不是一一对应的,但每个坐标处都有最优的像素值可
以填入,使得变换图细腻平滑。

3 LPT 的FPGA 实现方法
上面的求解过程除了常规的加减乘除基本运算外,还涉及了指数、正弦、余弦等超越函数的运算,而这些计算用FPGA 实现起来是相当复杂的。

然而当原图I 和变换图B 的尺寸已知时,B 中每一点在I 中就有了确定的位置。

因此可以将这种确定的对应关系预先求出,放在只读存储器里形成固定数据,然后利用FPGA 查找表的方法(Table Lookup
Method )[6]
快速得到结果,省去繁杂的计算过程。

64像素的原图I 8位灰度图像,B I Quarturs II 建),并例8位,I 的像素ROM1。

的索引坐标。

坐),小数部分9坐标同放在一个x 轴坐标,低30 4000的只个存储单元),它
)i ,按照(3)和(4)3) 将以上i x 、i y 的转换结果串接成一个30位的二进制数,如i x 42.3613,i y 8.6854,则结果为101010010111001001000101011111;
4) 将(,)i i !∀按顺序从(0,0)到(49,79)循环以上步骤,共生成4000个坐标值,将其复制到Quartus II 建立的存储器初始化文件中(如coord.mif ),并用它初始化ROM2,形成坐标映射查找表。

3.2 FPGA 内部模块设计
采用V erilog 硬件描述语言,首先按顺序生成变
换图坐标(,)i i !∀,将其作为输入地址对ROM2进行寻址,对输出结果进行计算得到(,)i i x y 的相邻四点的坐标11(,)x y 、12(,)x y 、21(,)x y 、22(,)x y 以及各自对应的权值;然后分别用四点坐标作对ROM1进行寻址,输出的结果为相应的像素值1f 、2f 、3f 、4f ,最后按照(5)式得到(,)i i !∀点B 图像素值i q ,具体流程如图3所示。

(,)
i i x y i
q 11(,)x y 12(,)x y (,)x y (,)
x y 12,w w ,w w 1234
,,,f f f f (,)
i i !∀
3.3 3.2域,在大小为4仿真结果
在Quartus II 环境下利用V erilog 编写了对数极坐标变换并行处理模块,采用Altera 公司Cyclone II 系列的EP2C70F896C8芯片进行综合,共使用了1096个LE ,942Kbits 内部存储空间。

图4(a )是调试过程中使用的原始图像I ,图5是用FPGA 对其进行变换后的得到的B 图的像素数据,其中LPT_data1到LPT_data5分别对应5个10 80的条形区域像素值,均为原始计算出的非整型数据,共17位,低9位为小数值,可以与后续的图像匹配平台
进行对接。

为了显示变换图的效果,用LPT_integer 对LPT_data 进行取整,然后将整数像素导出并显示后如图4(c )所示。

另外,图4中(b )图是对(a )图顺时针旋转了30度,并且缩小为原来的0.8倍得到的图像,(d )图是它的LPT 图像,和(c )图相比,呈现出了变换的平移特性。

a 图的LPT 图
)a 图的旋转缩放图b 图的LPT 图
图4原始图像与
的时钟,图50 80基于查找表的方法,用FPGA 设计实现了图像的对数极坐标变换。

该设计不需要进行复杂的函数运算,通过查表和简单计算就可以快速获得变换图的像素。

用同样的方法可以实现其它尺寸图像的对数极坐标变换。

如果要进一步提高变换速度,可以按照3.3节所述,将变换图划分成更小的区域来完成。

本文的设计可以作为DSP 图像处理平台的数据输入前端,用来克服图像匹配中存在的旋转和缩放问题,同时为DSP 匹配运算腾出时间,大大提高系统的实时性。

参考文献:
[1] 汪洪桥,赵宗涛,蔡艳宁,等.景象匹配技术在巡航导弹制导中的应用研究[J].战术导弹控制技术,2005,(1):33-36
[2] 张建树.基于对数极坐标映射的红外图像匹配技术研究
[D]. 哈尔滨:哈尔滨工程大学,2008,51-64
[3]F Jurie.A New Log-polar Mapping for Space Variant Imaging[J].PattenRecognition,1999,32(5):865-869 [4]罗亮,李言俊.对数极坐标映射的算法实现及扩展研究的研究[J].弹箭与制导学报.2006,26(1):483-486
[5]王琪,李言俊.基于子像素的对数极坐标反向变换研究[J].计算机工程与应用.2006,(27):6-7
[6]黄聚永,袁慧梅,吴向阳,等.基于查找表和Newton插值算法的正余弦函数的FPGA实现[J].继电器,2007,35(16),33-36。

相关文档
最新文档