中值滤波本来是可以很好的滤掉椒盐噪声,爆发的接收完成标志信号也就是一个50Mhz的时钟周期公海赌船网址

       
 在这一篇开篇此前,我需要缓解一个题材,上一篇我们实现了依照FPGA的均值滤波算法的兑现,最终的显得效果图上发现有一部分黑白色的星点,我觉得是椒盐噪声,然后在做按照FPGA的中值滤波算法的试验时,我意识黑白斑点并从未解除,中值滤波本来是足以很好的滤掉椒盐噪声,所以说这里并不是椒盐噪声,最终经过我仔细的自我批评,终于领会了问题的到处。我所采用的Xilinx这款开发板的晶振为125Mhz,串口模块我动用前边设计好的代码,输入时钟为50Mhz,暴发的吸纳完成标志信号也就是一个50Mhz的时钟周期,我这边将收取完成标志作为,双口RAM的写使能,却把IP
Core的时钟设置为125Mhz系统时钟,所以在wea有效期间,clka会有起码三次上升沿,所以在串口传输过程中,RAM写入的多少或许会有一部分面世偏差,所以最终显示出来有一些像素有问题。这里我修改如下。

       
 在这一篇开篇从前,我需要解决一个题材,上一篇大家兑现了依照FPGA的均值滤波算法的贯彻,最终的来得效果图上发现有部分黑白色的斑点,我觉着是椒盐噪声,然后在做依据FPGA的中值滤波算法的实验时,我意识黑白斑点并从未消除,中值滤波本来是可以很好的滤掉椒盐噪声,所以说这里并不是椒盐噪声,最终通过自己仔细的检讨,终于知道了问题的街头巷尾。我所采用的Xilinx那款开发板的晶振为125Mhz,串口模块我动用前边设计好的代码,输入时钟为50Mhz,爆发的收纳完成标志信号也就是一个50Mhz的钟表周期,我这边将收受完成标志作为,双口RAM的写使能,却把IP
Core的钟表设置为125Mhz系统时钟,所以在wea有效期间,clka会有最少几次上升沿,所以在串口传输过程中,RAM写入的数码或者会有部分涌出偏差,所以最后展现出来有局部像素有问题。这里自己修改如下。

  我们为了落实动态图像的滤波算法,用串口发送图像数据到FPGA开发板,经FPGA举办图像处理算法后,动态突显到VGA呈现屏上,前边我们把硬件平台已经搭建完成了,前面我们将采用那些硬件基础平台上来贯彻基于FPGA的一连串图像处理基础算法。

公海赌船网址 1

公海赌船网址 2

  椒盐噪声(salt & pepper
noise)是数字图像的一个大规模噪声,所谓椒盐,椒就是黑,盐就是白,椒盐噪声就是在图像上随意现身红色白色的像素。椒盐噪声是一种因为信号脉冲强度引起的噪音,爆发清楚该噪声的算法也相比较简单。

  最后均值滤波的体现效果也是一模一样的,一幅完好的图形,和原图相相比只是变模糊了有的,查看图片请跳至文末。

  最终均值滤波的显得效果也是同样的,一幅完好的图片,和原图相比只是变模糊了一部分,查看图片请跳至文末。

  均值滤波的法子将数据存储成3×3的矩阵,然后求这多少个矩阵。在图像上对指标像素给一个模板,该模板包括了其周围的靠近像素(以目标象素为主导的方圆
8
个像素,构成一个滤波模板,即去掉目的像素本身),再用模板中的全体像素的平均值来取代本来像素值。

  在实时图像采集中,不可避免的会引入噪声,尤其是搅扰噪声和椒盐噪声,噪声的留存严重影响边缘检测的成效,中值滤波是一种基于排序总结理论的非线性平滑计数,能立竿见影平滑噪声,且能立竿见影维护图像的边缘消息,所以被广泛用于数字图像处理的边缘提取,其基本原理是把数字图像或数字体系中的一点的值用该点邻域内所有点的中值来代表。

  在实时图像采集中,不可防止的会引入噪声,尤其是困扰噪声和椒盐噪声,噪声的留存严重影响边缘检测的法力,中值滤波是一种基于排序统计理论的非线性平滑计数,能立竿见影平滑噪声,且能管用保养图像的边缘信息,所以被广大用于数字图像处理的边缘提取,其基本原理是把数字图像或数字系列中的一点的值用该点邻域内所有点的中值来取代。

公海赌船网址 3 

中值滤波对脉冲噪声有不错的滤除效率,特别是在滤除噪声的还要,能够珍重信号的边缘,使之不被张冠李戴。这多少个精美特性是线性滤波方法所不富有的。此外,中值滤波的算法相比简单,也易于用硬件实现。所以,中值滤波方法一经提议后,便在数字信号处理领得到根本的行使。

中值滤波对脉冲噪声有优良的滤除功能,特别是在滤除噪声的同时,可以维护信号的边缘,使之不被歪曲。那一个优质性状是线性滤波方法所不有所的。此外,中值滤波的算法相比较简单,也便于用硬件实现。所以,中值滤波方法一经提议后,便在数字信号处理领得到重点的应用。

均值滤波

中值滤波方法是,对待处理的此时此刻像素,拔取一个模板,该模板为其临近的几何个像素结合,对模板的像素由小到大举办排序,再用模板的中值来顶替原像素的值的艺术。

中值滤波方法是,对待处理的近日像素,选取一个模板,该模板为其临近的好六个像素结合,对模板的像素由小到大举办排序,再用模板的中值来代替原像素的值的主意。

  如图所示,大家要开展均值滤波首先要生成一个3×3矩阵。算法运算窗口一般采纳奇数点的邻域来总计中值,最常用的窗口有3X3和5X5模型。下边介绍3X3窗口的Verilog实现形式。

        
当我们利用3×3窗口后获取领域中的9个像素,就需要对9个像素值举办排序,为了增强排序成效,排序算法思想如图3-18所示

        
当我们利用3×3窗口后获取领域中的9个像素,就需要对9个像素值进行排序,为了提高排序功效,排序算法思想如图3-18所示

(1)       通过2个或者3个RAM的仓储来落实3X3像素窗口;

(1)       对窗内的每行像素按降序排序,拿到最大值、中间值和微小值;

(1)       对窗内的每行像素按降序排序,得到最大值、中间值和纤维值;

(2)       通过2个或者3个FIFO的储存来落实3X3像素窗口;

(2)       把三行的微小值相比较,取中间的最大值;

(2)       把三行的纤维值相比,取其中的最大值;

(3)       通过2行或者3行Shift_RAM的储存来兑现3X3像素窗口;

(3)       把三行的最大值相比,取中间的很小值;

(3)       把三行的最大值比较,取中间的细微值;

  要想用实现均值滤波和中值滤波,必须要先生成3×3阵列,在Altera序列里,可以用QuatusII调用IP核——shift_RAM,具体设置参数如图所示。

(4)       把三行的中间值相比,再取一遍中间值;

(4)       把三行的中等值相比,再取四回中间值;

公海赌船网址 4公海赌船网址 5

(5)      
把前边的到的多少个值再做一回排序,得到的中值即该窗口的中值。公海赌船网址 6 

(5)      
把前边的到的几个值再做三次排序,拿到的中值即该窗口的中值。公海赌船网址 7 

  如上图所示,其中shiftin是实时输入的多少,taps1x,taps2x输入数据的第二三行,当数码输入成一行两个时,自动跳到下一行,最后形成每行是三列的一个矩阵,用均值滤波和中值滤波的拍卖方法即可,这样核心是每一个目标都可以找到自己相应的一个3×3矩阵,最终举办处理。先进入IP核里面的是最起头的的数据,所以在读出的时候也是要放在第一行。

排序算法思想

排序算法思想

         Xilinx Vivado也有温馨的Shift_RAM IP
Core,然则这里只可以缓存出来一行数据,我们这边需要两个Shift_RAM IP
Core和正在输入的一条龙数据共同构成3行数据。这里调用多少个Shift_RAM IP
Core将这六个IP级联起来就行了。

  中值滤波的3×3矩阵的变型和均值滤波是全然类似的。我们求中值的章程是,先对3×3矩阵的每行按从大到小进行排序,然后利用排序法求出最大值那一列的很小值,求出之间数那一列的中等值,求出最小值按一列的最大值,最后将求出的六个值再排序,这五个值的中级值就是以此3×3矩阵的中间值。

  中值滤波的3×3矩阵的变化和均值滤波是截然类似的。我们求中值的方法是,先对3×3矩阵的每行按从大到小举办排序,然后拔取排序法求出最大值那一列的蝇头值,求出之间数那一列的中间值,求出最小值按一列的最大值,最终将求出的六个值再排序,这多少个值的中等值就是其一3×3矩阵的中间值。

公海赌船网址 8公海赌船网址 9 公海赌船网址 10 

公海赌船网址 11 

公海赌船网址 12 

  本系统重要用经过调用五个shift_register
IP核来生成3X3矩阵实现3X3像素窗口。shift_register
IP核可定义数据宽度、移位的行数、每行的深度。这里大家需要8bit。640个数据每行,同事移位寄存2行即可。同时接纳时钟使能端口clken。如图所示。

中值滤波统计

中值滤波总计

公海赌船网址 13像素数据移位寄存

如图所示仿真,可以推算出,这多少个中值完全是不易的,最终将求出的中值输出,这样中值定理便形成了。 公海赌船网址 14

如图所示仿真,能够推算出,这么些中值完全是正确的,最终将求出的中值输出,这样中值定理便形成了。 公海赌船网址 15

俺们这里将行设置为12,所以可以明确的看出,当数码缓存到一行时,就会移动寄存到下一行,缓存两行后便会生成3X3矩阵。

3×3矩阵的中值输出

3×3矩阵的中值输出

公海赌船网址 16

        
我们在求中值的时候消耗了多少个时钟周期,最后输出写RAM使能信号时,需要将per_clken延时3个时钟周期,保证图像数据与写RAM使能对齐、同步性。这里延时的写法和前面作品中所讲的是完全相同的!

        
我们在求中值的时候消耗了三个时钟周期,最后输出写RAM使能信号时,需要将per_clken延时3个时钟周期,保证图像数据与写RAM使能对齐、同步性。这里延时的写法和后面著作中所讲的是完全相同的!

缓存的多寡

  中值滤波和均值滤波相比较:中值滤波与均值滤波分别是非线性滤波和线性滤波的表示,这二种滤波相当的貌似,但滤波的功效却有很大的歧异,均值滤波相当于低通滤波,有将图像模糊化的大方向,对椒盐噪声基本不可能。中值滤波的优点是足以很好的过滤椒盐噪声,缺点是容易导致图像的不连续。中值滤波有效的移植了最大值和纤维值,图像会变得均匀,对椒盐噪声有很好的滤出效益!所以本系统末段选项采用中值滤波的方法。公海赌船网址 17

  中值滤波和均值滤波相比:中值滤波与均值滤波分别是非线性滤波和线性滤波的代表,这三种滤波十分的相似,但滤波的职能却有很大的歧异,均值滤波相当于低通滤波,有将图像模糊化的可行性,对椒盐噪声基本不能。中值滤波的亮点是足以很好的过滤椒盐噪声,缺点是容易导致图像的不总是。中值滤波有效的移植了最大值和微小值,图像会变得均匀,对椒盐噪声有很好的滤出效果!所以本系统最后摘取使用中值滤波的措施。公海赌船网址 18

相比较缓存的第一行的数额在3×3矩阵中,占第一行,结果同样,彰着是不错的。最后生成的3×3矩阵结果肯定是科学的。

灰度lena公海赌船网址 19

灰度lena公海赌船网址 20

公海赌船网址 21

均值滤波lena公海赌船网址 22

均值滤波lena公海赌船网址 23

求总值

中值滤波lena

中值滤波lena

公海赌船网址 24 

  上图为灰度图,中间为均值滤波图像,下图为中值滤波后的图像。通过对照发现,均值滤波后的lena变得更模糊,亮度也变高,而中值滤波后的lena清晰度较好,也是立竿见影的过滤掉了椒盐噪声,由于我们这是所接纳的图样椒盐噪声不明了,感兴趣的读者可以自己去试着找一幅带椒盐噪声的图形去处理一下。这里需要强调的一弹指是滤波后的图像会有一对边缘缺失,这是因为我们在求取均值或中值时,生成的3×3矩阵,在缓存第一行数据时,第二三行数据是尚未的,同样缓存到前两行第三行数据也是一向不的,但以此时候我们就早已上马了求均值或中值的运算,那么那个时候输出的像素点其实是作废的,这里我们并不曾过多的关心这一个像素点,只是小心于学习中值滤波。

  上图为灰度图,中间为均值滤波图像,下图为中值滤波后的图像。通过对照发现,均值滤波后的lena变得更模糊,亮度也变高,而中值滤波后的lena清晰度较好,也是实惠的过滤掉了椒盐噪声,由于我们这是所挑选的图纸椒盐噪声不明确,感兴趣的读者可以协调去试着找一幅带椒盐噪声的图形去处理一下。那里需要强调的登时是滤波后的图像会有局部边缘缺失,这是因为我们在求取均值或中值时,生成的3×3矩阵,在缓存第一行数据时,第二三行数据是未曾的,同样缓存到前两行第三行数据也是不曾的,但以此时候大家就已经上马了求均值或中值的运算,那么这多少个时候输出的像素点其实是作废的,这里我们并从未过多的关心这一个像素点,只是小心于学习中值滤波。

求均值

  倘诺您想获取本文的兼具课件和工程代码,请关注自己的私有微信订阅号:开源FPGANingHeChuan或扫描下方二维码关注订阅号,在后台回复图像处理,即可拿到本文的具有课件、资料、和工程源码哦!

  假使您想博得本文的有所课件和工程代码,请关注自我的个人微信订阅号:开源FPGANingHeChuan或扫描下方二维码关注订阅号,在后台回复图像处理,即可获取本文的兼具课件、资料、和工程源码哦!

        
我们在总结均值的时候使用两级流水线消耗了2个时钟周期,所以最后要将输给写RAM使能的多少缓存使能延时两个时钟周期!学到一个延时的新写法。

公海赌船网址 25

公海赌船网址 26

 公海赌船网址 27

 

 

  将3×3矩阵的大旨像素的四周七个点求和,我们这边如故采取流水线的宏图情势,来充实吞吐量,然后再求平均值代替目标像素的值,这里读者可以协调想想怎么设计,从波形图上观赛,总括的结果肯定是毋庸置疑的。这样便形成了均值滤波的假冒伪劣。

转载请表明出处:NingHeChuan(宁河川)

转载请阐明出处:NingHeChuan(宁河川)

大家来看一下板级测试视频:http://t.cn/RCJxiGF

民用微信订阅号:开源FPGANingHeChuan

个人微信订阅号:开源FPGANingHeChuan

公海赌船网址 28

固然您想及时吸纳个人创作的博文推送,可以扫描左侧二维码(或者长按识别二维码)关注个体微信订阅号

如若您想立刻收到个人写作的博文推送,可以扫描左侧二维码(或者长按识别二维码)关注个体微信订阅号

公海赌船网址 29  最终大家来相比一下呈现效果,上图为灰度图像,下图为均值滤波后的图像,可以见见滤波后的图像有一部分模糊,这是因为均值滤波就是将图像做平滑处理,像素值高的像素会被拉低,像素值低像素会被拉高,趋向于一个平均值,所以图像会变模糊一些。而且仔细的人得以把图纸放大会看到,图片上会有多少个白黑点,这实质上就是椒盐噪声,我们著作起首也说过了,椒盐噪声(salt
& pepper
noise)是数字图像的一个广阔噪声,所谓椒盐,椒就是黑,盐就是白,椒盐噪声就是在图像上随便出现粉黑色白色的像素。均值滤波相当于低通滤波,有将图像模糊化的趋势,对椒盐噪声基本无能力,所以显得的图形上会留下一些黑白点。下一篇我会发布依照FPGA的中值滤波处理,并且相比较这二种滤波形式的好坏,最后摘取较好的一种滤波情势开展图像边缘检测处理。

知乎ID:NingHeChuan

知乎ID:NingHeChuan

  假如您想取得本文的所有课件和工程代码,请关注本身的村办微信订阅号:开源FPGANingHeChuan或扫描下方二维码关注订阅号,在后台回复图像处理,即可得到本文的具备课件、资料、和工程源码哦!

微博ID:NingHeChuan

微博ID:NingHeChuan

公海赌船网址 30

初稿地址:http://www.cnblogs.com/ninghechuan/p/7442851.html 

原稿地址:http://www.cnblogs.com/ninghechuan/p/7442851.html 

 

 

 

转载请表明出处:NingHeChuan(宁河川)

 

 

民用微信订阅号:开源FPGANingHeChuan

图像处理系列作品

图像处理体系作品

比方你想立马收到个人写作的博文推送,可以扫描左边二维码(或者长按识别二维码)关注个人微信订阅号

第一篇:依据FPGA的VGA显示静态图片

第一篇:基于FPGA的VGA突显静态图片

知乎ID:NingHeChuan

第二篇:基于FPGA的RGB565_YCbCr_格雷(Gray)算法实现

第二篇:基于FPGA的RGB565_YCbCr_格雷(Gray)算法实现

微博ID:NingHeChuan

第三篇:基于FPGA的Uart接收图像数据至VGA显得

第三篇:按照FPGA的Uart接收图像数据至VGA展现

原稿地址:http://www.cnblogs.com/ninghechuan/p/7434462.html

番外篇:数字图像处理界标准图像 Lena后边的故事

番外篇:数字图像处理界标准图像 莉娜(Lena)前面的故事

第四篇:依照FPGA的均值滤波算法实现

第四篇:遵照FPGA的均值滤波算法实现

相关文章