圖像的高斯平滑濾波


1:高斯平滑與濾波的作用

通過高斯平滑使整個圖片過渡均勻平滑,去除細節,過濾掉噪聲。

2:高斯平滑濾波器簡介

高斯平滑濾波器被使用去模糊圖像,和均值濾波器差不多,但是和均值濾波器不一樣的地方就是核不同。均值濾波器的核每一個值都是相等,而高斯平滑濾波器的核內的數卻是呈現高斯分布的。

對於二維高斯分布:

 

 

 高斯函數具有5個重要性質:

(1)二維高斯函數具有旋轉對稱性, (2)高斯函數是單值函數。這表明,高斯濾波器用像素鄰域的加權均值來代替該點的像素值,而每一鄰域像素點的權值是隨着該點與中心點距離單調遞減的。 (3)高斯函數的傅立葉變換頻譜是單瓣的。 (4)高斯濾波器的寬度(決定着平滑程度)是由參數σ表征的,而且σ和平滑程度的關系是非常簡單的。σ越大,高斯濾波器的頻帶就越寬,平滑程度就越好。 (5)可分離性

它的分布圖如下:

 

 

作為高斯平滑濾波器的核就應該呈現出上圖的布局,例如:

 

 

是一個5*5的模版

對於高斯函數參數σ值越大,則模分布圖越扁平,模版越大。

上圖分布凸顯出了高斯該有的特點,因此,一般而言,高斯平滑濾波器要優於均值濾波器。

 

3:函數實現

3.1二維高斯函數

 

1 X = -50 : 1 :50;
2 Y = -50 : 1: 50;
3 sigma=50;
4 [X,Y]=meshgrid(X,Y);
5 W=exp(-(X.^2+Y.^2)/sigma.^2);
6 Z=W/2*pi*sigma.^2
7 mesh(X,Y,Z);
8 title('權重分布圖');

 

 

3.2高斯濾波

 1 im=imread('D:\a2.jpg');
 2 imshow(im,[]);//1
 3 title('原圖');
 4 J=imnoise(im,'gaussian');//加上高斯噪聲
 5 figure
 6 imshow(J,[]);
 7 title('加高斯噪聲圖');
 8 f1=fspecial('gaussian',[3 3],0.5);//2生成高斯模版
 9 img_smooth1=imfilter(J,f1);//3濾波
10 figure
11 subplot 221
12 imshow(img_smooth1,[]);
13 title('0.5');
14 
15 f2=fspecial('gaussian',[3 3],1);
16 img_smooth2=imfilter(J,f2);
17 subplot 222
18 imshow(img_smooth2,[]);
19 title('1');
20 
21 f3=fspecial('gaussian',[3 3],2);
22 img_smooth3=imfilter(J,f3);
23 subplot 223
24 imshow(img_smooth3,[]);
25 title('2');
26 
27 f4=fspecial('gaussian',[3 3],4);
28 img_smooth4=imfilter(J,f4);
29 subplot 224
30 imshow(img_smooth4,[]);
31 title('4');
32 
33 f5=fspecial('gaussian',[3 3],8);
34 img_smooth5=imfilter(J,f5);
35 figure
36 subplot 121
37 imshow(img_smooth5,[]);
38 title('8');
39 
40 f6=fspecial('gaussian',[3 3],10);
41 img_smooth6=imfilter(J,f6);
42 subplot 122
43 imshow(img_smooth6,[]);
44 title('10');

 運行結果如下

 

 

由實驗結果可知,隨着σ值的增大,噪聲濾除的越干凈,但同時,圖像也變得越模糊,輪廓不清晰。當σ增加到一定的程度時,濾波效果幾乎沒有變化,所以要選取合適的σ值。

  

4:函數介紹

 注釋1

語法:imshow ( f, G) 
          imshow (f, [low high])
          imshow (f, [ ])
說明:G是顯示該圖像的灰度級數;
      小於或等於low的值都顯示為黑色,大於或等於high的值都顯示為白色。
          [ ]自動將變量low設置為f的最小值,將high設置為f的最大值

注釋2

Fspecial函數用於創建預定義的濾波算子,其語法格式為:
h = fspecial(type)
h = fspecial(type,parameters,sigma)
參數type制定算子類型,parameters指定相應的參數,具體格式為:
type='average',為均值濾波,參數為n,代表模版尺寸,用向量表示,默認值為[3,3]。
type= 'gaussian',為高斯低通濾波器,參數有兩個,n表示模版尺寸,默認值為[3,3],sigma表示濾波器的標准差,

注釋3

imfilter(J,f1)

J為待處理的圖像,f為高斯模版。

 


免責聲明!

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



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