改进的中值滤波

2024-06-17

改进的中值滤波(精选八篇)

改进的中值滤波 篇1

关键词:中值滤波,现场可编程门阵列,快速算法,阈值比较

图像是人类获取外界信息的重要途径,图像的清晰度直接影响到人们对其的观察以及进一步的分析研究。图像的采集、传输、存储等环节通常会导致图像质量的降低。因此,为了改善图像的质量,必须对图像进行滤波、平滑等预处理操作。但是,由于实际处理的数据量巨大,预处理的过程往往达不到系统对实时性的要求。近年来,微电子技术和超大规模的集成电路制造技术的发展,特别是FPGA的发展,为提高图像处理系统各种性能提供了新的思路和方法。FPGA在设计上实现了硬件并行和流水线(Pipeline)技术,适于模块化设计;同时其开发周期短,系统易于维护和扩展,能够大大提高图像数据的处理速度,满足系统的实时性要求[1]。

中值滤波作为一种空域滤波技术,能有效地去除脉冲噪声和椒盐噪声,同时还能较好地保留图像的边缘信息,在图像预处理中应用广泛。虽然中值滤波算法处理的数据量大,但其运算简单,重复性强,存在较大的并行性,可由硬件映射到FPGA架构中[2,3]。另外,由于中值滤波算法处理后的图像存在边缘模糊的问题,因此,本文对快速中值滤波算法提出了一些改进,通过加入阈值比较的环节,更好地保留了图像的细节信息。最后,基于FPGA硬件平台实现了改进的快速中值滤波算法,大大提高了图像的处理速度。

1 传统中值滤波算法及改进

传统的中值滤波算法把邻域中的像素按灰度级进行排序,然后选择该组的中间值作为该邻域的输出值,用公式表示为:

其中,g(x,y)、f(x,y)为像素灰度值,S为模板窗口。对于一幅M×M的灰度图像,窗口至少需要滑动(M-2)2次,需要进行n2(n2-1)(M2-2)/2次比较运算。由此可见,传统的中值滤波算法存在运算量大的问题[4,5,6]。

针对传统中值滤波算法的一些快速中值滤波算法已经被提出[7,8,9,10]。参考文献[7]提出了一种将3×3窗口的像素值先按列降序排序,然后再按行降序排序,最后取对角线上的元素作为模板中值输出的快速中值滤波算法,相对于需要进行36次比较运算的传统的中值滤波算法,这种快速中值滤波算法的比较次数明显减少,仅为21次。参考文献[8]提出了采用3×3像素的十字型中值滤波结构模板,对快速中值滤波算法进行改进,只需对5个像素数据进行排序,从而减少了数据比较的次数,该算法的比较次数为24次。参考文献[9]提出了一种先取模板各个水平行的中值,再求出这些水平行中值的中值,以此作为滤波结果的快速中值滤波算法,该算法在最坏情况下的比较次数为12次。

同时,为了更好地保留图像的细节信息,参考文献[10]提出了在传统的中值滤波算法中加入阈值判定的方法,即设定一个阈值TH后,按传统的算法算出初始的中值,将当前中值与模板的中心值的差的绝对值与阈值进行比较,若判定结果大于阈值,则判定中心点为噪声点,用求的中值代替中心值,否则保留原有的中心值。

2 改进的快速中值滤波算法及分析

为了减少图像滤波后的误差,提高图像处理的速度,本文提出了一种改进的快速中值滤波算法。采用3×3模板,以快速中值滤波算法为基础来寻找中值,通过阈值约束条件,判断中值是否为有效数据。算法的具体实现步骤如下:

(1)获取大小为m×n的原图像,对图像加入5%的椒盐噪声;

(2)图像扩展,使其大小为(m+2)(n+2);

(3)将模板在图像上按行列滑动,如果未到达循环结束条件,则转到步骤(4);

(4)对模板中水平行的数据进行排序,取每一行第2个位置上的值,然后再对3行的中值进行排序,取其中值;

(5)判断该中值是否为所需的有效数据,将所求的中值和中心点值做差,将差值与事先设定的阈值TH按式(2)进行比较;

从比较次数上分析,新的改进算法的比较次数在最坏的情况下,也明显少于其他算法的比较次数。由于比较次数的减少,图像处理的效率会有很大提高。为了取得最佳阈值和在选定的阈值下评价图像处理后的质量,采用最小均方误差(MMSE)指标作为判断的标准,计算公式为:

其中,g(i,j)表示滤波后图像像素的灰度值;f(i,j)表示原始图像各点的灰度值。实验求得阈值TH=20时,本文改进算法的MMSE值最小,获得最佳处理效果。

分别采用基于上述参考文献的算法以及本文的算法对图像进行处理。各个算法MMSE的比较结果如图1所示。

由图1可以看出本文提出的改进算法比其他算法的MMSE值都小,能获得较好的处理效果。图2给出了本文改进算法对加入5%椒盐噪声的图像的处理效果。

结合图1和图2可知,增加阈值判定的算法在细节保护和去噪之间能达到一个较好的平衡点,本文的改进算法处理效果明显较好。

3 算法的硬件实现

3.1 总体设计方案

FPGA硬件化设计遵循并行流水机制,分别采用各自独立的处理通道,对同一段时间内需要处理的所有任务同时进行处理,处理时间从多个任务所需时间之和降至最慢任务所需的时间。为了便于在FPGA上实现改进的中值滤波算法,本文以3×3像素模板处理512×512像素的灰度图像为例,进行了硬件化的设计,总体设计方案主要包括比较排序模块的设计和控制电路的设计,如图3所示。

3.2 三点排序模块的设计

每个三点排序模块都用了3个比较器对3行数据进行并行比较排序。在一个时钟周期下,每次比较3个输入信号,输出信号为每行的中值。当时钟触发下一级的比较器后,各行输出的中值信号作为下一个排序的输入信号,最后再加入一个比较器对所得中值进行判断。这样,总处理时间只是其中关键模块的处理时间,处理速度是顺序执行的两倍。

3.3 控制电路的设计

控制电路控制着整个系统的运行,是硬件设计的难点和重点。本设计的控制电路分为两部分:

(1)控制不连续信号的输入和数据缓存

由于图像信号是按串行的方式输入到系统中,因此需要通过控制信号使系统保持在并行流水的工作模式中。考虑实际工作中,图像信号的输入可能是不连续的,故采用FIFO缓存模块来保存数据。当FIFO模块不为空时,系统将产生局部时钟使能信号来保证系统计算的正确性。

(2)控制图像边界点的输出和对有效信号的选取

中值滤波算法在处理图像时,只处理图像内部的像素,而边界上的像素保持不变,因此需要在FPGA系统中加上对边界点的处理并选取有效信号的输出,此处理由控制模块完成。对于选定的512×512像素的图像,其4条边界上有2044个边界点,系统需要对这些边界点进行判定,并完成有效数据的正确输出。

4 测试结果及分析

实验采用了Altera的具有高密度低成本Cyclone系列的EP2C70F896C6N芯片,利用DSP-builder11.1实现算法设计,并通过Quartusii11.1对设计进行调试和仿真,同时利用modelsim10.0c完成时序仿真。modelsim10.0c的仿真结果如图4所示。

由图4可知,实验数据与预计结果一致。因此,设计电路具有良好的稳定性。本文给出了硬件实现不同算法的效果对比情况,如表1所示。

由表1可知,对于一幅512×512像素的图像,本文改进的基于FPGA的快速中值滤波算法在硬件上能达到的最高工作频率为231.21 MHz,处理时间约为1.13 ms,比软件实现该算法的速度快11倍;与传统的中值滤波算法和参考文献[7]算法的硬件结构相比,本文改进算法耗费的逻辑单元和寄存器较少,占用硬件资源更少,从而达到较高的工作频率,以满足图像实时处理的要求。

本文通过对快速中值滤波算法的改进,能够减少算法排序量,更好地保护图像的细节信息。改进的算法具有较高的内在并行性,易于在FPGA上实现。硬件实现的算法对图像的处理能达到较高的工作频率,且占用资源较少,适合图像的实时处理。

参考文献

[1]BOAS M L.Mathematical methods in the physical sciences(3rd ed)[M].John Wiley&Sons,2006.

[2]黄艳军.基于FPGA的数字图像预处理算法研究[D].南京:南京理工大学,2009.

[3]VINCENT O R,FOLORUNSO O.A descriptive algorithm for sobel image edge detection[C].Proceedings of Informing Science&IT Education Conference(InSITE),2009.

[4]ZEMCIK P,Hardware acceleration of graphics and imaging algorithms using FPGAs[D].Brno University of Technology:SCCG,2002.

[5]BATES G L,NOOSHABADI S.FPGA implementation of a median filter[C].Speech and Image Technologies for Com-puting and Telecommunications,Proceedings of IEEE,1997.

[6]万海军.实时图像处理算法研究及FPGA实现[D].陕西:西北农林科技大学,2008.

[7]付昱强.基于FPGA的图像处理的算法的研究与硬件设计[D].南昌:南昌大学,2006.

[8]朱捷,朱小娟,贺明.基于FPGA的实时图像中值滤波设计[J].计算机测量与控制,2007,15(6):798-800.

[9]王萍,白光远,唐晓燕.基于FPGA的图像中值滤波算法的优化及实现[J].电子与电脑,2009(10):94-96.

改进的中值滤波 篇2

关键词: 农业视觉图像;中值滤波;噪声检测;几何距离;加权滤波

中图分类号:TP391;S126 文献标志码: A

文章编号:1002-1302(2015)08-0419-02

近年来,农业智能化水平逐步提高,具体表现在将计算机技术、激光红外技术与传统农业分析方法相结合,最直观的体现是通过对传统农业机械加装相关图像信息采集传感器件来获取农作物视觉图像,并将其传到室内计算机系统内,借助图像处理技术对图像所承载的农业信息进行判读和分析,根据图像分析结果来对农作物的长势进行评估,对病虫害进行分析 [1-2]。图像传感器由于自身电压不稳定,农业机械行进过程中会发生一定程度的颠簸以及图像拍摄的环境有时候比较恶劣等因素,导致所获取的图像清晰度不佳,因此,研究该类图像的处理方法势在必行。中值滤波算法 [3-4]作为一种较为实用的数字图像处理方法,由于其原理简单、运算简便,得到了广泛应用,诞生了一些改进型算法,如加权中值滤波 [5]、极值中值滤波 [6]等。但该类算法对于细节信息丰富的农业视觉图像处理效果不尽如人意,为此,本研究通过对中值滤波算法进行改进,以探索一种适合于该类图像的滤波算法。

1 中值滤波算法及其改进

1 1 中值滤波算法原理及其特性分析

对于任意一幅数字图像而言,若受到噪声的干扰,图像中部分像素点的灰度值会发生重大变化,若要去除该类噪声,可通过采用一定大小的规则窗口(一般为3×3、5×5、7×7等,模板长宽尺寸相等)在图像中按照从左往右或从上往下的顺序滑动。当该窗口的中心停留于某像素点时,记该像素点的灰度值为f(x,y)(x、y为该像素点在图像中的坐标),那么该点的中值滤波结果可表示为:

f′(x,y)=median{f(x-1,y+1),f(x,y+1),f(x+1,y+1),f(x-1,y),f(x+1,y),f(x-1,y-1),f(x,y-1),f(x+1,y-1)}。 (1)

其中,f(x-1,y+1)等为尺寸3×3滤波窗口中除了f(x,y)之外的像素点灰度值;median{}为取中间值操作。

该算法对于图像中的每一个像素点反复执行式(1)计算过程,通过采用噪声点一定大小的邻域内像素点灰度值来对噪声点进行修正,从而达到去除噪声的目的。但大量研究表明,该算法也具有一些不足之处:(1)该算法对图像中每一个像素点逐个进行取中间值操作,虽然能够抑制噪声,但是,图像即便是受到高强度噪声的干扰,图像中真正受到噪声污染的像素点仍然占一小部分。如果对所有像素点都进行计算,不但导致一些未被噪声污染的像素点被当作噪声点处理,导致图像失真,而且也延长了图像处理时间。(2)特别是对于农业视觉图像而言,图像存在着大量农产品的根、叶片、果实等信息,边缘轮廓较为复杂,且连续性较强,如果将滤波窗口固定为矩形形式,无法有效顾及该类信息的特征。

1 2 中值滤波改进算法

针对上述分析结果,本研究尝试将中值滤波算法进行改进,使其更适合于农业视觉图像处理工作。

1 2 1 噪声点的二步检测法 图像中一旦含有噪声,必将导致其中一部分噪声点的像素值发生变化,基于这一特征,提出了一种噪声点的二步检测方法。

步骤1:采用尺寸为5×5的方形窗口在图像中按照从左到右或者从上到下的顺序逐个像素点移动,若该窗口位于图像中某区域时,计算该窗口中25个像素点的灰度均值f[TX-],那么,可按照下式对图像进行噪声检测:

f(xi,yi)≤f[TX-]

f(xi,yi)>f[TX-][JB)] (i=1,2,3, ,25)。 (2)

其中,f(xi,yi)为5×5的方形窗口重第i个像素点灰度值。通过式(2)处理后,图像像素大体分为2类:一类为目标区域,另一类为背景区域。

步骤2:为了从步骤1所得到的目标区域和背景区域中进一步检出噪声点,采用下式继续进行处理:

│f(xi′,yi′)-f[TX-]1│≥[SX(]2[]3[SX)]f[TX-]1

│f(xi-i′,yi-i′)-f[TX-]2│≤[SX(]1[]3[SX)]f[TX-]2[JB)](i′<25;i-i′<25) 。 (3)

其中,f(xi′,yi′)为目标区域中任意一像素点灰度值;i为目标区域中像素点个数,i-i′为背景区域中像素点的个数;f[TX-]1、f[TX-]2分别为目标区域和背景区域的像素灰度平均值。通过式(3)处理后,逐步将图像中灰度值过高、过低的像素点当做噪声点检测出来,该类点作为后续滤波的对象。

1 2 2 多个方向加权滤波 针对农业视觉图像中目标物边缘轮廓的连续性和复杂性,设计出如图1所示的3个具有方向性的滤波模板。

步骤1:采用图1-a对经过噪声检测后的农业视觉图像进行水平方向的滤波处理,当该模板位于图像中任意一位置时,此时有3类情况:

(1)若该模板中,经过检测后的噪声点个数为4(除待滤波的像素点之外)时,可以认为该模板中包括待滤波的像素点在内是图像中目标物轮廓的一部分,可不作处理;

nlc202309041716

(2)若该模板中,经过检测后的噪声点个数为3(除待滤波的像素点之外)时,可将非噪声点的灰度值与待滤波像素点灰度值的平均值作为滤波值输出;

(3)若该模板中,经过检测后的噪声点个数为1或2(除待滤波的像素点之外)时,可通过下式进行处理:

f′(x,y)=[SX(]p1f1+p2f2+p2f3[]p1+p2+p3[SX)](噪声点个数为1)或f′(x,y)=[SX(]p1f1+p2f2[]p1+p2[SX)] (噪声点个数为2)。 (3)

其中,f′1(x,y)为模板中心点即待滤波像素点灰度值f(x,y)的滤波值;p1、p2、p3分别为对应的非噪声像素点f1、f2、f3与待滤波像素点的几何距离的倒数。

步骤2:按步骤1的思路完成图1-b和图1-c模板的滤波工作,从而得到对应的滤波值分别为f′2(x,y)和f′3(x,y)。

步骤3:对步骤1和步骤2得到的f′1(x,y)、f′2(x,y)和f′3(x,y),按数值大小排序,取中间值作为最终滤波值加以输出。此外,重复执行步骤1至步骤3完成图像所有滤波工作。

2 试验仿真

试验图像为实地拍摄于某葡萄园的夏黑葡萄图像,对其加入不同程度的颗粒噪声来对本研究算法的滤波性能进行测试,并与中值滤波算法、加权中值滤波算法 [5]、极值中值滤波算法 [6]进行比较,试验结果如图2所示。对上述几类算法的滤波效果采用峰值信噪比(peak signal noise to ratio,PSNR) [7-8]这一指标进行客观评价,结果如表1所示。

图2-b为对图2-a所示的夏黑葡萄图像加入了密度为15%的颗粒噪声,来模拟仿真成像传感器内噪声,采用中值滤波算法进行处理,结果如图2-c所示,可见图中的葡萄基本从噪声中恢复出来,但是噪声残留程度较为严重,图中的葡萄叶子、果实基本无法清晰辨认。采用加权中值滤波算法 [5]来进行处理,结果如图2-d所示,可见该图的清晰度明显提高。图2-e为极值中值滤波算法 [6]处理结果,该图的视觉效果与与2-d较为接近,可见,该2类算法滤波性能比较接近。图2-f为本研究算法滤波结果,很明显,图中的噪声基本不存在,葡萄果实、叶片均容易辨认。由表1可知,本研究算法对于含有5%噪声的图像滤波结果不如加权中值滤波算法和极值中值滤波算法,仅仅略优于中值滤波算法,这是由于本研究算法中通过对噪声进行检测,当图像中噪声密度较低时,容易将大量图像像素点误检为噪声点,导致滤波后图像质量降低。但随着噪声密度的增大,本研究算法的优势逐渐显现出来,当图像中的噪声密度达到15%时,本研究算法的PSNR值明显高于其余三者。

3 结语

为了实现对农业视觉图像的有效处理,在对中值滤波算法改进的基础上,提出了一种自适应滤波算法。试验结果表明,本研究提出的新算法滤波效果明显优于中值滤波算法及其已有的2类改进型算法,基本适合于处理农业视觉图像的要求。

参考文献:

[1] 张红旗,王春光,张 永,等 数字图像处理技术在变量农药喷洒装置中的应用研究[J] 农机化研究,2013,35(9):213-217

[2]王献锋,张善文,王 震,等 基于叶片图像和环境信息的黄瓜病害识别方法[J] 农业工程学报,2014,30(14):148-153

[3]Kravchonok A I,Zalesky B A,Lukashevich P V An algorithm for median filtering on the basis of merging of ordered columns[J] Pattern Recognition and Image Analysis,2007,17(3):402-407

[4]赵 辉,刘文明,岳有军,等 一种新的去噪算法在农作物图像处理中的应用[J] 江苏农业科学,2014,42(1):371-373

[5]刘炳良 一种小波域改进双边滤波的水果图像去噪算法[J] 红外技术,2014,36(3):196-199,204

[6]黄存令,段 锦,祝 勇,等 一种改进的极值中值滤波算法[J] 长春理工大学学报:自然科学版,2013(3):141-143

[7]王小兵,孙久运,汤海燕 基于小波变换的图像混合噪声自适应滤波算法[J] 微电子学与计算机,2012,29(6):91-95

[8]杨 青 基于农业视觉图像的高效滤波处理方法[J] 江苏农业科学,2014,42(4):361-362,363

改进的中值滤波 篇3

红外图像一般存在噪声点大,目标和背景之间灰度差小,边缘模糊的特点,图像必须经过预处理进行质量提高和特征增强,才能进行目标检测识别与跟踪的运算。中值滤波是较为常用的红外图像滤波算法,经常用于去除图像的椒盐噪声。文中在传统的中值滤波算法的基础上对中值滤波做些改进,以640×512元红外焦平面阵列探测器为验证对象,选用Altera公司的高性能StratixⅡEP2S60作为硬件平台,以流水方式来实现中值滤波算法。

1 中值滤波原理

图像在生成、传输过程中常会受到各种噪声源的干扰和影响,为了抑制噪声,改善图像质量,在对图像分析前需要对图像进行滤波、平滑处理。中值滤波是一种能有效地抑制图像噪声而提高信噪比的非线性滤波技术。它首先对邻域点的灰度值进行排序,然后选择中间值作为输出灰度值。中值滤波的公式如下

式中,g(x,y)和f(x,y)为像素灰度值;S为模板窗口。对于不同的图像质量有不同的应用模板窗口,其中常用的有3×3模板和5×5模板。

中值滤波算法可以在DSP中实现,随着FPGA可编程逻辑器件的逻辑单元的数量不断提高,现在这部分功能完全可以在FPGA上实现。也不需要FPGA外部存储器的配合。主要有下面两方面工作要做。

1.1 模板生成

二维中值滤波的模板形状和尺寸有多种样式,不同的图像内容和不同的应用要求,往往采用不同的模板形状和尺寸,常用的中值滤波有线形、方形、十字形、X字型以及矩形等。根据红外图像的特点选用方形模板更为适合,以3×3的窗口为例,中值滤波处理算法是针对邻域像素操作。利用2个FIFO和6个寄存器对图像的行列数据进行存储,设计滤波窗口如图1所示。

图1中,每个FIFO的地址长度为图像的宽度减2,即一个FIFO加2个寄存器存储一行图像数据,用于图像行数的缓存;7个寄存器分3组两两串接,实现每行数据上列像素的缓存,从而形成一个3×3的滤波窗口,在一个像素时钟周期内并行输出9个数据作为后续算法模块的输入。通常,图像边缘不包含重要信息,可以将边缘点位置取为原始值。

1.2 中值滤波算法设计

中值滤波器的核心算法是排序,排序法的优劣直接决定了求中值的效率,从而决定了设计的整体性能[1]。基于硬件的排序算法设计可以充分利用FPGA硬件平台并行性特点,从而达到加速处理的目的。原始的冒泡排序算法适合计算机软件操作,应用FPGA应当尽可能多地用到FPGA并行操作。对9个数据直接找到中间值不容易,但最大值与最小值可以很快找到,如果找到9个数中的最大值与最小值,就可以将这两个数排除掉,剩下的7个数继续寻找最大值与最小值。找到后排除,以此类推,最后剩下的那个数就是这9个数中的中间值。

设计一个3输入比较器,在一个时钟周期内就可以比较出它们的大小关系。其输入数据为图1所示的模板生成的数据。首先将9个数分3组,找到每组的最大值、最小值与中间值(参见图2所示)。然后将3组比较结果中的最大数放在一起,最小数放在一起,中间值放在一起,组成第二级比较。第二级比较可以找到9个数中的最大值及最小值,这两个数不参加下一级比较。剩下的7个数参加第3级比较,找到的最大值与最小值舍去。剩下的5个数继续参加4、5级比较找到这5个数中的最大值、最小值,将其舍去。剩下的3个数用一个比较器找出的中值即为这9个数的中值。此外为了保证流水线操作过程数据的同步性,在第3级和第5级比较电路中需要插入数据寄存器R,缓存当前级中不参加比较的数据。

1.3 滤波算法的改进——阈值比较法

无论哪种滤波器都是以牺牲原始图像质量为前提,所以在定位哪个像素为噪声点的同时,要注意是否有替换的必要[2]。中值滤波要实现的是用中值g(x,y)来代替中心点值f(x,y)。对于椒盐噪声来说,由于模板的中值很大程度上不会是噪声,因此中值滤波能很好地消除它。当中心点值为噪声时,其值和中值数值相差较大,应该用中值来代替中心点值。但是,当中心点值不为噪声时,其值和中值数值相差不大,如果还用中值来代替中心点值,那么虽然对于单个像素点来说,不会产生较大的差异,但是如果对一整幅图像都进行这样的处理,这将在一定程度上使整幅图像变得模糊。据此,可以对中值滤波算法做一些改进。首先,排序窗口内的图像数据,找到中值,然后将中值和中心点值做差,将差值与事先设定的阈值T进行比较,如果两值之差的绝对值|g(x,y)-f(x,y)|大于等于阈值T,则认为中心点图像数据是噪声,用中值代替原数据值;如果两值之差的绝对值|g(x,y)-f(x,y)|小于阈值T,则认为中心点图像数据是有效数据,保持不变。阈值T的选择应该针对不同的图像,根据经验或者实验进行选取。如果阈值选择过大,将有可能滤除不掉噪声;如果阈值选择过小,将仍会使图像变得模糊。由于噪声和周围像素相差较大,也和中值相差较大,因此阈值一般选择在几十左右。这样,滤波处理之后的图像在去除噪声的同时会更加接近于原图像,能在更大程度上保留图像细节,使图像更清晰。

2 实时中值滤波算法的FPGA硬件实现

640×512元红外焦平面阵列探测器,红外探测波长5~8μm,工作温度在-40~85°C。可以设置最大输出时钟频率为20 MHz,产生标准PAL制式的视频数据输出、每帧640×512像素,经过14 bit的A/D转换后其输出数据流时序如图3所示。

Lsync为数据输出的场同步信号,Lsync低电平数据输出有效,有效时间为16.384 ms。根据数据流时钟周期50 ns,推出输出像元数为16.384/50×106=327 680个,这恰好等于一帧图像640×512。Lsync高电平数据输出无效时间为3.616 ms,所以Lsync周期为20 ms,符合我国PAL制的电视显示标准。在Lsync低电平有效时间内数据连续输出,没有行同步信号。所以中值滤波的对象是对数据流的连续操作,滤波结果也要产生一个新的Lsync信号,相当于图3所示的数据的一个延时操作。

为了完成中值滤波的功能,设置了4个模块:行列计数器的生成模块、3×3模板的生成模块、中值滤波模块、阈值比较模块。

(1)行列计数器的产生

在Lsync信号有效期间内,以Dclk为计数器时钟信号对当前像素所处的行数和列数进行标识。首先对列计数,设变量line_cnt,row_cnt为10位的寄存器变量,初始值为1,line_cnt从1开始计数,当计数到640时重设为1;row_cnt从1开始,每当line_cnt等于639累加1,直到Lsync翻转高电平为止。在数据无效期间对line_cnt,row_cnt重新置为1。

(2)3×3模板的生成[3,4]

使用嵌入式存储器来实现移位寄存器块,它能节省逻辑单元LE和布线资源,提供了更加有效的实现方法。由于Quartus II软件中的altshift_taps宏模块没有正好等于638的FIFO,可以选用移位寄存器实现FIFO的功能。1个w×m×n移位寄存器,由输入数据宽度w,抽头长度m和抽头数n来决定,移位寄存器的抽头长度m最大值是256,当需要更大容量的移位寄存器块可以级联。由于w没有正好14位,可以选16位移位寄存器。运用如图4的移位寄存器组成一个深度为638的FIFO,抽头数n都为1。根据1.1节中的模板生成原理图组成如图5所示的Quartus II的软件实现[5]。

shiftin[15..0]为图像数据输入端,clock为时钟信号shiftin[15..0]为经过638个时钟延时后的数据输出端。

最终的中值滤波器的构成如图5所示,包括7个由上升沿触发的D触发器,每个D触发器延时一个时钟、两个移位寄存器模块,每个寄存器模块延时638个时钟,一个排序模块延时6个时钟,总计经过1 286个时钟的延时后,中值滤波器开始流水输出滤波结果。

(3)中值算法实现

求9个数中间值的算法需要10个3输入比较器,2个2输入比较器。搭建一个如图2所示的中值滤波结构图。2输入比较器判决出2个输入数值的大小,一个时钟可以实现。3输入比较器比较产生最大值、最小值及中值。考虑在FPGA上应用,要尽可能并行处理,所以采用如下代码生成Symbol,这样可以在一个时钟周期后就可以有结果输出。

时序仿真模拟真实时钟周期,选择输入时钟周期50 ns,输入数据是以50 ns为周期的从1开始累加。仿真结果(见图6)显示:产生的9个数可以分3行,第一行的1、2、3与第二行641、642、643及第三行的1 281、1 282、1 283相对应,每两行有640个数的差值。最终的中值mid_value为642,对应的输入数据有646个时钟的数据延时。

(4)周围像素处理及阈值比较[6,7]

为了使算法更好地保护图像的细节,同时把噪音像素点用中值来替代,需要将最终结果做一个判断,首先是需要将图像的四边2行和2列用原始值替代。通过前面设置的行、列计数器判断line_cnt,row_cnt,如果line_cnt等于1或640时候输出值为原始值,如果row_cnt等于1或512时候输出值为原始值。当输出数据不在图像最外一行(列)时,判断产生的中值与需要替代像素的原始值的差值T,当差值T很大时用中值替代,相差不大取原始数据。在此过程中为了把原始值与中值在一个时钟进行比较,需要将原始值用移位寄存器进行延时1 280+6个时钟周期,使它的值与mid_value在同一时钟内产生。T的选择可以通过实验选取一个恰当的值,这里对14位输入数据,选取30左右为宜。

将一幅未经处理的原始红外图像(图7),原始图像加入了孤立的噪声点,输入FPGA中值滤波器得到滤波后的图像如图8,试验结果可以看出,原始图像中孤立的噪声点得到了有效的滤除,利用FP-GA实现的中值滤波得到了预想的效果。

3 结束语

通过对传统的中值滤波算法进行改进,能够更好地保证图像质量。算法在640×512元红外焦平面阵列探测器实现3×3窗口对图像进行中值滤波,中值滤波对图像的点噪音的去噪能力效果明显。对于5×5或7×7模板的中值滤波,求取中值过程复杂,但采用流水的方式处理,只是对数据多做几个延迟。当红外目标为几个像素点组成的弱小目标,为了便于进行目标识别处理,不建议选用5×5或7×7的模板处理。窗口内噪声个数大于窗口内元素数一半时,中值滤波效果下降。当目标为一个像素点或亚像素时最好不用中值滤波,采用基于形态学滤波与维纳差分滤波背景抑制算法,或直接选用比较好的非均匀校正与盲元替换效果更为理想,可以更好地保护目标信息不被滤除掉。

摘要:中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术。改进中值滤波算法与传统3×3中值滤波器相比较:滤波模板由2个FIFO与7个寄存器组成,简单实用;经过6级比较可以快速找到9个数的中值,提高了寻找中值的速度;得到的中值与原始数据经过阈值比较,做选择性替换,便于更好地保持图像细节。此算法在640×512元红外焦平面阵列探测器上,成功实现3×3窗口对图像进行中值滤波,运算简单速度快,在滤除噪声尤其是脉冲噪声的同时能很好地保护信号的细节信息。

关键词:红外焦平面阵列,中值滤波,模板,阈值

参考文献

[1]李洋波,赵不贿.基于FPGA的图像中值滤波的硬件实现[J].现代电子技术,2008,22:99-101.

[2]李飞飞,刘俸宁,王艳华.改进的中值滤波算法及其FP-GA快速实现[J].计算机工程,2009(14):175-176.

[3]石岩.凝视红外成像信息处理系统图像预处理方法与系统[D].武汉:华中科技大学,2006.

[4]姜勇,刘广文,赵丹培,等.基于F PGA的图像增强以及滤波技术[J].长春理工大学学报,2002(12):20-22.

[5]任爱峰,初秀琴,常存,等.基于FPGA的嵌入式系统设计[M].西安:西安电子科技大学出版社,2004:260.

[6]朱梦宇,赵保军,韩月秋.复杂背景下点目标检测算法[J].红外,2002(7):21-24.

[7]Rafael C Gonzalez,Richard E Woods.Digital Image Processing[M].北京:电子工业出版社,2003:171-180.

中值滤波的视频背景更新 篇4

运动目标检测技术广泛地应用在军事目标探测跟踪、智能视频监控、智能交通、计算机视觉、运动分析等领域[1,2,3]。目前运动目标检测按背景不同主要划分为两种模式,即摄像机运动和摄像机静止两种情况,按技术划分主要有三种方法,即光流法、帧间差分法和减背景法[4]。

光流法[5]是利用运动估计进行分割和跟踪运动目标的一种方法。采用运动目标随时间变化的光流特性,通过计算位移向量光流场来初始化基于轮廓的跟踪算法,从而有效地提取和跟踪运动目标。虽然光流法在摄像机运动和静止的情况下都能检测出独立的运动目标,但是由于光流场的计算相当复杂,对噪声比较敏感且对硬件要求较高。

帧间差分法[6]是在连续的图像序列中两个或三个相邻帧间采用基于像素的时间差分并且阈值化来提取图像中的运动区域。连续帧差法对动态环境有很好的适应性,但位置不准确,分割出的运动目标不完整,不能完全提取出目标的所有相关点,容易在运动实体内部产生空洞现象,帧间差分法只能应用在摄像机静止情况下的动态目标检测。

减背景法[7]通过当前图像与背景图像之间的差分来检测运动区域,这种方法是目前运动检测中最常用的一种方法。其优点是位置准确,速度快,只需要获取当前的一幅图像,运算量低,可以做到实时检测与分割,不足之处是受环境光线变化的影响,在非受控环境下,需要加入背景图像更新机制,减背景法也只能应用在摄像机静止情况下的动态目标检测。

减背景法主要包括初始背景提取、背景更新、背景差和后处理四个步骤。初始背景的提取一种方法是建立背景模型,假定初始背景中不含运动目标;另一种方法是选择像素灰度,即通过包含运动目标的序列帧提取初始背景。由于光照、天气等变化直接影响着背景模型的质量,需要及时更新背景。最常用的更新方法是多帧平均法和选择更新法[8,9]。多帧平均法直接将输入图像序列的强度平均值作为当前背景,其缺点在于对场景改变过于敏感。选择更新法指将没有检测到运动的区域即真正的背景进行更新,在背景更新前先逐像素判断相邻两幅图像的差值,若小于一个阈值,则说明在这个像素位置没有检测到目标,可进行背景更新。这种方法依赖于阈值的选取,如果阈值选择不合理,背景图像将很快变得不可用。

对于智能视频监控,背景恢复和提取问题一直是一个研究的重点和难点[10],本文重点是针对摄像机静止时存在动态目标的视频场景背景实时恢复进行了详细分析。

在摄像机静止时,背景提取和更新的理想情况是,在视频场景里,隔一段时间就拍一帧不含运动目标物的场景图像以避免因为光照、阴影等对背景的影响,但在实际应用中是不可能的,一方面很难保证在视频监控场景里隔一个固定时间就会出现没有目标物的背景图像,另一方面即使出现了没有目标物的背景图像,要实现摄像机对实时背景的自动抓拍也是一个技术难点。

本文对基于中值滤波的视频背景更新方法进行了详细研究,实验证明,背景更新的效果好于多帧平均法和选择更新法,本文同时也对中值滤波如何选择图像序列样本帧进行了比较研究,提出了中值滤波视频背景恢复的理论模型。

1 中值滤波背景更新方法

中值滤波背景更新的假定是:在一个短时间(譬如1 min以内)中,视频背景变换不大,视频场景中的一个像素点,在这个短时间期间,经过很多个图像序列后,其处于动态目标上的时间小于处于背景状态的时间,并且处于动态目标上的时候,其强度值是随机分布的,处于背景状态时其强度分布是变化很小而平缓分布的。

譬如在30 s时间段背景变化不大,其实时视频(假定视频帧率为30帧/秒)中有900帧图像,在此900帧图像序列中,我们等分地抽取9帧图像(中值滤波样本数为奇数),如果位置在(i,j)处的一个像素处于动态目标上的时间小于处于背景状态的时间,则其在这9帧图像上的强度分别为:fn(i,j)(其中n=1,2,…,9),在此情况下,fn(i,j)所有值的中值一定就是背景强度,用fn(i,j)所有强度值的中值作为背景很明显比fn(i,j)所有值的平均值作为背景更准确,并且算法比选择像素灰度的方法也更加简单明了。

2 中值滤波背景恢复的理论模型和运用

在讨论中值滤波背景恢复的理论模型时,我们以单车道上的摄像机静止情况下的交通视频监控为例。

假定静止摄像机的视频监控范围远远大于一个车辆长宽的范围(在实际道路监控中也是如此),单车道上运动车辆的速度为v,车的长度为l,则视频场景中某一个位置像素被此汽车覆盖的时间为t1=l/v,假定某一个位置像素不被汽车覆盖的平均时间为t2,也就是说车辆出现的时间周期为(t1+t2),很明显,要想用中值滤波可以在多数情况下恢复出实时背景,至少需要t2>t1,假定视频实时帧率为f(一般f=25∼30帧/秒),如果中值滤波时采用的图像序列样本帧数为x(x是大于等于3的奇数),则图像序列样本帧的间隔数n(即实时视频图像序列隔n帧取一帧作为背景恢复的样本)必须满足:

其中要求t2>l/v。则用来选择做背景更新视频的时间段长度为

从式(1)和式(2)可以看出,车辆运动速度越快,则样本间隔帧数越小,背景恢复需要的视频时间段越短,车辆运动速度越慢,则样本间隔帧数越大,背景恢复需要的视频时间段越长,对于车辆密集拥堵缓慢移动的路段,如果t2>t1的条件不能满足,则中值滤波恢复背景的方法不再适合。

如果一个单车道上,车辆的平均速度为60 km/h,车辆平均长度为6 m,视频实时帧率为f=30帧/秒,中值滤波图像序列样本帧数x=9,并且假定t2=2t1=2l/v,可以算出n>3.6,样本更新的视频时间段为1.08 s,在此时间段内更新背景,可以认为背景是没有变化的,此时单车道车辆出现的时间周期为(t2+t1)=1.08 s,平均车流量为3 300辆/小时左右,车辆的平均速度为60 km/h的情况下,如果车流量超过3 300辆/小时,则中值滤波实时恢复背景的效果就会下降,即此时路面背景被车辆覆盖的概率超过不被车辆覆盖的概率。

对于高速公路单车道监控,假定车辆的平均速度为100 km/h,车辆平均长度为6 m,视频实时帧率为f=30帧/秒,中值滤波图像序列样本帧数x=9,并且假定t2=2t1=2l/v,可以算出n>2.16,样本更新的视频时间段为0.65 s,此时单车道车辆出现的时间周期为(t2+t1)=0.65 s,平均车流量为5 500辆/小时左右。

我们以下面的计算为例说明中值滤波提取实时背景的步骤。在下面的计算中,我们选取总时间段为9 s钟的全部具有运动物体的视频图像,在9 s钟的时间段内,可以认为背景是近似不变的,每隔1 s取一帧,则总共有9帧图像,图像为大小是720×560的真彩色图像,则场景中每一个像素分别有9个红、绿、蓝的值,算法设计如图1所示。

图2是选取的利用中值滤波要恢复背景的9帧图像序列样本(互相间隔1 s)。

运用中值滤波方法,并采用图2中的9帧图像,恢复出的场景实时背景如下图3(a)所示,可以看出实时背景恢复结果是很理想的,作为对比,图3(b)中为9帧图像强度平均的结果,很明显,中值滤波的效果远远好于强度平均的结果。

为了更清楚地说明中值滤波背景更新的原理,我们以视频场景中位置在300行、300列和200行、400列的两个像素为例说明背景提取过程。

300行、300列位置像素在9帧图像中的红、绿、蓝强度分布如图4(a)中星号(*)、圆圈(○)和菱形(◇)三种标记所示,可以计算出作为背景的红、绿、蓝中值分别为183、180、180,这三个值就是300行、300列位置像素的背景强度;200行、400列位置像素在9帧图像中的红、绿、蓝强度分布如图4(b)中星号(*)、圆圈(○)和菱形(◇)三种标记所示,可以计算出作为背景的红、绿、蓝中值分别为185、183、182,这三个值就是200行、400列位置像素的背景强度。

(a)根据图2的9帧图像中值滤波;(b)根据图2的9帧图像灰度平均(a)Median filtering from the 9 images of Fig.2;(b)Intensity averaging from the 9 images of Fig.2

在上述背景恢复计算中,我们是选取了总时间段为9 s的全部具有运动物体的9帧视频图像,在其实时视频图像中,车辆运动满足t2>t1的条件,并且车辆的平均速度为60 km/h左右,车辆平均长度为6 m左右,通过理论模型计算,我们选取总共1.08 s视频时间段的9帧图像序列也是可行的,即帧间间隔n>3.6即可(即不一定选择图2计算中的的n=30),因为帧间间隔越小,总时间段越短,则背景变化越小,背景提取的精度和实时性也越好。

图5为验证中值滤波背景恢复的理论模型的计算结果,我们选取帧间隔为2帧的9帧图像序列和间隔为4帧的9帧图像序列进行了比较,很明显在图5(a)中因为帧间隔不满足n>3.6的条件,没有很好地恢复背景,其本质是我们选取的间隔太小,使得9帧图像在提取背景期间物体的运动范围变化不大,而在图5(b)因为满足n>3.6的条件,很好地恢复出了实时背景,而采用的视频时间段小于2 s,可以认为外界的光照等环境基本没有变化。

(a)根据间隔为2的9帧图像序列;(b)根据间隔为4的9帧图像序列(a)Using 9 images with the interval 2 images;(b)Using 9 images with the interval 4 images

本文的中值滤波背景恢复的理论模型是以单车道上运动的车辆为例建立的,其理论原理也可以应用在其它运动物体的背景恢复中,譬如人员移动等场合的背景分析和恢复。

3 结果讨论

本文对于摄像机静止情况下,运动目标检测领域的实时背景恢复进行了研究,首先介绍了中值滤波恢复动态场景的方法,并创新性地提出了中值滤波进行背景恢复的理论模型,根据理论模型,我们可以明确地知道在何种情况下可以采用中值滤波方法恢复实时背景。

通过实际计算和理论模型分析,在背景被运动目标覆盖的平均时间小于不被运动目标覆盖时间的情况下,采用很小时间段的视频图像序列就可以很好地恢复出场景背景,同时将样本序列采集时间段和帧间隔与运动物体的线度大小及运动速度之间的关系给出了具有明确物理意义的判断公式,在实际应用中就可以根据场景运动物体的历史统计数据(譬如道路车流量)设计适当的中值滤波图像帧间隔。

在动态目标检测和背景恢复领域,目前还没有一个能解决所有问题的方法,本文提出的方法和理论模型也不适合拥堵情况下的背景恢复,对此种情况还需要结合其它方法。

参考文献

[1]任臣,张覃平.基于Kalman滤波理论的运动目标检测新方法[J].光电工程,2007,34(4):7-11.REN Chen,ZHANG Qin-pin.New Method for Detecting of Moving Targets Based on Kalman Filter Theory[J].Opto-Electronic Engineering,2007,34(4):7-11.

[2]秦涛,周泽魁.一种检测序列图像中运动目标的新方法[J].计算机应用与软件,2004,2l(9):105-107.QIN Tao,ZHOU Ze-kui.A New Method for Detecting Moving Objects in an Image Sequence[J].Computer Applications and Software,2004,2l(9):105-107.

[3]何卫华,李平,文玉海,等.复杂背景下基于图像融合的运动目标轮廓提取[J].计算机应用,2006,26(1):123-126.HE Wei-hua,LI Ping,WEN Yu-mei,et al.Algorithm of Extracting Moving Object Silhouette Based on Frame Fusion under Complex Background[J].Computer Applications,2006,26(1):123-126.

[4]王亮,胡卫明,谭铁牛.人运动的视觉分析综述[J].计算机学报,2002,25(3):225-237.WANG Liang,HU Wei-ming,TAN Tie-niu.A Survey of Visual Analysis of Human Motion[J].Chinese Journal of Computers,2002,25(3):225-237.

[5]Barron J,Fleet D,Beauchemin S.Performance of Optical Flow Techniques[J].International Journal of Computer Vision(S1573-1405),1994,12(1):42-77.

[6]Lipton A,Fujiyoshi H,Patil R.Moving Target Classification and Tracking from Real-time Video[C]//Proc IEEE Workshop on Applications of Computer Vision,Princeton,N J,USA,Oct19-21,1998:8-14.

[7]方帅,薛方正,徐心和.基于背景建模的动态目标检测算法的研究与仿真[J].系统仿真学报,2005,17(1):159-165.FANG Shuai,XUE Fang-zheng,XU Xin-he.Moving Object Detection Based on Self-adaptive Background Modeling[J].Journal of System Simulation,2005,17(1):159-165.

[8]Cucchiara R,Grana C,Piccardi M,et al.Detecting Moving Objects,Ghosts and Shadows in Video Streams[J].IEEE Trans.on Pattern Analysis&Machine Intelligence(S0018-9340),2003,25(10):1337-1342.

[9]王圣男,郁梅,蒋刚毅.智能交通系统中基于视频图像处理的车辆检测与跟踪方法综述[J].计算机应用研究,2005,22(9):9-14.WANG Sheng-nan,YU Mei,JIANG Gang-yi.Review on Vehicle Detection and Tracking Techniques Based on Video Processing in Intelligent Transportation Systems[J].Application Research of Computers,2005,22(9):9-14.

基于中值滤波的指纹增强算法 篇5

生物特征识别[1,2]技术是根据每个人独有的可以采样,测量的生物学特征和行为学特征进行身份识别的技术。由于生物特征不像各种证件类持有物那样容易窃取,也不像密码、口令那么容易遗忘或破解,所以在身份识别上体现了独特的优势,近年来在国际上被广泛研究。自动指纹识别系统[3,4,5] (AFIS)由于其体积小,成本低,易操作,可靠性高等优点越来越受到人们的青睐,成为最重要的生物识别技术之一。

一般的自动指纹识别系统包括:图像采集、图像分割、方向场估计、指纹增强、二值化及细化、特征点提取、特征匹配等部分。可靠提取指纹特征点是指纹准确识别的基础,但由于受噪声和采集环境等因素的影响,采集到的部分指纹图像质量比较差,特征点提取的准确性就会急剧下降。指纹增强作为指纹识别系统中非常重要的一部分,其目的就是通过对低质量指纹图像采取一定的算法处理,使其纹线结构清晰化,以尽可能地提高特征提取的可靠性。

迄今为止,已提出大量的指纹增强算法[6,7,8]。其中,运用最为广泛的主要有O′Gorman等于1989年提出的方向滤波方法,L.Hong等[9]于1998年提出的基于Gabor滤波器的指纹增强算法。这两者都利用了指纹图像的方向性及脊、谷交替的特性。前者在设计滤波器时,针对量化后的方向,设计不同的方向滤波模版,其设计原则为:

(1) 滤波器的模板尺寸要合适,要求是一个或者一个半的纹线周期;

(2) 模板的尺寸要为奇数,以保证模板通过中心点关于坐标轴对称;

(3) 为了提高脊线和谷线之间的对比度,模板设计在垂直于纹线方向上,中央部分系数为正,两边系数为负;

(4) 滤波结果应和原图的平均灰度无关,因此滤波器模板中所有系数的代数和应为零。该方法速度较快,但是存在难于选择合适模版尺寸的问题。

众所周知,Gabor滤波器是带通滤波器,它以其在空域良好的方向选择性和在频域良好的频率选择性而在计算机视觉领域,尤其是在纹理分析方面得到了广泛的应用。利用Gabor函数进行指纹图像的增强,本质上是沿着纹路方向采用低通滤波器,而沿着垂直于纹路方向采用带通滤波器。这种组合滤波器一方面可以消除纹路方向上的瑕疵,另一方面可以增强脊线和谷线之间的对比度,所以能取得令人满意的结果。然而,该方法的计算量很大,程序设计相当复杂,且在估计局部频率时也存在一定的困难。

相对于已有工作,这里首次将中值滤波算法运用于指纹图像增强问题,提出了一种更为简单的指纹图像增强算法。该算法的主要过程是:对图像中的每个像素点,沿该点方向上取一个(2R+1)的一维统计窗口,其中R为该统计窗口的半径。对该窗口进行中值滤波,并将中值结果赋予该像素点。基于FVC 2002指纹库的实验结果验证了该方法的有效性。

1 方向场计算

在梅园等[10]提出的方向场估计算法基础上,通过引入图1所示的新的窗口模版,形成了本文所采用的方向场计算方法,其大致过程如下:

(1) 对于指纹图像I,根据式(1)分别计算每个像素点沿x,y方向的梯度向量。

[Gx(x,y),Gy(x,y)]Τ=[Ι(x,y)/x,Ι(x,y)/y]Τ(1)

(2) 将整幅图像分割成一系列互不重叠、大小为Win×Win的内层块;为每个内层块分配一个具有共同中心点、大小为Wout×Wout的外层窗口。根据式(2),式(3)分别计算每个内层块的梯度向量及块的一致性,同时统计每个内层窗口所对应外层窗口中所含有效点梯度向量(即非0向量)的个数。

[GΙΝBx,GΙΝBy]Τ=[x=1Wouty=1WoutGsx(x,y),x=1Wouty=1WoutGsy(x,y)]Τ(2)CohinB=|x=1Wouty=1Wout[Gsx(x,y),Gsy(x,y)]|x=1Wouty=1Wout|[Gsx(x,y),Gsy(x,y)]|(3)

其中:

[Gsx(x,y)Gsy(x,y)]=[Gx2(x,y)-Gy2(x,y)2Gx(x,y)Gy(x,y)]

(3) 确定块一致性阀值φ及有效点个数阀值φ,对每个内层块,若其块一致性或者有效点个数小于相应得规定阀值,则将该块的块梯度向量置为0向量。

(4) 对每个块梯度向量为0向量的内层块,采用基于迭代的方法,重新估计其块梯度向量。

(5) 依据式(4)将每个内层块的梯度向量转化为块方向。

θ=(1/2)π+1/2{tan-1(GΙΝBy/GΙΝBx),GΙΝBx0tan-1(GΙΝBy/GBx)+π,GΙΝBx<0GΙΝBy0tan-1(GΙΝBy/GΙΝBx)-π,GΙΝBx<0GΙΝBy<0(4)

图2(a)为原始指纹图像,图2(b)给出了用该方法计算出的方向场结果图(其中Win=3,Wout=21,φ=0.3,φ=(Wout×Wout)/6。可以看出,该方法计算出的结果更加平滑,方向的连续性较好,为后面的指纹增强奠定了良好的基础。

2 基于中值滤波的指纹增强算法

中值滤波是对当前像素点的一个M·N统计窗口内所有像素点按照灰度级排序,用处于中间位置的灰度级来代替当前点灰度值的一种排序滤波方法。在具有两类目标的窗口中,其物理意义为:将当前像素点归类于处于多数的类别之中。该方法具有很好的抗噪性能,且不使边缘模糊,因此在很多的图像增强问题中很受欢迎。本文的主要工作就是首次将中值滤波算法运用于指纹图像增强问题,提出了一种基于中值滤波的更为简单的指纹图像增强算法。

在指纹图像的有效区域(即含有脊线、谷线的图像区域),也包含了两个类别——脊线(对应于图像中的灰度级较低的纹线)、谷线(对应于灰度级较高的纹线)。因此,从宏观上讲,中值滤波算法是完全可以运用于指纹图像增强问题的。因而问题的关键就在于如何选择合适、有意义的统计窗口。

对于该统计窗口,这里认为以当前点为中心,沿当前点方向的一维统计窗口是合适、有意义的统计窗口。其解释为:指纹图像是具有明显方向信息的纹理图像,沿当前点方向的一维统计窗口,如图2(c)所示,具有鲜明的物理意义,即若该统计窗口内主要包含脊线上的点,则把当前点划分到脊线中是合理的。同理,若该统计窗口内主要包含谷线上的点,则把当前点划分到谷线中亦是合理的。若统计窗口沿其他方向,极限情况是沿该点方向的垂直方向,则不会有任何意义,滤波后的结果自然无法理解通过实验,也得到了证明,如图3(a),(b)给出对每一点都采用水平方向或垂直方向的一维中值滤波结果。

从结果中可以看出,不沿着当前点方向进行中值滤波,结果明显不正确。采用一维窗口而非二维窗口,其一是因为一维数据量少,运算速度快;其二是当采用二维窗口时,若第二维的数值较大时,其中值滤波的结果亦没有意义,同样,这里亦通过实验得到了证明,如图3(c)给出了沿着当前点方向采用(2R+1)(2R+1)的二维统计窗口进行中值滤波的结果,结果也明显不正确。

基于上述分析可以知道,本文算法的主要过程,即对图像中的每个像素点,都沿该点方向上取一个(2R+1)的一维统计窗口,其中R为该统计窗口的半径,对该窗口进行中值滤波,并将中值结果赋予该像素点。为了更为详细地阐述算法的实现细节,以下给出该算法基于Matlab编程语言的实现过程,并给出非常详尽的注释:

function filter_img=median_filter(image,org_img,R)

%image:原始指纹图像;org_img:指纹方向场;R:一维滤波

窗口半径;filter_img:中值滤波后的图像

[row,col]=size(image);

%row:指纹图像的高度;col:指纹图像的宽度

template_X=zeros(1,2*R+1);

% template_X用于保存一维统计窗口中所有像素点的横坐标值

template_Y=zeros(1,2*R+1);

% template_Y用于保存一维统计窗口中所有像素点的纵坐标值

template_img=zeros(1,2*R+1); % template_img用于保存一维统计窗口中所有像素点的灰度值

%以下开始对图像中的每一个像素点进行中值滤波

for rows=2*R:row-2*R

for cols=2*R:col-2*R

cos0=cos(org_img(rows,cols)); %计算当前像素点方向的cos值

sin0=sin(org_img(rows,cols)); %计算当前像素点方向的sin值

for r=-R:R %计算一维统计窗口中所有像素点的横坐标、纵坐标值

template_X(1,r+R+1)=round(r*cos0+cols); %round为取整函数

template_Y(1,r+R+1)=round(rows-r*sin0);

end

for i=1:2*R+1 %得到一维统计窗口中的所有像素点的灰度值

template_img(1,i)=image(template_Y(i),template_X(i));

end

filter_img(rows,cols)=median(template_img); %对一维统计窗口中的所有像素点的灰度值进行中

值滤波,并将结果赋给当前像素点

end

end

3 实验结果

为了充分验证本文算法的有效性,这里在FVC 2002指纹库上做了大量的验证实验,其中窗口半径R=9。鉴于篇幅的限制,图4分别给出该指纹库中DB1,DB2,DB3,DB4中一组实验结果。实验结果表明,本文算法能取得较为满意的增强效果,是一种简单、有效的指纹图像增强算法。

4 结 语

首次将中值滤波算法运用于指纹图像增强方面,提出了一种更为简单的指纹图像增强算法,该算法的主要过程是:对图像中的每个像素点,沿该点方向上取一个(2R+1)的一维统计窗口,其中R为该统计窗口的半径,对该窗口进行中值滤波,并将中值结果赋予该像素点。通过针对FVC2002指纹库进行实验表明,该方法是一种简单、有效的指纹图像增强算法。

摘要:指纹增强对提高细节特征提取的准确率乃至整个自动指纹识别系统的性能实现都具有重要的意义。首次将中值滤波算法运用于指纹图像增强方面,提出了一种更为简单的指纹图像增强算法。该算法的主要过程是:对图像中的每个像素点,沿该点方向上取一个(2R+1)的一维统计窗口,其中R为该统计窗口的半径。对该窗口进行中值滤波,并将中值结果赋予该像素点。通过针对FVC 2002指纹库进行实验表明,该方法是一种简单、有效的指纹图像增强算法。

关键词:自动指纹识别系统,指纹增强,中值滤波,方向场

参考文献

[1]王波涛,蔡安妮,孙景鳌.生物图像识别技术及其应用[J].计算机工程与设计,2001(4):34-37.

[2]张成海,张铎.现代自动识别技术与应用[M].北京:清华大学出版社,2004.

[3]Jain A K,H Pankanti L S.An Identity-authentication Sys-tem Using Fingerprints[J].Proc.IEEE,1997,85(9):1 365-1 388.

[4]Jain A,Hong Lin,Bolle R.On-line Fingerprint Verification[J].IEEE Trans.on Pattern Analysis and Machine Intelli-gence,1997,19(4):302-313.

[5]Lee Chih-Jen.Fingerprint Feature Extraction Using GaborFilter[J].Electronic Letters,1999,35(4):288-290.

[6]章毓晋.图像工程(上册)图像处理和分析[M].北京:清华大学出版社,1999.

[7]Jain K,Prabhakar S,Chen S.Combining Multiple Matchersfor a High Security Fingerprint Verification System[J].Pattern Recognition.1999,20(11):1 371-1 379.

[8]Rafael C.Gonzalez,Richard E Woods.数字图像处理[M].2版.北京:电子工业出版社,2007.

[9]Lin Hong,Wan Yifei,Anil Jain.Fingerprint Image Enhance-ment Algorithm and Performance Evaluation[J].IEEETrans.on Pattern Analysis and Machine Intelligence,1998,20(8):777-789.

基于窗口的自适应中值滤波算法 篇6

图像去噪一方面是选择合适的滤波器,另一方面是要合理地检测出噪声,从而更好地保护图像的细节。文献[7]利用窗口3 × 3,判断是否是疑似噪声点,然后判断疑似噪声点是否是7 × 7 窗口的噪声点,最后确定准噪声点。文献[8]是通过人为设定的阈值,当窗口的像素点的灰度值与当前像素点的灰度值的差值超过设定的阈值,并计算出超出的像素点的个数,根据超出个数的大小来调节滤波窗口,从而达到滤波效果。文献[9]是首先采用3 × 3 的模板判断是否是疑似噪声点,再利用像素灰度值序列中两段子序列斜率的差值及模板区域内像素灰度值的均值自适应地判断疑似噪声点是否是真的噪声点。文献[10]采用0°,45°,90°,135°方向的模板进行噪声的检测,降低图像的失真度。文献[11]首先是采用椒盐噪声的0 或1 的特点判断噪声点,再利用可疑噪声点与邻域内其他像素点之间相关性的大小确定准噪声点。这些方法在噪声的检测方面取得了一定的效果,从而达到更好地滤波效果。

本文针对自适应的中值滤波( RAMF) ,提出了一种基于窗口的自适应的中值滤波算法。首先,根据椒盐噪声的特点在窗口3 × 3 中判断是否为极值点,即疑似噪声点,再在窗口5 × 5 和窗口7 × 7 判断是否是准噪声点,若是准噪声点,根据噪声的大小,选择合适的最大滤波窗口半径进行中值滤除。若不是,则原值输出。

1 自适应的中值滤方法

1. 1 噪声点检测

1. 1. 1 噪声点的初级检测

椒盐噪声是图像噪声中的一类,它是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。椒盐噪声的表现形式一般是像素点灰度值的最大值或者最小值。如图1 所示,根据椒盐噪声的特点可以通过窗口3 × 3 来判断当前像素点是否是疑似噪声点。

设W3min和W3max是窗口3 × 3 的像素点灰度值的最小值和最大值,fi,j为窗口3 × 3 的中心像素的灰度值,若fi,j等于窗口3 × 3 像素点的最大值和最小值,则fi,j为疑似噪声点,否则,fi,j为信号点。

1. 1. 2 噪声点的二级检测

窗口3 × 3 检测出的噪声点不一定就是真正的噪声点,如果把检测出的疑似噪声点都用中值替代,势必会使图像的细节丢失。因此,为了保留图像的更多地细节,需要更精确地检测图像中的噪声。尤其是现代生活中,人们接触到的图像大多都是内容和色彩很丰富,所以,噪声的检测方法对图像去噪是至关重要的。本文采用5 × 5 和7 × 7 的窗口对疑似噪声点进行二次检测,标记为W5和W7。W5min和W5max是窗口5 × 5 的像素点灰度值的最小值和最大值,而W7min和W7max是窗口7 × 7的像素点灰度值的最小值和最大值。如果fi,j等于W5min和W7min或者W5max和W7max,则疑似噪声点fi,j就是准噪声点; 否则,疑似噪声点fi,j是信号点。

通过表1 中的数据对比显示,当随着噪声密度的增加,RAMF和本文方法的对噪声的漏检率和误检率都越来越小,表明检测噪声的效果也越来越好。但是就本文提出的方法来说,随着噪声密度的增大,漏检率减小,但是没有RAMF的漏检率小,但是误检率却明显优于RAMF,综合以上的效果,本文方法在噪声检测方面优于RAMF。

1. 2 最大滤波窗口半径的确定

对含有噪声的图像,最大滤波窗口半径根据图像中噪声密度的大小PK来确定,当PK较小时,选择合适的较小的最大滤波窗口半径,确保在去除噪声的同时保留了更多细节; 当PK较大时,选择合适的较大的最大滤波窗口半径,加强对图像的去噪能力。根据以上原则,最大滤波窗口半径LK的选择如下

在同一噪声密度情况下,选取不同的最大滤波半径,通过观察对归一化的均方误差( MSE) 和峰值信噪比( PSNR) 的值,不同的最大滤波半径对应不同的归一化均方误差( MSE)和峰值信噪比( PSNR) ,当归一化均方误差( MSE) 较小时,峰值信噪比( PSNR) 较大时,选择最佳的最大滤波半径。采用此方法,对图像进行实验得出以上的结论,当噪声密度小于0. 3时,选择最大滤波半径为10 ; 当噪声密度处于0. 3 和0. 5 之间时,选取的最大滤波半径为20; 当噪声密度介于0. 5 和0. 8之间时,用最大滤波半径30 进行滤波; 当噪声密度大于0. 8时,选取最大滤波半径40,加强去噪能力。

2 算法实现流程

自适应的中值滤波算法流程总体上可以概括为以下:

1) 对图像区域的所有像素点用3 × 3 的窗口进行检测,若像素点的灰度值等于窗口3 × 3 的极大值或者极小值,则此像素点为疑似噪声点,其他为信号点;

2) 对第一步确定的疑似噪声点,进行进一步确认,当疑似噪声点等于窗口5 × 5 和窗口7 × 7 的极大值和极小值,则此疑似噪声点为准噪声点,其他为信号点;

3) 检测出准噪声点以后,再根据图像中噪声密度的大小,选取合适的最大滤波半径;

4) 上述步骤进行完成后,对检测出的准噪声点的灰度值用滤波窗口的中值代替输出,其他信号点原值输出,从而合成新的图像。

3 实验结果与分析

3. 1 实验结果评价方法

本文采用主观和客观两种方法对实验结果进行评价: 主观方法是对图像滤波后,通过人眼直接观察出滤波效果; 客观方法是计算出具体的峰值信噪比( Peak Signal to Noise Ratio,PSNR) 和均方误差( Mean Square Error,MSE) 的值,通过比较对图像滤波效果进行评价,参数定义如下

式中: X( i,j) 和Y( i,j) 分别为滤波前后的像素灰度值; mn为处理图像的大小; max为滤波前图像像素点灰度的最大值。

3. 2 实验结果

本实验采用1 幅大小为512 × 512 的Lena图像进行结果验证,图像灰度级为255。使用MATLAB 2012 对各个算法进行仿真分析,包括RAMF、开关中值滤波[4]、自适应中值滤波[13],并与本文算法进行比较。

对原始图像加入30% 和70% 的噪声,不同算法的滤波效果如图2 和图3 所示。

图4 显示了噪声密度在10%~90% 的变化的情况下,各种滤波算法的滤波效果MSE和PSNR的曲线图。

从图2、图3 和图4 可以得出: 在主观方面,通过图2 和图3 可以直接的观察出在噪声密度30% 情况下,自适应滤波方法的滤波效果优于开关滤波,而RAMF滤波优于自适应滤波方法,本文方法优于RAMF滤波方法,随着噪声密度的增大为70% 时,RAMF的滤波效果最差,本文的滤波效果最好; 在客观方面,通过图4 的NMSE图和PSNR图可以观察出不同的噪声密度下,参数的具体数值,通过4 种滤波方法的数据的比较,可以更精确地得出,本文的滤波效果更好,且保护了更多的图像细节。

4 总结

改进的中值滤波 篇7

关键词:中值滤波,图像增强,MATLAB

0 引言

图像增强能将并不清晰的图像处理变换为清晰, 或者抑制图像的某些特征而增强另一些特征, 其设计目的是消除图像中的混杂干扰因素, 增加图像的信噪比, 改善图像质量, 进而增强图像的视觉效果[1]。

经过研究知道, 图像增强可通过对图像进行滤波处理而实现。滤波可以分为空域和频域滤波, 而空域滤波又可分为线性滤波和非线性滤波, 并且非线性滤波则包括了中值滤波、顺序统计滤波和自适应滤波。本文主要介绍非线性滤波范围内的中值滤波的理论基础、算法思想、MATLAB下的算法实现以及实验结果分析, 最终又给出了相应的实验结论。

1 中值滤波算法

中值滤波是一种保护边缘的非线性图像平滑方法, 在图像增强中具有广泛应用。中值滤波器输出的像素值则为相应像素邻域内的中值。若将其与均值滤波器相比较可知, 中值滤波器对图像的异常值不够敏感, 因此, 在不减小图像对比度的情况下, 中值滤波器可以降低图像异常值的作用或影响。中值滤波算法的特点是在去除噪音的同时, 还可以有效地保留图像的边沿锐度以及图像细节[2]。

1.1 算法原理

中值滤波算法的基本原理是将数字图像或数字序列中一点的值, 而用该点的某邻域中各点值的中值进行相应代换[3]。在此, 假设f (x, y) 表示数字图像像素点的灰度值, 滤波窗口 (窗口可以为方形、十字形、圆形等) 为A的中值滤波器即可定义为:

其中, 可以将式 (1) 看作是滤波器模板区域内像素的中值, 而且也是滤波器的结果值。

1.2 算法实现

根据中值滤波算法原理, 可以将模板区域内的像素进行排序, 以便更好地求出中值。对于某一数列X1, X2, …, Xn, 可以将其从大到小进行排列, 即有X'1

通过式 (2) 选择中间值作为中值滤波的结果值。例如:3×3的模板, 第5大的是中值;5×5的模板, 第13大的是中值;7×7的模板, 第25大的是中值;9×9的模板, 第41大的是中值。对于连续排列的同值像素, 诸如 (10, 15, 20, 20, 20, 20, 20, 25, 100) 则取中间值“20”, 作为中值。

1.3 medfilt2函数

在MATLAB中, 可用medfilt2函数实现中值滤波, 该函数的调用方法如下:

(1) K=medfilt2 (B, [m, n]) , 对图像B进行中值滤波, 输出的每个像素为m×n邻域的中值。

(2) K=medfilt2 (B) :m和n的默认为3, 再对B进行中值滤波。

2 仿真实验

本文是以MATLAB7.6作为仿真实验平台。MATLAB软件表现出众多突出优点, 例如简单的程序编写, 卓越的可视化功能数据, 以及强大的可操作性, 特别在图像处理方面有着完备的工具箱功能和丰富的专业函数, 故而可堪称是一款优质的图像处理工具软件[4]。

2.1 椒盐噪声的滤除实验

对原始图像添加密度为0.08的椒盐噪声, 对含有椒盐噪声的图像执行大小为3×3、5×5、7×7、9×9模板中值滤波。应用MATLAB图像处理工具箱函数imnoise () 实现椒盐噪声的添加, 同时运用函数medfilt2 () 来实现不同大小模板中值滤波。具体的代码实现如下:

程序运行后, 中值滤波对椒盐噪声的滤除对比效果如图1所示。

title (’添加0.08椒盐噪声’) ;

2.2 多种不同噪声的滤除实验

对原始图像分别添加密度为0.08的椒盐噪声;均值为0, 方差为0.04的高斯噪声;方差为0.06的乘性噪声, 对添加噪声的图像执行模板为9×9的中值滤波。具体代码实现如下:

程序运行后, 中值滤波去除多种不同噪声的对比图像效果如图2所示。

3 实验结果与分析

对图像的评价分为主观评价和客观评价, 因为图像的接受者是人, 人眼观察到的效果直接影响评价结果。由主观评价得到, 从图1用眼睛直接观察到, 添加了密度为0.08的椒盐噪声, 成像视图发生了重度降质, 而对含有椒盐噪声的图像执行3×3、5×5、7×7、9×9模板中值滤波, 椒盐噪声则被明显滤除。同时, 经过中值滤波后的图像与原始图像越发接近, 而且模板越大滤除效果越好, 可见中值滤波能有效地滤除图像中的椒盐噪声。

对图2的多张图像进行比较, 可以得到, 中值滤波除了对椒盐噪声能有效去除外, 还对高斯噪声和乘性噪声具有较好的滤除效果。图像的特征部位经过中值滤波之后也得到了显著呈现, 而与原始图像对比, 相似度很高。综上可知, 中值滤波对常见的椒盐噪声、高斯噪声以及乘性噪声都能做到高度有效的成功滤除。

4 结束语

中值滤波是通过选择滤波器模板的中值对含有噪声的图像执行噪声滤除。[5]本文介绍了中值滤波能够有效地增强图像的功能作用, 再通过对中值滤波算法的原理进行了分析, 同时也给出了在MATLAB下的仿真对比试验。试验表明中值滤波不但能有针对地滤除图像中的密度较大的椒盐噪声, 而且对高斯噪声和乘性噪声也有很好的滤除效果, 但是在有关高斯噪声和乘性噪声滤除的试验中, 有些细节部分的滤除效果还未臻理想, 为此仍有待更进一步的研究和探索。

参考文献

[1]王家卫.MATLAB7.6图形图像处理[M].北京:国防工业出版社, 2009.

[2]张岩.MATLAB图像处理超级学习手册[M].北京:人民邮电出版社, 2014.

[3]李艳梅.图像增强的相关技术及应用研究[D].成都:电子科技大学, 2013.

[4]杨丹, 赵海滨, 龙哲.MATLAB图像处理实例详解[M].北京:清华大学出版社, 2014.

改进的中值滤波 篇8

在硬件实现上,文献[1]、[2]等采用行延迟的方法形成邻域数据,以实现3×3的中值滤波。文献[7]为了提高红外成像跟踪器设计了大窗口的中值滤波器。文献[3]、[4]提出了邻域图像帧存的存储结构,该结构充分利用了图像帧存的数据结构转换特性,并行高速提供邻域图像数据,配以FPGA作为并行处理器,高速实时地实现了中值滤波。但是以上研究都是基于标清图像的中值滤波器,处理的图像大小一般为256×256、512×512的灰度图等,很少有实现高清图像的中值滤波器。本文在文献[3]、[4]的理论基础上,在苏光大主持研制成功的NIPC-3邻域图像并行处理机上实时实现了1 920×1 080×8 bi的高清图像的中值滤波器。该系统的硬件是基于一个标准的PCI板卡,Altera公司的Cyclone II FPGA是图像处理系统的核心,此外,该板卡还包括了若干片SRAM、视频采集转换芯片、CPLD和PCI接口芯片。NIPC-3硬件处理的结果由PCI传到计算机做后续处理,是软硬件结合的系统。

1 快速二维中值滤波器算法

本文中值滤波器排序算法用文献[2]提出的快速排序算法。如图1,将3×3窗口内的各个像素分别定义为M11、M12、M13、M21、M22、M23、M31、M32、M33。首先分别对窗口中的每一行计算最大值、中值,最小值不难判断。9个数值中,3个最大值中的最大值和3个最小值中的最小值一定是9个像素中的最大值和最小值;3个中值中的最大值至少大于5个像素:即本行中的最小值和其他2行的中值及最小值;而3个中值中的最小值至少小于5个像素:即本行中的最大值和其他两行中的中值及最小值。最后,比较3个最大值中的最小值Min_of_Max,3个中值中的中值Med_of_Med,3个最小值中的最大值Max_of_Min,得到中间值即为滤波的最后结果Med_of_Nine。

利用这种排序法的中值滤波运算仅需17次比较,且该算法十分适用于在FPGA上做并行处理,大大提高了滤波的速度。

2 FPGA硬件实现

邻域图像并行处理机是一种以邻域图像帧存提供邻域图像数据、以邻域图像处理器并行邻域图像处理的图像并行处理机,其本质是邻域数据(即多数据)的并行处理[4]。中值滤波系统框图如图2所示,主机通过PCI接口将待处理数据写入共享RAM,数据再由共享RAM转入邻域存储体,利用行顺序邻域生成方法[3],将数据由串行转化为并行,实现处理并行,达到数据的高速处理。邻域存储体是由4片SRAM组成,型号是IS61SP6464,位宽为64 bit,一次可以存取8个字节,4片SRAM并行排列,一个时钟周期最多可以吞吐32个字节。见图3,考虑一个N1×1的随机邻域,N2个时钟周期就可以得到N1×N2大小的邻域。然后再将中值滤波模块结果通过FIFO缓存写入共享RAM,传到PC机显示。

2.1 分块存储方法和并行运算结构

如图4,以256×256大小的图像为例,将其划分为8个256行32列的图像块,中值滤波运算就是按照块的顺序,对每块图像从上到下进行[5]。每一次存储体访问读出一行邻域后,通过流水线队列即可形成n×32的邻域,对于中值滤波算法n为3。为了最大化地提高图像处理速度,采取了32个3×3邻域的并行计算。但是构造32个3×3邻域,需要额外增加2列数据,组成3行34列的运算矩阵。这额外的2列数据正是前一图像块的最右端的2列,为了后续运算的需要,已经保存在RAMa或RAMb中了。RAMa、RAMb的作用是实现乒乓RAM操作,例如向RAMa中写当前图像块的最右端2列时,处理单元同时从RAMb中取出前一个图像块的最右端2列数据参与运算。运算单元架构如图5,这样每一次并行计算就得到了32个8 bit的结果,对应32个结果像素,即图5中的result为256 bit。

2.2 FIFO缓存

共享RAM芯片采用了Cypress公司的CY7C1380,这是一款32 bit位宽、2 MB容量的同步SRAM。因为系统采用流水线结构,一个clk即可产生256 bit的结果,需要写入到32 bit的SRAM,如果不加入缓冲器,必定会有结果数据的丢失,为此,加入一个FIFO,将256 bit结果分8次写入共享RAM,每次写32 bit,这样,FIFO完成了写快读慢的缓冲过程。FIFO的深度取决于需要缓冲的数据量,缓冲的数据量取决于写速率和读速率,见式(1)。

3 FPGA实验结果

图6(a)是从高清摄像机随机采得的带噪图像,从图6(b)可看出本文设计的针对大图像(1 920×1 080)的中值滤波器有较好的去噪效果。

整个电路结构采用Verilog编写,该中值滤波器能达到的最大工作频率为60 MHz,该中值滤波器对如图6所示的1 920×1 080灰度图执行中值滤波的时间约为10 ms,这个速度要比实时快4倍。为了突出本文设计的中值滤波器的性能,本文采用512×512的灰度图做实验。将本文设计的中值滤波器与文献[1]、[3]设计的中值滤波器的性能比较,可以看出,本文设计的中值滤波器的处理速度约为文献[1]方法的8倍,约为文献[3]方法的20倍,如表1所示。

本文针对NIPC-3的特点,用适合并行处理的存储方法,成功实现了1 920×1 080大小图像的实时中值滤波系统。该系统有较好的去噪效果,同时在速度上完全满足实时需要,是一个高速且完整的系统。该系统可以用于高清视频图像的预处理,有很大的实用价值。

参考文献

[1]石婷,张红雨,黄自立.基于Stratix II EP2S60的改进中值滤波器的设计实现[J].国外电子元器件,2007(1):12-15.

[2]徐大鹏,李从善.基于FPGA的数字图像中值滤波器设计[J].电子器件,2006,29(4):1114-1117.

[3]苏光大.实时中值滤波器的实现[J].电视技术,1999(5):25-27.

[4]苏光大.邻域图像处理机中的新型邻域功能流水线结构[J].电子学报,2000,27(2):1-4.

上一篇:血清免疫学功能下一篇:信号波形特征提取