圖像的高斯平滑濾波
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為高斯模版。
圖像的高斯平滑濾波