中值滤波器fpga实现

中值滤波器fpga实现

ID:14194133

大小:511.50 KB

页数:10页

时间:2018-07-26

中值滤波器fpga实现_第1页
中值滤波器fpga实现_第2页
中值滤波器fpga实现_第3页
中值滤波器fpga实现_第4页
中值滤波器fpga实现_第5页
资源描述:

《中值滤波器fpga实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、课程设计报告书《数字信号处理及系统设计》中值滤波-FPGA设计设计人:袁兴班级:硕研10级3班学号:2010010339山东科技大学中值滤波器的设计及FPGA实现中值滤波器-FPGA实现■前沿对于许多图像处理问题,传统的线性滤波方法存在着固有的缺陷。为此,最近几十年来,发展起来了一类新的非线性滤波器结构—中值滤波器。这类滤波器在图像信号处理中具有独特的优势,目前已成为非线性滤波领域的一个研究点。针对传统中值滤波算法排序量多、速度慢的缺点,提出了一种基于FPGA的中值滤波快速算法。充分利用两个相邻滤波窗口中的相关排序信息,随着一列新像素的移入,同时更新已有的排序信息,从而完

2、成中值滤波处理。该算法将每个窗口查找中值的比较次数降到很低,达到了快速抑制噪声及保持图像细节的目的。中值滤波器设计的原理中值滤波是一种非线性滤波方法,于1971年首次提出[1]。它首先对邻域点的灰度值进行排序,然后选择中间值作为输出灰度值。中值滤波的公式如下:g(x,y)=med(f(x-i,y-j))i,j∈S(1)其中,g(x,y)和f(x,y)为像素灰度值;S为模板窗口。中值滤波要实现的是用中值g(x,y)来代替中心点值f(x,y)。对于椒盐噪声来说,由于模板的中值很大程度上不会是噪声,因此中值滤波能很好地消除它。当中心点值为噪声时,其值和中值数值相差较大,应该用中

3、值来代替中心点值。但是,当中心点值不为噪声时,其值和中值数值相差不大,如果还用中值来代替中心点值,那么虽然对于单个像素点来说,不会产生较大的差异,但是如果对一整幅图像都进行这样的处理,这将在一定程度上使整幅图像变得模糊。据此,可以对中值滤波算法做一些改进。首先,排序窗口内的图像数据,找到中值。然后将中值和中心点值做差,将差值与事先设定的阈值T进行比较,如果两值之差的绝对值

4、g(x,y-f(x,y)

5、大于等于阈值T,则认为中心点图像数据是噪声,用中值代替原数据值;如果两值之差的绝对值

6、g(x,y-f(x,y)

7、小于阈值T,则认为中心点图像数据是有效数据,保持不变。即2)其中

8、,g(x,-9-中值滤波器的设计及FPGA实现y)如式(1)中定义。阈值T的选择应该针对不同的图像,根据经验或者实验进行选取。如果阈值选择过大,将有可能滤除不掉噪声;如果阈值选择过小,将仍会使图像变得模糊。由于噪声和周围像素相差较大,也和中值相差较大,因此阈值一般选择在几十左右。这样,滤波处理之后的图像在除去噪声的同时会更加接近于原图像,能在更大程度上保留图像细节,使图像更清晰。■中值滤波的快速算法我们都知道,冒泡排序算法,在中值滤波中,是最基本、最经典的传统通用算法。很多经过改进后的优化版本的快速算法和经过推广衍生后的性能增强的中值滤波算法,都是基于这个冒泡排序算法的原

9、理而产生的。我们下面将会着重描述的中值滤波的快速算法,就是在这个冒泡算法上,经过修改优化得到的。这个快速算法的理念就在于,我们没有必要对输入窗口中的所有灰度值都进行排序,也不需要得到它们的完整序列。我们只需要找到那个排列在中间位置的值就可以了。它包含了以下所罗列出来的三个步骤:第一步:对输入窗口中的每一列的灰度值,形成一个象素数组,并且对每一个象素数组进行单独的排序。第二步:对输入窗口中的每一行的灰度值,也形成一个类似的象素数组,并且同样对每一个象素数组进行单独的排序。第三步:经过排序之后,形成了新的输入窗口,这个窗口在行和列中都已经得到了排序,对现在排序之后的输入窗口中

10、的对角线上的所有灰度值进行排序,并且选出这一个对角线上所有灰度值的中间值,然后这个中间值就是整个输入窗口的中值,也就是要作为最后输出的那个中值。我们可以得到这样一个快速算法。就是在特殊的3×3的象素大小的输入窗口的情况下,有九个数据需要被处理。那么我们就顺便按照物理位置将这个九个象素点分成列的三组,然后分别进行排序,得到每一列数据的最大值、中间值和最小值。然后对三个最大值、三个最小值和三个中间值进行排序,得到的结果,我们只取三个数,也就是三个最大值中的最小值,三个中间值中的中间值和三个最小值中的最大值。这三个值对应上面的那个说法,就是经过两个步骤之后,行和列都已经排序完了

11、之后的一个对角线上的三个值。这三个值最后经过排序得到的中间值,就是整个输入窗口中九个象素点的灰度值中的中间值了。中值滤波的快速算法的过程如下图1所示:-9-中值滤波器的设计及FPGA实现图1在输入窗口大小为3X3的情况下的中值滤波快速算法中值滤波算法核心是排序,排序算法的优劣直接决定了求取中间值的效率。从而决定滤波器的整体性能。基于硬件的排序算法设计可以充分的利用硬件平台的并行性特点,从而达到加快处理的速度目的。下面分析3X3窗口图像数据的数学模型,说明中间值的求得过程。设窗口的数据分别为:W11W12W13W21W22W23

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。