中值濾波去除圖像噪聲的matlab程序


中值濾波:基於排序理論的一種能有效抑制噪聲的非線性信號處理技術。

方法:取含有基數(偶數會有半像素的差)個模板數據的滑動模板,對模板中的數據從小到大排序,取排在中間位置上的數據作為最終的處理結果。

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));  

對椒鹽噪聲的處理結果:

對高斯噪聲的處理結果:

 

 

由以上對兩種造聲濾波結果可以看出:

      對於椒鹽噪聲,其只在畫面中部分點隨機出現,通過中值濾波,數組排序,其被污染的點排在邊上,中間為未被污染的點,將未被污染的點替代噪聲點,因此濾波效果很好,畫面的清晰度也基本保持;而對於高斯噪聲,由於高斯噪聲以隨機大小的幅值污染所有的點,無論怎樣濾波,得到的還是被污染的值,因此濾波效果不是特別好。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM