欢迎来到天天文库
浏览记录
ID:44815253
大小:517.50 KB
页数:7页
时间:2019-10-29
《基于IRFPA改进中值滤波算法的FPGA实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于IRFPA改进中值滤波算法的FPGA实现徐世伟1刘严严1(光电对抗技术国防科技重点实验室)摘要:中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术。改进中值滤波算法与传统3×3中值滤波器相比较:滤波模板由2个FIFO与7个寄存器组成,简单实用;经过6级比较可以快速找到9个数的中值,提高了寻找中值的速度;得到的中值与原始数据经过阈值比较,做选择性替换,便更好地保持图像细节。此算法在Sofradir公司的640×512元红外焦平面阵列探测器上,成功实现3×3窗口对图像进行中值滤波,运算简单速度快,在滤除噪声尤其是脉冲噪声的同时能很好的保护信
2、号的细节信息。关键字:红外焦平面阵列;中值滤波;模板;阈值O引言基于红外焦平面阵列(IRFPA)的凝视红外系统是目前红外技术领域的重要方向。由于工艺水平因素限制,以及图像在生成、采集、传输过程中,不可避免的引入各种噪声使图像质量变差。因此在实际应用前,除了要对图像进行非均匀变化和盲元补偿以外,还要适宜增加某些特定的图像预处理算法来抑制图像噪声,以利于后续处理。凝视红外系统的帧速一般较快,对电子学系统实时处理能力要求较高,在帧周期内由数字信号处理芯片(DSP)独立完成这些图像预处理、目标识别、跟踪算法的难度比较大。所以可以把一些主要涉及逻辑运算和乘加计算的算
3、法交给FPGA来处理,充分发挥FPGA的高速、并行计算能力强的特点。红外图像一般存在噪声点大,目标和背景之间灰度差小,边缘模糊的特点,图像必须经过预处理进行质量提高和特征增强,才能进行目标检测识别与跟踪的运算。中值滤波是较为常用的红外图像滤波算法,经常用于去除图像的椒盐噪声。本文在传统的中值滤波算法的基础上对中值滤波做些改进,以640×512元红外焦平面阵列探测器为验证对象,选用Altera公司的高性能StratixⅡEP2S60作为硬件平台,以流水方式来实现中值滤波算法。1中值滤波原理图像在生成,传输过程中常会受到各种噪声源的干扰和影响,为了抑制噪声,改
4、善图像质量,在对图像分析前需要对图像进行滤波、平滑处理。中值滤波是一种能有效地抑制图像噪声而提高信噪比的非线性滤波技术。它首先对邻域点的灰度值进行排序,然后选择中间值作为输出灰度值。中值滤波的公式如下:g(x,y)=median{f(x-i,y-j)}i,J∈S(5)其中,g(x,y)和f(x,y)为像素灰度值;S为模板窗口。对于不同的图像质量有不同的应用模板窗口,其中常用的有3×3模板和5×5模板。中值滤波算法可以在DSP中实现,随着FPGA可编程逻辑器件的逻辑单元的数量不断提高,现在这部分功能完全可以在FPGA上实现。也不需要FPGA外部存储器的配合。
5、主要有下面两方面工作要做。1.1模板生成二维中值滤波的模板形状和尺寸有多种样式,不同的图像内容和不同的应用要求,往往采用不同的模板形状和尺寸,常用的中值滤波有线形、方形、十字形、X字型以及矩形等。根据红外图像的特点选用方形模板更为适合,以3×3的窗口为例,中值滤波处理算法是针对邻域像素操作。利用2个FIFO和6个寄存器对图像的行列数据进行存储,设计滤波窗口如图1所示。ImageData图13×3窗口原理框图R23R13R33R11R12R21R22R31R32R11R12R13R21R22R23R31R32R33Reg32Reg22Reg12Reg31Re
6、g21Reg11FIFO1FIFO2Reg33图1中,每个FIFO的地址长度为图像的宽度减2,即一个FIFO加2个寄存器存储一行图像数据,用于图像行数的缓存;7个寄存器分3组两两串接,实现每行数据上列像素的缓存,从而形成一个3×3的滤波窗口,在一个像素时钟周期内并行输出9个数据作为后续算法模块的输入。通常,图像边缘不包含重要信息,可以将边缘点位置取为原始值。1.2中值滤波算法设计[1]中值滤波器的核心算法是排序,排序法的优劣直接决定了求中值的效率,从而决定了设计的整体性能。基于硬件的排序算法设计可以充分利用FPGA硬件平台并行性特点,从而达到加速处理的目的
7、。原始的冒泡排序算法适合计算机软件操作,应用FPGA应当尽可能多的用到FPGA并行操作。对9个数据直接找到中间值不容易,但最大值与最小值可以很快找到,如果找到9个数中的最大值与最小值,就可以将这两个数排除掉,剩下的7个数继续寻找最大值与最小值。找到后排除,以此类推,最后剩下的那个数就是这9个数中的中间值。设计一个3输入比较器,在一个时钟周期内就可以比较出它们的大小关系。其输入数据为图1所示的模板生成的数据。首先将9个数分三组,找到每组的最大值、最小值与中间值(参见图2所示)。然后将3组比较结果中的最大数放在一起,最小数放在一起,中间值放在一起,组成第二级比
8、较。第二级比较可以找到9个数中的最大值及最小值,这两个数不参加下一
此文档下载收益归作者所有