基于FPGA改进中值滤波算法探究及实现

基于FPGA改进中值滤波算法探究及实现【摘要】图像噪声的滤除是图像处理的关键,影响着图像处理的全过程。传统的滤波算法为均值滤波和中值滤波。本文在对中值滤波算法对图像降噪效果分析的基础上提出了一种改进的算法,既能有效地滤除椒盐噪声和高斯噪声,又能最大限度地保留图像的边缘细节。【关键词】图像噪声滤波FPGA【中图分类号】TN713【文献标识码】A【文章编号】1009-9646(2008)08-0190-021改进非线性滤波算法的提出在噪声的数字信号处理中,主要研究的是高斯噪声和椒盐噪声对图像信号的污染的改善。图像预处理的目的是改善图像数据,抑制不需要的变形或者增强某些对于后续处理重要的图像特征。目前最常用的图像去噪滤波器是线性滤波器和非线性滤波器。线性滤波器是域平均法也称均值滤波法,其算法是在像数据的窗口内的中间位置的值用窗口内所有像素数据的平均值取代。线性滤波器对高斯噪声具有良好的滤出作用,然而,当信号频谱与噪声频谱混叠时或者当信号中含有非叠加性噪声时,线性滤波器的处理结果就很难令人满意。而且均值算法会破坏图像边缘,模糊图像细节。不利于特征识别,而且也不能有效滤出椒盐噪声[1]。中值滤波器是基于次序统计完成信号恢复得一种典型的非线性滤波器,是一种减少边缘模糊的非线性平滑方法,其基本原理是把数字图像或数字序列中心位置的值用该点邻域的中值替代[2]。中值滤波算法的特点是在去除噪音的同时,可以比较好地保留边的锐度和图像的细节在有序的一系列表中,中值是指位于中心的值。邻域中亮度的中值不受个别噪声毛刺的影响,因此中值平滑相当好地消除了冲激噪声⑶。根据对各种噪声滤出的算法和效果的分析,设计了一种改进的中值滤波器进行滤波,它是一种邻域运算,类似域卷积,但不是加权求和,其基本原理是把计算窗口中包含中间像素点的左上角、右上角、左下角和右下角的四个子邻域的均值,选择最大值作为输出像素值,这样既能滤出椒盐噪声,又可以滤出高斯噪声,同时也能最大限度地保持图像地细节。并且也很方便地利用FPGA实现。其算法表达式为:最后取最大的作为输出像素值,即(5)式中:g(x,y),f(x,y)为像素灰度值。2FPGA实现方法设计采用的是3X3模板处理图像为128X128X8像素的灰度图像。总体设计方案如图1所示[4]。由图1可知,整个系统设计分为3大模块:3X3模板生成模块、中值滤波模块和行列计数器模块。D(7:0)为灰度图像数据输入端。整个系统有统一的时钟信号elk和复位信号RST;DOUT(7:0)为图像数据输出端;DV为输出数据有效标志。下面分别介绍各模块功能和设计方法。2.13X3模板生成模块该模块原理框图如图2所示。图中r代表移位寄存器;FTFO代表先进先出存储器。图像数据以时钟节拍从数据输入端依次输入。FIFO用来存储一行的数据。以便使wll.wl2---w33存放的正好是3X3模板所对应的图像数据,如表1所示。当数据流不断从数据输入端输入时,3X3模板对应的图像数据不断地跟着变化,这就可以对一帧图像的所有像素都进行3X3模板处理[5]。2.2中值滤波模块该模块部分原理框图如图3所示。改进的中值滤波模块其基本原理是对3X3模板中的左上、左下、右上、右下四个子领域的2X2窗口的数据取均值rll.rl2.r21.r22进行排序。最后取排序中最大值作为中心像素点的数值输出。2.3行列计数器模块该模块结构如图4所示,图中:RSTN为复位端直接与全局复位信号Rs相连;EN为使能端;C1K为时钟输入端;rowpos为图像行位置标志;colpos为图像列位置标志。该模块比较简单只是起到计数功能,用来确定数据在图像阵列中的位置。通过该模块可以确定一幅图像是否到达边缘,或者传输完毕。图4行列计数模块结构图计数部分VHDL源代码如下:architecturerccounterofrccounterisbeginprocess(RSTn,Clk,En)variableColPos_var:intener:=0;variableRowPosvar:intener:=0;beginifRSTnJ0’thenColPosvar:二1;ColPos本文为全文原貌未安装PDF浏览器用户请先下载安装原版全文

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?