码迷,mamicode.com
首页 > 其他好文 > 详细

中值滤波去除图像噪声的matlab程序

时间:2017-10-02 18:22:23      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:width   src   auto   end   splay   数据   logs   play   int   

中值滤波:基于排序理论的一种能有效抑制噪声的非线性信号处理技术。

方法:取含有基数(偶数会有半像素的差)个模板数据的滑动模板,对模板中的数据从小到大排序,取排在中间位置上的数据作为最终的处理结果。

matlab程序:

[height, width]=size(result2);   
x1=double(result2);  
x2=x1;  
n=3;
for i=1:height-n+1  
    for j=1:height-n+1  
        c=x1(i:i+(n-1),j:j+(n-1)); 
        e=c(1,:);       
        for u=2:n  
            e=[e,c(u,:)];        
        end
        m=median(e);      
        x2(i+(n-1)/2,j+(n-1)/2)=m;   
    end  
end   
imshow(uint8(x2));  

对椒盐噪声的处理结果:

技术分享

对高斯噪声的处理结果:

 

 技术分享

由以上对两种造声滤波结果可以看出:

      对于椒盐噪声,其只在画面中部分点随机出现,通过中值滤波,数组排序,其被污染的点排在边上,中间为未被污染的点,将未被污染的点替代噪声点,因此滤波效果很好,画面的清晰度也基本保持;而对于高斯噪声,由于高斯噪声以随机大小的幅值污染所有的点,无论怎样滤波,得到的还是被污染的值,因此滤波效果不是特别好。

 

中值滤波去除图像噪声的matlab程序

标签:width   src   auto   end   splay   数据   logs   play   int   

原文地址:http://www.cnblogs.com/pxrsun/p/7620493.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!