📄 sharp.m
字号:
function sharp(f,k)
%f=imread('C:\lena.bmp');%f为原始图像
%k可取大于或等于1的任何整数,k取值不同对应不同的高通模板,取值越大锐化效果越强
[m,n]=size(f);
figure(1)
imshow(f)
title('原始图像')
f1=zeros(m,1);
f2=[f1,f,f1];%进行列扩展
f3=zeros(1,n+2);
ff=[f3;f2;f3];%进行行扩展
ff=double(ff);
w=[-k,-k,-k;-k,1+8*k,-k;-k,-k,-k]; %高通滤波模板
for x=2:m+1
for y=2:n+1
Q(x-1,y-1)=w(1,1)*ff(x-1,y-1)+w(1,2)*ff(x-1,y)+w(1,3)*ff(x-1,y+1)+w(2,1)*ff(x,y-1)+w(2,2)*ff(x,y)+w(2,3)*ff(x,y+1)+w(3,1)*ff(x+1,y-1)+w(3,2)*ff(x+1,y)+w(3,3)*ff(x+1,y+1);
end
end
f1=zeros(m,1);
f2=[f1,Q,f1];%进行列扩展
f=[f3;f2;f3];%进行行扩展
for x=2:m+1
for y=2:n+1
image(x-1,y-1)=(f(x-1,y-1)+f(x-1,y)+f(x-1,y+1)+f(x,y-1)+f(x,y)+f(x,y+1)+f(x+1,y-1)+f(x+1,y)+f(x+1,y+1))/9; %均值滤波(低通)
end
end
image=uint8(image);
figure(2)
imshow(image)
title('锐化后的图像')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -