15×15高斯低通模板運算編程實現

題目

15×15高斯低通模板運算編程實現


代碼

I=round((fspecial('gaussian',[15,15],2.9))*10000);
%xlswrite('GaussM',I);
ratio=sum(I(:));   %這個是模板前的因子
image=imread('Moc_gray.jpg');
image=rgb2gray(image);  %轉成灰度圖
[height,width]=size(image);
padding_image=zeros(height+14,width+14);    %邊界拓延選擇最簡單的0拓延
padding_image(8:height+7,8:width+7)=image;
new_image=zeros(height,width);
load=0;
for i=8:height+7
    for j=8:width+7
       
            for m=i-7:i+7
                for n=j-7:j+7
                   load=load+padding_image(m,n)*I(m-i+8,n-j+8);
                end
            end
        load=load/ratio;
        new_image(i-7,j-7)= round(load);
        load=0;
    end
end
imwrite(mat2gray(new_image),'new_image.jpg');

生成的高斯模板

在這裏插入圖片描述


處理前後圖片對比

處理前
在這裏插入圖片描述
處理後
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章