基于Stratix II EP2S60的改进中值滤波器设计
发布时间:2008/5/27 0:00:00 访问次数:607
    
    
    来源:国外电子元器件 作者:石婷 张红雨等
    
    1 引言
    
    众所周知,在复杂背景条件下,要对弱小目标进行准确有效地红外跟踪、探测是一个难题。这种情况下,由于目标与背景的对比度较小、信噪比较低,若直接进行跟踪、探测往往比较困难,所以必须先对图像信号进行滤波预处理,以达到抑制背景噪声。增加目标强度,从而提高图像信噪比的目的,为后续工作打下良好的基础。
    
    实时图像处理器中,信号预处理包括对图像的各种滤波、直方图统计及均衡、图像增强、灰度变换等,它们共同的特点是处理数据量大,如果用一般的软件来实现势必会比较慢。而对于一些实时性要求比较高的系统,处理速度往往是要考虑的关键因素,一旦速度跟不上,实时性也无从谈起。针对图像预处理阶段运算结构比较简单的特点,用fpga进行硬件实现无疑是理想的选择,这样同时兼顾了速度和灵活性,大大减轻了dsp的负担。
    
    本系统采用verilog hdl语言。利用一种快速的中值滤波改进算法对电路进行设计,并以altera公司生产的stratix ii ep2s60f67214型fpga芯片为硬件平台。该器件继承了altera公司stratix ii系列的共同优点,由于引入了崭新的自适应逻辑模块(alm),使得stratix ii有更高的性能和逻辑封装、更少的逻辑和布线级数以及更强的dsp支持,而stratix ii ep2s60f67214更是比xilinx公司的类似器件virtex-4xc4vlx60多出18%的器件逻辑,其中包括51 182个寄存器位,2 544 129个存储器位以及48 352个alut,该器件资源丰富,只需占用很小一部分实现中值滤波器,为后续设计的增长留有更多空间。
    
    2 中值滤波的基本原理及改进算法
    
    2.1中值滤波的基本原理
    
    中值滤波是由tukey发明的一种非线性信号处理技术,早期用于一维信号处理,后来很快被用到二维数字图像平滑中,是一种有效抑制图像噪声,提高图像信噪比的非线性滤波技术。它是一种邻域运算,类似于卷积,但计算的不是加权求和,而是把邻域中的像素按灰度级进行排序,然后选择该组的中间值作为输出像素值。与均值滤波器以及其他线性滤波器相比,中值滤波器的突出特点是在很好地滤除脉冲噪声(impulsive noise)和椒盐噪声(salt and pepper noise)的同时,还能够保护目标图像边缘轮廓的细凇s霉奖硎疚?br>
    g(x,y)=median{f(x-i,y-i)},(i,j)∈s (1)
    
    式中g(x,y),f(x,y)为像素灰度值,s为模板窗口。
    
    而中值滤波的具体实现过程一般为:
    
    (1)选择一个(2n+1)×(2n+1)的滑动窗口(通常为3*3或者5*5),使其沿图像数据的行或者列方向逐像素滑动(通常为从左至右,从上到下逐行移动)。
    
    (2)每次滑动后,对窗口内的像素灰度值进行排序,用排序所得的中间值代替窗口中心位置像素的灰度值。
    
    2.2中指滤波的改进算法
    
    中值滤波的算法很多,但通常数据排序量较大。需要消耗大量时间,不利于图像处理的实时性。本文采用一种窗口大小为3*3的快速排序算法。大大降低了排序量。
    
    为了便于说明。将3*3窗口内的各个像素分别定义为m11,m12,m13,m21,m22,m23,m31,m32,m33。像素排列如表1。
    
    
    
    首先分别对窗口中的每一行计算最大值、中值、最小值,这样一共可以得到9个数值,分别包括3个最大值、3个中值、3个最小值:
    
    第一行的最大值:max1=max[m11,m12,m13];
    
    第一行的中值:med1=med[m11,m12,m13];
    
    第一行的最小值:min1=min[m11,m12,m13];
    
    依
    
    
    来源:国外电子元器件 作者:石婷 张红雨等
    
    1 引言
    
    众所周知,在复杂背景条件下,要对弱小目标进行准确有效地红外跟踪、探测是一个难题。这种情况下,由于目标与背景的对比度较小、信噪比较低,若直接进行跟踪、探测往往比较困难,所以必须先对图像信号进行滤波预处理,以达到抑制背景噪声。增加目标强度,从而提高图像信噪比的目的,为后续工作打下良好的基础。
    
    实时图像处理器中,信号预处理包括对图像的各种滤波、直方图统计及均衡、图像增强、灰度变换等,它们共同的特点是处理数据量大,如果用一般的软件来实现势必会比较慢。而对于一些实时性要求比较高的系统,处理速度往往是要考虑的关键因素,一旦速度跟不上,实时性也无从谈起。针对图像预处理阶段运算结构比较简单的特点,用fpga进行硬件实现无疑是理想的选择,这样同时兼顾了速度和灵活性,大大减轻了dsp的负担。
    
    本系统采用verilog hdl语言。利用一种快速的中值滤波改进算法对电路进行设计,并以altera公司生产的stratix ii ep2s60f67214型fpga芯片为硬件平台。该器件继承了altera公司stratix ii系列的共同优点,由于引入了崭新的自适应逻辑模块(alm),使得stratix ii有更高的性能和逻辑封装、更少的逻辑和布线级数以及更强的dsp支持,而stratix ii ep2s60f67214更是比xilinx公司的类似器件virtex-4xc4vlx60多出18%的器件逻辑,其中包括51 182个寄存器位,2 544 129个存储器位以及48 352个alut,该器件资源丰富,只需占用很小一部分实现中值滤波器,为后续设计的增长留有更多空间。
    
    2 中值滤波的基本原理及改进算法
    
    2.1中值滤波的基本原理
    
    中值滤波是由tukey发明的一种非线性信号处理技术,早期用于一维信号处理,后来很快被用到二维数字图像平滑中,是一种有效抑制图像噪声,提高图像信噪比的非线性滤波技术。它是一种邻域运算,类似于卷积,但计算的不是加权求和,而是把邻域中的像素按灰度级进行排序,然后选择该组的中间值作为输出像素值。与均值滤波器以及其他线性滤波器相比,中值滤波器的突出特点是在很好地滤除脉冲噪声(impulsive noise)和椒盐噪声(salt and pepper noise)的同时,还能够保护目标图像边缘轮廓的细凇s霉奖硎疚?br>
    g(x,y)=median{f(x-i,y-i)},(i,j)∈s (1)
    
    式中g(x,y),f(x,y)为像素灰度值,s为模板窗口。
    
    而中值滤波的具体实现过程一般为:
    
    (1)选择一个(2n+1)×(2n+1)的滑动窗口(通常为3*3或者5*5),使其沿图像数据的行或者列方向逐像素滑动(通常为从左至右,从上到下逐行移动)。
    
    (2)每次滑动后,对窗口内的像素灰度值进行排序,用排序所得的中间值代替窗口中心位置像素的灰度值。
    
    2.2中指滤波的改进算法
    
    中值滤波的算法很多,但通常数据排序量较大。需要消耗大量时间,不利于图像处理的实时性。本文采用一种窗口大小为3*3的快速排序算法。大大降低了排序量。
    
    为了便于说明。将3*3窗口内的各个像素分别定义为m11,m12,m13,m21,m22,m23,m31,m32,m33。像素排列如表1。
    
    
    
    首先分别对窗口中的每一行计算最大值、中值、最小值,这样一共可以得到9个数值,分别包括3个最大值、3个中值、3个最小值:
    
    第一行的最大值:max1=max[m11,m12,m13];
    
    第一行的中值:med1=med[m11,m12,m13];
    
    第一行的最小值:min1=min[m11,m12,m13];
    
    依
上一篇:用CPLD控制曼彻斯特编解码器
热门点击
- OrCAD/PSpice9直流扫描分析的应用
- OrCAD/PSpice9直流扫描分析的应用
- protel99se和DXP的使用感想
- CCS噪声模型:用于串扰噪声分析的高精确度建
- ORCAD/PSPICE
- 硬件描述语言HDL的现状与发展
- 利用Liberty CCS建模技术实现更高精
- OPC工具挺进DFM
- SystemWeaver 实现复杂SOC的片
- 基于FPGA的多路模拟量、数字量采集与处理系
推荐技术资料
- 泰克新发布的DSA830
- 泰克新发布的DSA8300在一台仪器中同时实现时域和频域分析,DS... [详细]