一种基于FPGA的实时红外图像预处理方法
摘要:由于红外图像预处理算法自身的复杂性,使得红外图像在DSP中的预处理时间较长。针对这一问题,提出一种基于FPGA的实时红外图像预处理方法。该方法采用了流水线技术来并行完成非均匀校正、空间滤波、直方图统计等多个红外图像预处理算法,对系统结构进行了改进和优化。经过实验测试验证,该方法合理可行,能够实时高效地完成红外图像预处理任务。与DSP图像预处理系统相比可以节约将近50%的处理时间。
关键词:FPGA;红外图像预处理;非均匀校正;空间滤波;直方图统计
0 引言
在红外图像系统设计中,多采用高速DSP+FPGA的方式对红外图像进行处理。在早期的设计中,DSP承担了大部分的图像处理工作,FPGA只做一些逻辑译码和简单运算的功能。但DSP运算是相当耗时的,当在图像较大、实时性要求较高的场合,用DSP进行处理就有相当的难度了。随着工艺的发展,FPGA片内逻辑资源和处理速度的提高,将一部分图像处理算法移植到FPGA中,可采用流水的处理方式,只占用很少的处理时间,能够大大降低系统对于DSP的负担。
本文介绍一种红外图像预处理的方法,将图像非均匀校正、空间滤波、直方图统计算法移植到FPGA中实现,DSP只完成控制和简单判断的功能,有效的提高了系统的实时性。
1 总体设计
结合FPGA和DSP处理算法的各自特点,本方法中将非均匀校正、空间滤波、直方图统计等功能在FPGA中实现。
首先,红外图像数据以像素为单位按照流水的方式进入到非均匀校正模块中进行红外图像的非均匀校正;之后,校正后的图像进入到空间滤波模块中进行空间滤波处理;空间滤波后的图像数据,被送到直方图统计模块进行处理,同时滤波后的图像数据也被存储在FPGA内部双口RAM中;接下来,直方图统计结果也将被存储在FPAG内部双口RAM中。最终,图像预处理后的红外图像数据及直方图统计结果分别存储在FP GA内部双口RAM的不同区域中。DSP按照预先设定的时序将预处理结果从FPGA内部双口RAM中读取出来,并进行后续处理工作。
同时DSP通过控制指令对整个预处理流程进行控制。
总体设计如图1所示。
Gij和Oij分别是二点校正法的增益校正系数和偏置校正系数,yij为校正后的输出。二点校正法是利用焦平面各阵列元在温度不同的两个均匀辐射的黑体(高温TH和低温TL)下的响应输出计算出Gij和Oij,从而实现非均匀性校正。
首先将预先计算好的系数Gij和Oij存入FLASH中,系统上电后先将系数搬移到外部的SRAM中,再通过FPGA读取,完成非均匀校正的乘加功能。
FPGA算法结构如图2所示。
为了在20MHz时钟的一个周期内能够处理完一个像素的非均匀校正算法,以保证能够流畅的进行,将数据同步时钟clk_20M通过DCM时钟管理器,倍频到60 MHz,以60 MHz时钟进行乘加、缓存,以达到实时处理的目的,省去了对原始图像的缓存。
1.2 空间滤波模块设计
在图像生成和采集的过程中,会叠加各种各样的噪声,这些噪声会使图像质量变差,必须对图像信号进行预处理,抑制背景噪声,增加目标强度,从而提高图像的信噪比,为后续处理奠定基础。在本方法中,采用均值滤波的方式,FPGA算法结构如图3所示。
滤波器相关文章:滤波器原理
fpga相关文章:fpga是什么
滤波器相关文章:滤波器原理
电源滤波器相关文章:电源滤波器原理
数字滤波器相关文章:数字滤波器原理
评论