数字图像第一题.docx
《数字图像第一题.docx》由会员分享,可在线阅读,更多相关《数字图像第一题.docx(15页珍藏版)》请在冰豆网上搜索。
数字图像第一题
1、图像增强算法程序仿真,讨论不同算法的特点。
(1)直接灰度变换
①图像求返
I=imread('woman.tif');
imshow(I)
I=double(I);
I=256-1-I;
I=uint8(I);
figure
imshow(I)
结果如图所示:
特点:
将原图像灰度值翻转,简捷的令黑变白,使白变黑。
适应于增强嵌入于图像暗色区域的白色或灰色地带。
②线性灰度变换
I=imread('woman.tif');
imshow(I)
I=double(I);
[M,N]=size(I);
fori=1:
M
forj=1:
N
ifI(i,j)<=30
I(i,j)=I(i,j);
elseifI(i,j)<=150
I(i,j)=(200-30)/(150-30)*(I(i,j)-30)+30;
else
I(i,j)=(255-200)/(255-150)*(I(i,j)-150)+200;
end
end
end
figure
(2);imshow(uint8(I));
结果如图所示:
特点:
运用分段线性法将需要的图像细节灰度级拉伸,增强对比度,将不需要的图像细节灰度级压缩,也就是说增强图像中感兴趣的灰度区域,相对抑制那些不感兴趣的灰度区域。
③对数变换
I=imread('woman.tif');
figure;imshow(I);
I=double(I);
I2=41*log(1+I);
I2=uint8(I2);
figure;imshow(I2);
结果如图所示:
特点:
可以消除因动态范围太大而引起的失真,有效地对原图像的动态范围进行压缩。
④灰度切割
I=imread('woman.tif');
figure;imshow(I)
I=double(I);
[M,N]=size(I);
fori=1:
M
forj=1:
N
ifI(i,j)<=50
I(i,j)=40;
elseifI(i,j)<=180
I(i,j)=220;
else
I(i,j)=40;
end
end
end
I=uint8(I);
figure;imshow(I);
结果如图所示:
特点:
增强特定范围内的对比度,达到突出图像中特定灰度范围的亮度。
⑤位图切割
I=imread('woman.tif');
imshow(I)
I=double(I);
[M,N]=size(I);
fork=1:
8
J=zeros(M,N);
fori=1:
M
forj=1:
N
temp=I(i,j);
s1=0;s2=0;
range=[k:
-1:
1];
ford=range
s1=2^(8-d)+s1;s2=2^(8-d+1);
iftemp>=s1&temp<=s2;
J(i,j)=255;break;
end
end
end
end
J=uint8(J);
figure;imshow(J);
end
结果如图所示:
特点:
将位图的每一个像素的每一位按照平面切割到对应的二值位图,运用提高特定位的亮度来改善整幅图像的质量。
(2)直方图修正
①直方图均衡化
I=imread('hua.tif');
figure
subplot(221);imshow(I);
subplot(222);imhist(I)
I1=histeq(I);
figure;
subplot(221);imshow(I1)
subplot(222);imhist(I1)
结果如图所示:
特点:
直方图均衡化增加了灰度动态范围,因此增加了图像的对比度,具体体现在图像上有较大的反差,许多细节可以看得比较清晰,即用减少图像的灰度级换取对比度的扩大,但是在一些较暗的区域有些细节不太清楚。
②直方图规定化
I=imread('hua.tif');
[M,N]=size(I);
fori=1:
8:
257
counts(i)=i;
end
Q=imread('hua.tif');
N=histeq(Q,counts);
figure
subplot(221);imshow(N);
subplot(222);imhist(N)
axis([026005000]);
结果如图所示;
特点:
直方图规定化不仅包含了直方图均衡化的所有效果,还克服了较暗区域的缺点,正方图规定化在高灰度区值较大,因此变换后图像比均衡化效果更为明亮,较暗区域内的一些细节更为清晰,高灰度值比较密集。
(3)空域平滑滤波器
clear;
P=imread('chelun.jpg');
I=rgb2gray(P);
J=imnoise(I,'salt&pepper',0.02);
Q=imnoise(I,'speckle',0.02);
K1=filter2(fspecial('average',3),J);
K2=filter2(fspecial('average',5),J);
K3=medfilt2(J);
K4=medfilt2(J,[55]);
subplot(231);imshow(I);title('原始图像');
subplot(232);imshow(J);title('加噪声后图像');
subplot(233);imshow(uint8(K1));title('3X3模板平滑滤波');
subplot(234);imshow(uint8(K2));title('5X5模板平滑滤波');
subplot(235);imshow(uint8(K3));title('3X3模板中值滤波');
subplot(236);imshow(uint8(K4));title('5X5模板中值滤波');
结果如图所示:
特点:
线性平滑滤波器用滤波模板确定的邻域内像素的平均灰度值去代替图像中的每一个像素点的值,减少了图像灰度的“尖锐”变化。
它采用了邻域平均法,这种方法有力地抑制了噪声,但是同时也引起了模糊,模糊程度与邻域半径成正比。
中值滤波器是将选中的奇数窗口内的像素值按大小排列,然后用中间的灰度值代替原图像中心位置像素的值,因此中值滤波器是一种非线性平滑滤波,在一定条件下可以克服线性滤波带来的模糊问题,对过滤脉冲干扰及图像扫描噪声非常有效,在衰减噪声的同时保留了图像细节的清晰,但是对于细节多的图像不宜采用中值滤波器。
(4)锐化滤波器
clear;
J=imread('chelun.jpg');
I=rgb2gray(J);
subplot(131),imshow(I);
H=fspecial('Sobel');
H=H';
TH=filter2(H,I);
subplot(132),imshow(TH,[]);
H=H';
TH=filter2(H,I);
subplot(133),imshow(TH,[])
结果如图所示:
特点:
图像锐化使边缘和轮廓线模糊的图像变得清晰,使其细节更加清晰。
能减弱或消除傅氏空间的某些分量,而不影响其他分量,从而达到增强某些频率分量的效果。
(5)低通滤波器
clear;
P=imread('woman.jpg');
I=rgb2gray(P);
J=imnoise(I,'salt&pepper',0.02);
subplot(121),imshow(J);title('含有椒盐噪声的图像');
J=double(J);
f=fft2(J);
g=fftshift(f);
[M,N]=size(f);
n=3;
d0=20;
n1=floor(M/2);
n2=floor(N/2);
fori=1:
M
forj=1:
N
d=sqrt((i-n1)^2+(j-n2)^2)
h=1/(1+(d/d0)^(2*n));
g(i,j)=h*g(i,j);
end
end
g=ifftshift(g);
g=uint8(real(ifft2(g)));
subplot(122);imshow(g);
结果如图所示:
特点:
低通滤波器可以“截断”傅里叶变换中所有的高频成分,它在平滑处理时旁瓣围绕横轴震动,从而出现严重的模糊和振铃现象,会导致平滑效果变差。
(6)高通滤波器
J=imread('pout.tif');
subplot(231);imshow(uint8(J));title('模糊图像')
J=double(J);
f=fft2(J);
g=fftshift(f);
[M,N]=size(f);
n1=floor(M/2);
n2=floor(N/2);
d0=20;
fori=1:
M
forj=1:
N
d=sqrt((i-n1)^2+(j-n2)^2);
ifd>=d0
h1=1;
h2=1+0.5;
else
h1=0;
h2=0.5;
end
g1(i,j)=h1*g(i,j);
g2(i,j)=h2*g(i,j);
end
end
g1=ifftshift(g1);
g1=uint8(real(ifft2(g1)));
subplot(232);imshow(g1);
title('理想高通滤波结果');
g2=ifftshift(g2);
g2=uint8(real(ifft2(g2)));
subplot(233);imshow(g2);
title('理想高通加强滤波结果');
n=2;
d0=20;
fori=1:
M
forj=1:
N
d=sqrt((i-n1)^2+(j-n2)^2);
ifd==0
h1=0;
h2=0.5;
else
h1=1/(1+(d0/d)^(2*n));
h2=1/(1+(d0/d)^(2*n))+0.5;
end
gg1(i,j)=h1*g(i,j);
gg2(i,j)=h2*g(i,j);
end
end
gg1=ifftshift(gg1);
gg1=uint8(real(ifft2(gg1)));
subplot(234);imshow(gg1);
title('巴特沃斯高通滤波结果');
gg2=ifftshift(gg2);
gg2=uint8(real(ifft2(gg2)));
subplot(235);imshow(gg2);
title('巴特沃斯高通加强滤波结果');
结果如图所示:
特点:
高通滤波器可以滤过傅里叶变换中大部分的低频成分,使图像的边界区域有明显的增强,图像层次比较丰富,但是同低通滤波器一样存在振铃现象,相比之下高通滤波器振铃效应不明显。
(7)同态滤波器
clear;
I=imread('chelun.jpg');
J=rgb2gray(I);
subplot(121),imshow(J);
J=double(J);
f=fft2(J);
g=fftshift(f);
[M,N]=size(f);
d0=10;
rl=0.5;
rh=2;
c=4;
n1=floor(M/2);
n2=floor(N/2);
fori=1:
M
forj=1:
N
d=sqrt((i-n1)^2+(j-n2)^2);
h=(rh-rl)*(1-exp(-c*(d.^2/d0.^2)))+rl;
g(i,j)=h*g(i,j);
end
end
g=ifftshift(g);
g=uint8(real(ifft2(g)));
subplot(122);imshow(g);
结果如图所示:
特点:
同态滤波器是一种在频域中同时将图像亮度范围进行压缩和将图像对比度增强的方法。
它减弱了低频分量增强了高频分量,压缩了图像的动态范围的同时又增强了图像的对比度。