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

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

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGA改进中值滤波算法探究及实现

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

文档评论(0)

docman126 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7042123103000003

1亿VIP精品文档

相关文档