matlab實現圖像高斯濾波


OriImage=imread('D:\圖片\Pinned\2_110624211810_1.jpg');    %讀入圖片
sigma1 = 10;           %高斯正態分布標准差
grayImg=rgb2gray(OriImage);    %轉為灰度圖像
gausFilter = fspecial('gaussian',[5 5],sigma1);   %高斯濾波
blur=imfilter(grayImg,gausFilter,'replicate');        %對任意類型數組或多維圖像進行濾波 
imshow(blur)

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 fspecial函數詳解

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

0.5。
type= 'laplacian',為拉普拉斯算子,參數為alpha,用於控制拉普拉斯算子的形狀,取值范圍為[0,1],默認值為0.2。
type= 'log',為拉普拉斯高斯算子,參數有兩個,n表示模版尺寸,默認值為[3,3],sigma為濾波器的標准差,單位為像素,默認值為0.5
type= 'prewitt',為prewitt算子,用於邊緣增強,無參數。
type= 'sobel',為著名的sobel算子,用於邊緣提取,無參數。
type= 'unsharp',為對比度增強濾波器,參數alpha用於控制濾波器的形狀,范圍為[0,1],默認值為0.2。

 

例子:

>> G=fspecial('gaussian',5)%參數為5,表示產生5*5的gaussian矩陣,如果沒有,默認為3*3的矩陣。

G =

    0.0000    0.0000    0.0002    0.0000    0.0000
    0.0000    0.0113    0.0837    0.0113    0.0000
    0.0002    0.0837    0.6187    0.0837    0.0002
    0.0000    0.0113    0.0837    0.0113    0.0000
    0.0000    0.0000    0.0002    0.0000    0.0000

>> G=fspecial('gaussian',5,1.5)%1.5為濾波器的標准差。

G =

    0.0144    0.0281    0.0351    0.0281    0.0144
    0.0281    0.0547    0.0683    0.0547    0.0281
    0.0351    0.0683    0.0853    0.0683    0.0351
    0.0281    0.0547    0.0683    0.0547    0.0281
    0.0144    0.0281    0.0351    0.0281    0.0144

>> 

>> G=fspecial('average')%默認為3*3的矩陣。均值濾波

G =

    0.1111    0.1111    0.1111
    0.1111    0.1111    0.1111
    0.1111    0.1111    0.1111

>> G=fspecial('average',5)%會產生5*5的矩陣。

****************************************************************************************************************************************************************************************

 imfilter函數講解

函數語法:g=imfilter(f,w,filtering_mode,boundary_options,size_optinos) 

函數功能:對任意類型數組或多維圖像進行濾波 
參數介紹:f是輸入圖像,w為濾波模板,g為濾波結果。

 操作說明:在執行線性空間濾波函數imfilter時,我們必須清晰的理解兩個意義相近的概念。一個是相關 (corr);另一個是卷積(conv)。

 


免責聲明!

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



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