首页 自适应滤波算法与实现 一种自适应中值滤波器算法的FPGA实现

自适应滤波算法与实现 一种自适应中值滤波器算法的FPGA实现

举报
开通vip

自适应滤波算法与实现 一种自适应中值滤波器算法的FPGA实现自适应滤波算法与实现 一种自适应中值滤波器算法的FPGA实现 一种自适应中值滤波器算法的FPGA实现 作者:王敬美 指导老师:杨春玲 (哈尔滨工业大学电气工程及自动化学院,哈尔滨,150001) Email: 摘要:在数字图像的生成和采集过程中,由于受工作环境、器件性能的影响,使得任何一幅未经处理的原始图像,都存在着一定程度的噪声干扰。这些干扰恶化了图像质量,给后续分析带来困难。因此,需要对数字图像进行滤除噪声处理。本文基于Cyclone II FPGA,在3×3图像采样窗口的基础上,将窗口尺寸扩展到5×...

自适应滤波算法与实现 一种自适应中值滤波器算法的FPGA实现
自适应滤波算法与实现 一种自适应中值滤波器算法的FPGA实现 一种自适应中值滤波器算法的FPGA实现 作者:王敬美 指导老师:杨春玲 (哈尔滨工业大学电气工程及自动化学院,哈尔滨,150001) Email: 摘要:在数字图像的生成和采集过程中,由于受工作环境、器件性能的影响,使得任何一幅未经处理的原始图像,都存在着一定程度的噪声干扰。这些干扰恶化了图像质量,给后续分析带来困难。因此,需要对数字图像进行滤除噪声处理。本文基于Cyclone II FPGA,在3×3图像采样窗口的基础上,将窗口尺寸扩展到5×5,并与3×3中值滤波器、5×5中值滤波器相结合,在FPGA中实现了一种自适应中值滤波器;并把滤波处理后像素点的灰度值作进一步的伪彩色增强变换。这样通过自适应中值滤波加伪彩色增强,在对图像去除噪声 1 并尽可能减少图像细节损失的同时,增强了图像信息的表现 力。 经实际测试表明,本文的数字图像自适应中值滤波器具有 速度快、滤波效果好、抗干扰能力较强等优点。 关键词:数字图像处理;FPGA;中值滤波;自适应; One Adaptive Median Filter Algorithm Using FPGA Author: Wang jingmei Tutor: Yang chunling (School of Electrical Engineering and Automation of HIT, Harbin, 150001) Email: Abstract:When the digital images are made and collected, work environment and character of device, give lots of disturbing to the original images. The disturbing worsens the image quality, and gives lots of difficulties to analysis. So, filtering the noises is necessary. In this paper, based on Cyclone II FPGA, using 3×3 image window and 5×5 image window, combine 3×3 median filter and 5×5 median filter, realizing an adaptive median filter. Some false color enhancement transform step is used. With the using of adaptive median filter and false color enhancement, we can not only filter the noises and save the image’s detail, but also 2 can enhance the image’s information. According to experiment’s results, the adaptive median filter in this paper has the advantages of high speed, higher performance and high anti-interference ability. Key words: image treatment; FPGA; median filter; adaptive 0 引言 由于数字相机本身的问题以及周围环境对图像传输路径的 干扰和影响,使得数字图像在生成和采集过程中会引入许多 噪声干扰,这些干扰恶化了图像质量,使图像模糊,甚至淹 没目标特征,给后续的分析处理带来困难。因此需要对图像 进行滤除噪声处理。 在图像处理中,中值滤波对干扰脉冲和点状噪声有良好的 抑制作用,还能较好的保护图像的边缘信息。但是普通的3×3 中值滤波器只是简单的将3×3图像采样窗口的9数个像素数 据进行排序,用中值代替窗口中心像素原来的灰度。这必然 会导致在去除噪声干扰的同时使图像变得模糊,损失细节。 本文中的自适应中值滤波算法不再是简单的用图像窗口数 据的中值替换原中心像素,而是加入了自适应比较算法,可 以处理具有更大概率的冲激噪声;而且在平滑非冲激噪声时 可 以保存细节,这是传统的中值滤波器做不到的。另一方面 3 随着数字技术日益广泛的应用,以FPGA为代表的ASIC器件得到了迅速普及和发展,器件集成度和速度都在高速增长。并且FPGA有着规整的内部逻辑块阵列和丰富的连线资源,特别适合细粒度和高并行度结构特点的数字信号处理[1]。对图像的滤波预处理,它的特点是处理数据量大。如果用一般的软件来实现势必会比较慢,实时性差。针对图像滤波运算结构比较简单、处理数据量大的特点,利用FPGA,并结合VHDL语言编程灵活的特点,可以方便地实现系统级的 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 ,大大提高数字图像滤波处理的效率。 1 算法原理 1.1 自适应中值滤波算法原理 中值滤波是一种非线性的图像处理方法。它通过从图像中的某个采样窗口取出奇数个数据进行排序得到中值,用中值代替窗口中心像素原来的灰度,其数学表达式为: g(x,y)=median{f(m,n)} (1) 中值滤波以窗口的中值作为处理结果,实现起来很简单[2]。本文的自适应中值滤波算法是以基本的中值滤波算法为基础,但不再是简单的用图像窗口数据的中值替换中心像素,而是需要经过进一步的自适应比较判断来决定中心像素的数据。算法描述如下: Sxy为采样图像窗口,考虑如下符号[3]: zmin——Sxy中灰度级的最小值 zmax——Sxy中灰度级的最小值 4 zmed——Sxy中灰度级的中值 zxy ——在坐标(x,y)上的灰度级 Smax——Sxy允许的最大尺寸 自适应中值滤波算法工作在两个层次,定义为A层和B层,如下所示: A层: A1=zmed,zmin A2=zmed,zmax 如果A1,0且A2,0,则转到B层 否则增大窗口尺寸 如果窗口尺寸?Smax,则重复A层 否则输出zmed B层: B1=zxy,zmin B2=zxy,zmax 如果B1,0且B2,0,则输出zxy 否则输出zmed 在本文中的自适应中值滤波算法,取Smax为5×5。一般的中值滤波器都为3×3的图像采样窗口,本文在3×3窗口的基础上,将图像采样窗口尺寸扩展到5×5, 并与3×3中值滤波器、5×5中值滤波器相结合,实现了自适应中值滤波。下面将详细讲述基本的算法原理。 首先是3×3中值滤波器进行中值zmed、最大值zmax和最小值zmin的求取,将中值与最大值和最小值进行比较,如 5 果中值位于两者之间,这说明中值不是脉冲像素(极值),接下来就转入下一步判断中心像素zxy是不是位于最大值和最小值 之间。如果是,那就说明zxy也不是脉冲(极值),所以输出zxy,而不用中值zmed去替换中心像素;如果否,中心像素zxy肯定是极值脉冲(等于zmin或zmax),因此用中值替换它。如果第一步中,中值与最大值和最小值进行比较,没有位于两者之间,那就说明zmed肯定是极值脉冲(等于zmin或zmax),因此扩大图像窗口尺寸到5×5,重复上述步骤,如果仍不能找到一个非脉冲的中值zmed,就输出3×3中值滤波器求出的zmed。这种自适应中值滤波算法可以保留部分图像原有的像素,从而也就避免了不必要的细节损失;还可以在不满足滤波要求的时候扩大采样窗口,从而使滤波效果更好。 为实现本算法,本文中的3×3中值滤波器和5×5中值滤波器不但要求出中值,还要求出每次图像窗口中的最大值和最小值。下面介绍这两种滤波器通过排序求 [4]取这三个值的简便方法。以5×5中值滤波器为例。 图1说明了采用本排序算法对5×5的图像窗口求取中值、最大值和最小值的步骤。图中的步骤(1)是把图1(a)5×5的图像窗口像素各列沿箭头方向作降幂排列;步骤(2)接着把经过列降幂排列的每行像素沿箭头方向作行降幂排列, 6 得到图1(d)的结果。在图1(d)中对各点数据在25个像素点中所处的位次进行判断,可以得到如下的结论,其中: m11为25个像素数据中的最小值,m55为25个像素数据中的最大值; m12小于或等于其所在的原始列中的四个像素值和m13、m14、m15所在原始列的所有像素值(小于等于4+3×5=19个值),所以不可能为中值(中值排在第13位); m13小于或等于其所在的原始列中的四个像素值和m14、m15所在原始列的所有像素值(小于等于4+2×5=14个值),所以不可能为中值; m21小于或等于其所在的原始列中的三个像素值和m22、m23、m24、m25所在原始列的四个像素值(小于等于3+4×4=19个值),所以不可能为中值; m22小于或等于其所在的原始列中的三个像素值和m23、m24、m25所在原始列的四个像素值(小于等于3+3×4=15个值),所以不可能为中值; m31小于或等于其所在的原始列中的2个像素值和m32、m33、m34、m35所在原始列的三个像素值(小于等于2+4×3=14个值),所以不可能为中值; m54大于或等于其所在的原始列中的四个像素值和m51、m52、m53所在原始列的所有像素值(大于等于4+3×5=19个值),所以不可能为中值; m54大于或等于其所在的原始列中的四个像素值和m51、 7 m52所在原始列的所有像素值(大于等于4+2×5=14个值),所以不可能为中值; m45大于或等于其所在的原始列中的三个像素值和m41、m42、m43、m44所在原始列的四个像素值(小于等于3+4×4=19个值),所以不可能为中值; m44大于或等于其所在的原始列中的三个像素值和m41、m42、m43所在原始列的四个像素值(小于等于3+3×4=15个值),所以不可能为中值; m35大于或等于其所在的原始列中的2个像素值和m34、m33、m32、m31所在原始列的三个像素值(小于等于2+4×3=14个值),所以不可能为中值; 这样就排除掉12个值,不再参与下一级的比较。剩下的13个值通过步骤(4),沿图1(d)箭头所示对角线方向做降幂排列得到图1(e)的结果。在图1(e)中对各点数据在13个数据中所处的位次进行判断,可以得到如下的结论,其中: D52至少大于或等于其所在的原始列中的2个像素值或1个像素值(如果D52原来位于m25的位置)和D43、D34、D25所在原始列的所有像素值(大于或等于2+2×3+2=10或1+3×3=10个值),所以不可能为中值(中值排在第7位); D43至少大于或等于其所在的原始列中的2个像素值或1个像素值(如果D43原来位于m25的位置)和D34、D25 8 所在原始列的所有像素值(大于等于2+1×3+2=7或1+2×3=7个值),所以不可能为中值; D34至少大于或等于其原始位置左侧和上方的四个值,以及D25所在原始位置左侧和上方的四个值(至少大于等于4+4+1=9个值),所以不可能为中值; D51至少大于或等于其原始位置上方的1个值(如果D51原来位于m51的位置)和D42、D33、D24、D15以及它们上方的所有像素值(至少大于等于1+7=8个值),所以不可能为中值; D42至少大于或等于其原始位置上方或左侧的1个值(如果D42原来位于m51或m15的位置)和D33、D24、D15以及它们左侧和上方的所有像素值(至 少大于等于1+6=7个值),所以不可能为中值。 同理,也可以判断出D14至少小于或等于10个值;D23小于或等于7个值;D32小于或等于9个值;D15小于或等于8个值;D24小于或等于7个值,所以这几个像素点都不可能为中值; 这样就又排除掉10个值,不再参与下一级的比较。经过两步排除,剩余三个值D41、D33、D25,经过第(5)步,沿箭头方向的对角线作降幂排列,得到图1(f)的结果,中值N33就为25个像素的中值。 3×3中值滤波器对3×3图像窗口求取中值、最大值和最小 9 值的方法与5×5的类似,但要简单的多。图2说明了3×3中值滤波器对3×3图像窗口求取中值、最大值和最小值的步骤。 图1 5×5图像窗口求取中值、最大值和最小值步骤 图2 3×3图像窗口求取中值、最大值和最小值步骤 1.2 伪彩色增强算法 本文中的中值滤波算法进行图像处理的时候依据的是各个像素点的灰度值,或者说处理的是灰度图像。而我们知道,除了灰度(亮度)信息之外,人眼还可以分辨不同的伪彩色。因此,把人眼无法区别的灰度变化施加以不同的彩色来提高识别率,这是伪彩色增强的基本依据。把经过自适应中值滤波处理后输出的各个像素点的灰度值作进一步的伪彩色变换,可以在去掉噪声的同时起到增强图像信息的作用。 要从一幅灰度图像生成一幅彩色图像,是一个一到三的映射。显然,由少量的信息获得多的信息量一定需要有关联性的运算,这必然是基于估计原理。也就是说,对未知的部分,通过各种手段进行合理的估计,由原来的灰度分量(亮度值)分解为可以用R、G、B三种基色的组合表示。可以定义如图3所示的灰度到R、G、B通道的不同映射方式。 图3 中的横坐标为 ( x,y 10 )处像素的灰度值 F( x,y ) ,纵坐标为 R 、G、B三个颜色 分量的映射值Gr( x,y )、 Gg(x,y)、 Gb(x,y),每个量都按照8位二进制数来表示[5]。 图3 Y到RGB伪彩色的转化函数 由图可得到以下的变换公式: ?0??255[F(x,y)?128]Gr(x,y)=?64??255?F(x,y)?(0,128)F(x,y)?(128,192) (2) F(x,y)?(192,255) ?255F(x,y)?(0,64)?64F(x,y) ??F(x,y)?(64,192) (3) Gg(x,y)=?255 ??255?255[F(x,y)?192]F(x,y)?(192,255)?64? ?255F(x,y)?(0,64)?255?Gb(x,y)=?255?[F(x,y)?64]F(x,y) ?(64,128) (4) 64??0F(x,y)?(128,255)? 11 另外为了便于在VGA显示器上显示处理后的图像,需要把8位的RGB数据映射成10位,作如下变换: 102310231023Gr(x,y)× 、Gg(x,y)× 、Gb(x,y)× 255255255 代入上面的公式,化简后得到下面的公式: ?0F(x,y)?(0,128)??F(x,y)?2]F(x,y)?(128,192) (5) Gr(x,y)=?1023×[64??F(x,y)?(192,255)??1023 ?1023F(x,y)?(0,64)?64F(x,y) ??Gg(x,y)=?1023F(x,y)?(64,192) (6) ??1023×[4?F(x,y)]F(x,y)?(192,255)64?? ?F(x,y)?(0,64)?1023 ?F(x,y)?Gb(x,y)=?1023×[2?F(x,y)?(64,128) (7) 64??F(x,y)?(128,255)??0 这样,通过自适应中值滤波加伪彩色增强,既完成了对图像去除噪声并尽可能减少图像细节损失的目的,而且还增强了图像信息的表现力。 2 算法的FPGA实现 本文中的自适应中值滤波算法有两个层次的比较运算,属于顺序执行的算法。而硬件FPGA的优势在于可以实现并行的高速运算,因此为了充分发挥FPGA的优势,把算法进行一定的改进,以利于在硬件中并行实现。原理框图如图4所 输出产生五行五列的图示,图像数据逐行串行输入5×5图像采样窗口生成模块, 12 像数据,每个像素点是256级灰度,用8位二进制数表示,D1[1..5]表示第一行的五个像素点,D11[7..0]表示第一行第一列的像素的灰度值。五行数据依次输入后面的5×5中值滤波器进行中值,最大值,最小值的求取;中间三行三列数据输入到3×3中值滤波器进行中值,最大值,最小值的求取。这样就形成两种不同尺寸的中值滤波器进行并行滤波。两种不同尺寸的滤波器的滤波结果以及5×5图像窗口的中心像素点D33[7..0]输入到后面的自适应逻辑比较判断模块,依据上面提到的两个层次的自适应中值滤波算法,判断比较后输出最后的滤波结果。该滤波输出经过伪彩色变换模块的变换增强,输出RGB三基色分量。 图4 自适应中值滤波器硬件框图 这样,整帧图像的数据从上到下逐行输入5×5图像采样模块,经过窗口采样和后面的中值滤波,可实现对整帧图像的中值滤波处理。 采用5×5采样窗口的中值滤波不能实现对一帧图像最外围像素点的滤波,但本设计所处理的图像为640×480像素,处理不到的像素数目为640×2+480×2-16=2224,在总共的像素数640×480=307200中占的比例为 2224/307200×100%=0.72%,所占的比例很小;并且最外围的像素对中间的目标特征的影响几乎可以忽略不计,因此最外围像素不进行处理。 13 2.1 顶层设计 根据原理框图,在本节的设计中,采用层次化设计方式,顶层模块由5×5采样窗口生成模块,3×3中值滤波器模块,5×5中值滤波器模块,自适应逻辑比较判断模块和伪彩色增强变换模块五个子模块组合而成,自底向上进行开发。为了实现各模块的严格同步处理,使像素数据对齐,由顶层模块统一分配时钟,采 。各个模块的详细设计见下文。 用主时钟源CLOCK_50(50MHz) 2.1.1 中值滤波器模块 中值滤波器的功能就是实现图像采样窗口中奇数个数据的中值、最大值和最小值的求取。本文需要设计3×3和5×5两种中值滤波器,在硬件中实现的基本思想就是前面所提到的方法。要想实现中值的求取,需要经过逐级的比较排序。因此本设计采用了流水线处理方式,把上一级比较排序的结果作为下一级的输入,在同步时钟的作用下保证数据的完整,也加快了运算的速度。 由于需要经过多级比较,因此在中值滤波器的设计中,用到了一个数据排序 的全局过程SWAP,可以在顶层实体定义中定义这个过程。其VHDL代码如下: procedure swap (data: inout data_array;low,high :in 14 integer ) is variable temp : data_element; begin if (data(low)>data(high)) then temp:data(low); data(low):data(high); data(high):temp; end if; end swap; 该SWAP过程实现的就是一个数组中两个元素的降幂排列。在中值滤波器的设计中,每级比较可以通过在进程(process)中多次调用该SWAP过程来实现图像采样窗口中行、列或者对角线元素的排序。 由图3×3中值滤波算法的步骤可知,对某一个3×3的图像采样窗口,3×3中值滤波器经过两个步骤(两个时钟周期)即可实现最大值,最小值的求取,而中值需要再经过一个时钟周期才能求取,因此实现完整的滤波器功能需要3个时钟周期。在每个步骤的排序中,每行的排序是可以并行执行的,所以完成3行降幂排序只需要一个时钟周期;每列的排序也是可以并行执行的,所以完成3列降幂排序也只需要一个时钟周期,最后一步对角线的排序也是一个同步时钟周期即可完成。 15 由图5×5中值滤波算法的步骤可知,对某一个5×5的图像采样窗口,5×5中值滤波器经过两个步骤(两个时钟周期)即可实现最大值,最小值的求取,而中值需要再经过两次对角线元素的排序才能输出,也即还需要两个时钟周期才能求取,因此实现完整的滤波器功能需要4个时钟周期。在每个步骤的排序中,每行 =5行降幂排序只需要一个时钟周期;每列的的排序是可以并行执行的,所以完成=排序也是可以并行执行的,=所以完成5列降幂排序也只需要一个时钟周期;后面 的对角线排序也是一个同步时钟周期即可完成。 显然两种滤波器的输入数据来自同一个5×5的图像采样窗口,是同步的,而处理速度不同,因此输出数据将不再同步,会影响到后面的自适应比较模块。为解决这个问题,一个简单的办法就是在3×3中值滤波器的输出环节加入一个D触发器,把输出数据延时一个时钟周期输出,这样就实现了滤波输出数据同步输出到后面的自适应比较判断模块。 另外,自适应逻辑比较判断模块的输入数据中还需要原始图像采样窗口中心点的像素值D33[7..0],因此需要将该值随着流水线处理逐级锁存,与中值滤波器的输出结果一同作为自适应逻辑比较判断模块的输入数据。 虽然需要进行多级比较,但是由于采用的是并行、流水线的工作方式,除了第一次和最后一次的输入数据产生输出结 16 果有时钟周期的延时外,其它每个时钟周期都会有结果输出。因此可以说只需要一个时钟周期便可实现自适应中值滤波,与采用软件的方法相比,速度要快很多。 2.1.2 5×5图像采样窗口 由于图像数据都是逐行串行从摄像头或者成像仪中输出,而本文的中值滤波 因此需要把逐行串行的数据转器需要一个5×5的图像采样窗口来实现滤波算法, 换为并行的五行五列数据,这就需要有缓存器和锁存寄存器(D触发器)。缓存器缓存五行数据,锁存寄存器用来锁存移出五列数据,形成一个5×5的矩阵,就 相当于一个5×5窗口。原理框图如图5所示。其中五个双口RAM实现五行像素数据的缓存,D触发器实现五列数据的移出和锁存。利用Cyclone?芯片的特点, 。可以应用Altera公司的QuartusII软采用芯片内部的双口RAM(dual-port-ram) 件对双口RAM IP Core进行参数的设定。这就省去了外接缓存器的麻烦。为了保证数据的同步性和顺序性,五个双口RAM共用一套读写地址计数电路,且数据输入流向始终是:原始图像数据 ?RAM1?RAM2?RAM3?RAM4?RAM5。对于640×480大小的8位图像数据,要求定义五个640×8bits的双口RAM 17 作为五行数据的缓存。 图5 5×5图像采样窗口的原理框图 Cyclone?芯片内部的双口RAM的元件图如图6所示。双口RAM有两套独立的读写地址、数据及控制信号使得读写操作能够在一个时钟周期内方便地完成,能满足流水操作的要求。 图6 双口RAM元件图 双口RAM的控制在实际应用中是一个关键。为了实现流水操作,同时可靠地存储、读取五行数据,设计中利用双口RAM 的特点,采用同步逻辑,数据信 号、地址信号和控制信号均由系统时钟产生。时钟每变化一次,双口RAM的两个端口分别用于写入和读出。在同一时钟周期内,读写操作分别在两个端口同时完成[6]。由于同一时刻RAM要把自身某地址单元中的数据写入到下一个RAM的相同的地址单元,而把上一个RAM中相同单元的数据读进自身这个地址单元中来,这样才能保证第i行的数据完整的缓存如第i-l行,第i+1行的数据完整的缓存如第i行。显然这就发生了对同一地址单元在同一个时钟沿读写的情况,造成读写的冲突,使数据发生紊乱。解决这个问题要用到数据的锁存,在QuartusII中设定内部双口RAM参数 18 时,对读写冲突的情况,读取的数据设定为锁存的旧数据,写入的为新数据。这样会造成一个时钟周期的延时,但能保证数据的完整性。 图7为仿真波形,五行数据经过逐行输入五个双口RAM并移出锁存,在39.29us处五行五列数据同步输出,形成第一个5×5的采样窗口。 图7 5×5图像采样窗口仿真波形 2.1.3 自适应逻辑比较模块 两种不同尺寸的中值滤波器的输出结果连同图像采样窗口中心点的像素需要进一步比较,来决定最后的滤波结果。其逻辑功能可以用下面的流程图8来表示。其中Max1,Med1,Min1为3×3中值滤波器的输出,Max2,Med2,Min2为5×5中值滤波器的输出,D33为5×5图像采样窗口的中心点像素值。 图8 自适应逻辑比较模块流程图 2.1.4 Y(灰度)到RGB的转化 由式(5)、(6)、(7),应用VHDL语言描述其数学运算功能,生成相应的硬件电路来实现该数学函数,下图9是在自适应中值滤波器后面加入伪彩色变换 后的仿真波形。 19 图9 自适应中值滤波其加伪彩色变换仿真波形 2.2 仿真验证模块 为了验证自适应中值滤波器的滤波功能,本文还设计了辅助相关的仿真验证模块,用sram_controller模块从片外SRAM中逐行读取事先存入的图像数据来模拟成像仪产生的图像数据,用VGA_Controller模块控制外接的VGA显示器显示经过自适应中值滤波和伪彩色增强处理后的图像。 2.2.1 SRAM控制器的FPGA实现 本设计所应用的DE2开发板上的SRAM为ISSI61LV25616,存储容量为256K×16bit,其元件框图如图10所示。 图10 SRAM元件框图 SRAM读控制器就是要根据读写功能的真值表[7],用VHDL语言编写相应的时序控制程序,在硬件电路中实现对SRAM的自动读写。 2.2.2 VGA_Controller的设计 VGA_Controller控制VGA显示器显示处理后的图像。 VGA显示器(640×480/60Hz)有几个比较重要的控制信号。除了R、G、B这3个基色信号外,行同步信号HS和场(帧)同步信号VS也是非常重要的两个 信号,这两个信号构成了VGA显示的水平时序和垂直时 20 序[8]。跟据时序要求编写VGA_Controller的VHDL程序代码,实现对VGA的显示控制。 3 仿真结果与结论 图11是原始图像在VGA上显示的效果;图12是经过噪声污染后的图像在VGA上显示的效果;图13是自适应中值滤波器对图12的图像滤波后在VGA上显示的效果;图14是普通3×3中值滤波器对图12的图像滤波后在VGA上显示的效果。这四幅图像都是灰度图象经过伪彩色变换后进行显示的结果。 通过比较图13和图14,可以看出图14中没有被滤除掉的噪声的点数明显多于图13;再将图13和图11,图14和图11比较,可以看出图13中鱼身上的花纹与原图11更为接近。通过比较,可以说本文所实现的自适应中值滤波器滤波效果明显优于普通的3×3中值滤波器,而且图像的细节还得到了更好的保留。 综上所述,本文实现了对数字图像的自适应中值滤波算法,并对滤波后的图像进行了伪彩色增强变换,在对图像去除噪声并减少图像细节损失的同时,增强了图像信息的表现力。本设计应用VHDL硬件语言编程,使得设计既具有软件编程的灵活性,又具有硬件执行速度快、抗干扰、性能稳定的优点。通过仿真可以计算出采用该自适应中值滤波算法,处理一帧图像所用的时间约为(640×480+5+5) 21 ×20ns=6144200ns?6.14426ms,显然要比软件处理快很多,实时性也更好,滤波效果强,多个模块集成于一片FPGA内,抗干扰性也增强很多。本设计编程还采用了宏定义的方法,只需修改宏参数的大小就可实现对不同尺寸图像的自适应中值滤波,因此,可移植性和实用性较好。 图11 显示在VGA 上原始图像 图12 在VGA上显示的经过噪声污染的图像 图13 在VGA 上显示的经过自适应中值滤波的图像 图14 在VGA上显示的经过3×3中值滤波的图像 参考文献: 1 徐锋,禹卫东,唐红,谢东东(基于FPGA 流水线分布式算法的FIR 滤波器的实现(电子技术应用.2004, 7: 70 2 傅德胜,寿益禾. 图形图像处理学. 东南大学出版社,2002: 190~238 3 (美)Rafael C.Gonzalez, Richard 22 E.Woods著,阮秋琦,阮宇智等译. 数字图像 处理(第二版).北京:电子工业出版社,2007: 192-193 4 Priyadarshan Kolte, Roger Smith, Wen Su. A Fast Median Filter using AltiVec[A]. IEEE International Conference on Computer Design (ICCD‘99)[c]. 1999: 384-391 5 朱虹等. 数字图像处理基础. 科学出版社,2005: 48~51 6 陈镇(中值滤波器的FPGA实现 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 (红外月刊(2005, 10: 18-19 7 Integrated Silicon Solution, Inc. “IS61LV25616 Data Sheet”, November 2001 8 Analog Devices, Inc. “ADV7123 Data Sheet”, 1998 论文原创性声明: 本人郑重声名,该论文是本人在导师的指导下,在哈尔滨 工业大学攻读硕士学位期间进行研究工作所取得的成果。据 本人所知,论文中除了特别加以标注的地方外,不包含他人 已经发表或撰写过的研究成果。本声明的一切法律结果由作 者承担。 作者签名:王敬美 日 期:2008年3月20日 百度搜索“就爱阅读”,专业资料,生活学习,尽在就爱阅读网 23 92to.com,您的在线图书馆 24
本文档为【自适应滤波算法与实现 一种自适应中值滤波器算法的FPGA实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_650122
暂无简介~
格式:doc
大小:41KB
软件:Word
页数:18
分类:
上传时间:2017-12-08
浏览量:41