w =
1 1 1 1 1 1 1 1 1 1 1 1 -24 1 1 1 1 1 1 1 1 1 1 1 1
3) 分别采用5×5,9×9,15×15和25×25大小的拉普拉斯算子对图像进行滤波,并利用公式
2g) ?f ( x , y ) 完成对图像的锐化增强,观察其有何不同,要求在同一窗口显示 ( x , y ) ? f ( x , y ?
拉普拉斯算子滤波及图像增强 n=5;
w=ones(n); x=ceil(n/2);
w(x,x)=-1*(n*n-1);
I=imread('C:\\Program Files\\MATLAB\\R2009a\\work\\lena','bmp'); T=double(I);
K=conv2(T,w,'same'); J=T-K;
subplot(2,3,1);imshow(I); subplot(2,3,2);imshow(K); n=9;
w=ones(n); x=ceil(n/2);
w(x,x)=-1*(n*n-1);
I=imread('C:\\Program Files\\MATLAB\\R2009a\\work\\lena','bmp'); T=double(I);
K=conv2(T,w,'same'); J=T-K;
subplot(2,3,3);imshow(K); >> n=15; w=ones(n); x=ceil(n/2);
w(x,x)=-1*(n*n-1);
I=imread('C:\\Program Files\\MATLAB\\R2009a\\work\\lena','bmp'); T=double(I);
K=conv2(T,w,'same'); J=T-K;
subplot(2,3,4);imshow(K); >> n=25; w=ones(n); x=ceil(n/2);
w(x,x)=-1*(n*n-1);
I=imread('C:\\Program Files\\MATLAB\\R2009a\\work\\lena','bmp'); T=double(I);
K=conv2(T,w,'same');
J=T-K;
subplot(2,3,5);imshow(K);
初始图像与不同拉普拉斯算子锐化图像
close all n=5;
w=ones(n); x=ceil(n/2);
w(x,x)=-1*(n*n-1);
I=imread('C:\\Program Files\\MATLAB\\R2009a\\work\\lena','bmp'); T=double(I);
K=conv2(T,w,'same'); J=T-K;
subplot(1,3,1);imshow(I); subplot(1,3,2);imshow(K); subplot(1,3,3);imshow(J)
图像锐化的实质是将原图像与梯度信息叠加,相当于对目标物的边缘进行了增强。
拉普拉斯算子锐化与锐化增强图像
4) 采用不同的梯度算子对图像进行锐化滤波,并比较其效果 close all
>> [I,map]=imread('C:\\Program Files\\MATLAB\\R2009a\\work\\lena','bmp'); >> I=double(I);
subplot(2,3,1);imshow(I,map); >> [Gx,Gy]=gradient(I); >> G=sqrt(Gx.*Gx+Gy.*Gy); >> J1=G;
>> subplot(2,3,2);imshow(J1,map); >> J2=I;
>> K=find(G>=7); >> J2(K)=G(K);
>> subplot(2,3,3);imshow(J2,map); >> J3=I;
K=find(G>=7); J3(K)=255;
subplot(2,3,4);imshow(J3,map); >> J4=I;
K=find(G<=7); J4(K)=255;
subplot(2,3,5);imshow(J4,map); J5=I;
K=find(G<=7); J5(K)=0;
Q=find(G>=7);
>> subplot(2,3,6); imshow(J5,map);
5)自己设计锐化滤波器,并将其对噪声图像进行处理,显示处理后的图像 close all
I=imread('C:\\Program Files\\MATLAB\\R2009a\\work\\lena','bmp'); J=imnoise(I,'salt & pepper',0.5);
>> domain=[8 8 0 8 8;8 8 0 8 8;0 0 0 0 0;8 8 0 8 8;8 8 0 8 8]; >> K1=ordfilt2(J,5,domain); subplot(1,3,1);imshow(I) subplot(1,3,2);imshow(J) subplot(1,3,3);imshow(K1)
五、思考题
1. 均值滤波和中值滤波有那些优缺点?主要区别?对所给图像,哪种方法效果更佳? 2. 锐化滤波算子各有什么特点?
相关推荐: