?? rh.m
字號:
clc
clear
close all
a=imread('D:\Mary.bmp');
subplot(221);
imshow(a);
title('原圖像');
a=double(a);
b=zeros(1,256);
c=[b;a;b];
%給圖像矩陣數據的最左和最右加入兩列0
d=zeros(258,1);
e=[d c d];
%建立一個3×3的平滑濾波器(模板),即3行3列的1的矩陣
panel=[-1 -1 -1;-1 9 -1;-1 -1 -1];
%進行模板運算
for i=2:257
for j=2:257
%取出圖像中的3×3的矩陣
image33=[e(i-1,j-1) e(i-1,j) e(i-1,j+1);
e(i,j-1) e(i,j) e(i,j+1);
e(i+1,j-1) e(i+1,j) e(i+1,j+1)];
temp=0;
for m=1:3
for n=1:3
temp= image33(m,n)*panel(m,n)+temp;
end
end
panelimage(i,j)=temp/9;
end
end
panelimage=mat2gray(panelimage);
subplot(222);
imshow(panelimage);
title('3*3銳化濾波圖像');
b=zeros(1,256);
c5=[b;b;a;b;b];
d=zeros(260,1);
e5=[d d c5 d d];
%取出5*5模版
panel55=[-1 -1 -1 -1 -1;-1 -1 -1 -1 -1;-1 -1 25 -1 -1;-1 -1 -1 -1 -1;-1 -1 -1 -1 -1];
%進行模板運算
for i=3:258
for j=3:258
%取出圖像中的5*5的矩陣
image55=[e5(i-2,j-2) e5(i-2,j-1) e5(i-2,j) e5(i-2,j+1) e5(i-2,j+2);
e5(i-1,j-2) e5(i-1,j-1) e5(i-1,j) e5(i-1,j+1) e5(i-1,j+2);
e5(i,j-2) e5(i,j-1) e5(i,j) e5(i,j+1) e5(i,j+2);
e5(i+1,j-2) e5(i+1,j-1) e5(i+1,j) e5(i+1,j+1) e5(i+1,j+2);
e5(i+2,j-2) e5(i+2,j-1) e5(i+2,j) e5(i+2,j+1) e5(i+2,j+2)];
temp55=0;
for m=1:5
for n=1:5
temp55= image55(m,n)*panel55(m,n)+temp55;
end
end
panelimage55(i,j)=temp55/25;
end
end
panelimage=mat2gray(panelimage);
subplot(223);
imshow(panelimage);
title('5*5銳化濾波圖像');
%給圖像矩陣數據的最上和最下加入兩行0
b=zeros(1,256);
c=[b;b;b;a;b;b;b];
%給圖像矩陣數據的最左和最右加入兩列0
d=zeros(262,1);
e=[d d d c d d d];
%建立一個3×3的平滑濾波器(模板),即3行3列的1的矩陣
panel=[-1 -1 -1 -1 -1 -1 -1;-1 -1 -1 -1 -1 -1 -1;-1 -1 -1 -1 -1 -1 -1;-1 -1 -1 49 -1 -1 -1;...
-1 -1 -1 -1 -1 -1 -1;-1 -1 -1 -1 -1 -1 -1;-1 -1 -1 -1 -1 -1 -1];
%進行模板運算
for i=4:259
for j=4:259
%取出圖像中的3×3的矩陣
image77=[e(i-3,j-3) e(i-2,j-3) e(i-1,j-3) e(i,j-3) e(i+1,j-3) e(i+2,j-3) e(i+3,j-3);
e(i-3,j-2) e(i-2,j-2) e(i-1,j-2) e(i,j-2) e(i+1,j-2) e(i+2,j-2) e(i+3,j-2);
e(i-3,j-1) e(i-2,j-1) e(i-1,j-1) e(i,j-1) e(i+1,j-1) e(i+2,j-1) e(i+3,j-1);
e(i-3,j) e(i-2,j) e(i-1,j) e(i,j) e(i+1,j) e(i+2,j) e(i+3,j);
e(i-3,j+1) e(i-2,j+1) e(i-1,j+1) e(i,j+1) e(i+1,j+1) e(i+2,j+1) e(i+3,j+1);
e(i-3,j+2) e(i-2,j+2) e(i-1,j+2) e(i,j+2) e(i+1,j+2) e(i+2,j+2) e(i+3,j+2);
e(i-3,j+3) e(i-2,j+3) e(i-1,j+3) e(i,j+3) e(i+1,j+3) e(i+2,j+3) e(i+3,j+3)];
image77=(image77)';
temp=0;
for m=1:7
for n=1:7
temp= image77(m,n)*panel(m,n)+temp;
end
end
panelimage(i,j)=temp/49;
end
end
panelimage=mat2gray(panelimage);
subplot(224);
imshow(panelimage);
title('7*7銳化濾波圖像');
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -