数字图像处理实验四图像频域增强
一、實(shí)驗(yàn)?zāi)康?/strong>
(1)了解圖像增強(qiáng)的目的及意義,加深對(duì)圖像增強(qiáng)的感性認(rèn)識(shí),鞏固所學(xué)的圖像增強(qiáng)的理論知識(shí)和相關(guān)算法。
(2)熟練掌握低通、高通、帶通、同態(tài)濾波器的使用方法,明確不同性質(zhì)的濾波器對(duì)圖像的影響和作用。
二、實(shí)驗(yàn)內(nèi)容
(1)選擇合適的灰度圖像,添加隨機(jī)噪聲
(2)對(duì)圖像進(jìn)行低通濾波,觀察濾波效果
(3)選擇一灰度圖像,進(jìn)行高通濾波,觀察濾波效果
(4)選擇合適的灰度圖像,進(jìn)行帶通濾波,觀察濾波效果
(5)選擇合適的數(shù)字圖像,進(jìn)行同態(tài)濾波,觀察濾波效果
三、實(shí)驗(yàn)代碼及結(jié)果、分析
(1)選擇合適的灰度圖像,添加隨機(jī)噪聲
- 代碼:
I=imread('E:\大三課件\大三下\數(shù)字圖像處理\實(shí)驗(yàn)\實(shí)驗(yàn)四\shiyan4.jpg');
I1=rgb2gray(I);
I2=imnoise(I1,'gaussian',0.03); ??????%加均值為0,方差為0.03的高斯噪聲
I3=double(I2);
fft_I=fft2(I2); ????????% 二維離散傅立葉變換
shift_I=fftshift(fft_I); ???% 直流分量移到頻譜中心
[M,N]=size(shift_I);
m=floor(M/2);
n=floor(N/2);
figure(1)
subplot(1,3,1),imshow(I),title('原圖像');
subplot(1,3,2),imshow(I1),title('灰度圖像');
subplot(1,3,3),imshow(I2),title('加入高斯噪聲'); ?????%顯示有高斯噪聲圖像
- 結(jié)果:
- 分析:
(2)選擇一灰度圖像,進(jìn)行低通濾波,觀察濾波效果
- 代碼
%低通濾波
level=4;%2級(jí)巴特沃斯濾波器 2時(shí)接近高斯,5時(shí)接近理想,但是數(shù)值更大時(shí)會(huì)有模糊效應(yīng)
d1=20;
d2=50;%截止半徑
d3=300;
%巴特沃斯低通濾波
for?i=1:M
????for?j=1:N
???????d=sqrt((i-m)^2+(j-n)^2);
???????h11=1/(1+0.414*(d/d1)^(2*level));
???????h12=1/(1+0.414*(d/d2)^(2*level));
???????h13=1/(1+0.414*(d/d3)^(2*level));
??????result11(i,j)=h11*shift_I(i,j);
??????result12(i,j)=h12*shift_I(i,j);
??????result13(i,j)=h13*shift_I(i,j);
????end
end
result111=uint8(real(ifft2(ifftshift(result11))));
result112=uint8(real(ifft2(ifftshift(result12))));
result113=uint8(real(ifft2(ifftshift(result13))));
%高斯低通濾波
for?i=1:M
????for?j=1:N
???????d=sqrt((i-m)^2+(j-n)^2);
???????h21=exp(-1/2*(d^2/d1^2));
???????h22=exp(-1/2*(d^2/d2^2));
???????h23=exp(-1/2*(d^2/d3^2));
???????result21(i,j)=h21*shift_I(i,j);
???????result22(i,j)=h22*shift_I(i,j);
???????result23(i,j)=h23*shift_I(i,j);
????end
end
result121=uint8(real(ifft2(ifftshift(result21))));
result122=uint8(real(ifft2(ifftshift(result22))));
result123=uint8(real(ifft2(ifftshift(result23))));
figure(2)
subplot(2,3,1),imshow(result111),title('巴特沃斯低通濾波d=20');
subplot(2,3,2),imshow(result112),title('巴特沃斯低通濾波d=50');
subplot(2,3,3),imshow(result113),title('巴特沃斯低通濾波d=300'); ???????
subplot(2,3,4),imshow(result121),title('高斯低通濾波d=20');
subplot(2,3,5),imshow(result122),title('高斯低通濾波d=50');
subplot(2,3,6),imshow(result123),title('高斯低通濾波d=300'); ??????
- 結(jié)果:
- 分析:
? ? ?1.巴特沃斯低通濾波器的傳遞函數(shù)為:h=1/(1+0.414*(d/d0)^(2*level));
?????高斯低通濾波器的傳遞函數(shù)為?:h=exp(-1/2*(d^2/d0^2));
(d0為截止半徑,level為巴特沃斯低通濾波器的階數(shù))
(3)選擇一灰度圖像,進(jìn)行高通濾波,觀察濾波效果
- 代碼:
%高通濾波
level=4;%2級(jí)巴特沃斯濾波器 2時(shí)接近高斯,5時(shí)接近理想,但是數(shù)值更大時(shí)會(huì)有模糊效應(yīng)
d1=2;
d2=4;%截止半徑
d3=8;
%巴特沃斯高通濾波
for i=1:M
????for j=1:N
???????d=sqrt((i-m)^2+(j-n)^2);
???????h11=1/(1+0.414*(d1/d)^(2*level));
???????h12=1/(1+0.414*(d2/d)^(2*level));
???????h13=1/(1+0.414*(d3/d)^(2*level));
??????result11(i,j)=h11*shift_I(i,j);
??????result12(i,j)=h12*shift_I(i,j);
??????result13(i,j)=h13*shift_I(i,j);
????end
end
result111=uint8(real(ifft2(ifftshift(result11))));
result112=uint8(real(ifft2(ifftshift(result12))));
result113=uint8(real(ifft2(ifftshift(result13))));
%高斯高通濾波
for i=1:M
????for j=1:N
???????d=sqrt((i-m)^2+(j-n)^2);
???????h21=1-exp(-1/2*(d^2/d1^2));
???????h22=1-exp(-1/2*(d^2/d2^2));
???????h23=1-exp(-1/2*(d^2/d3^2));
???????result21(i,j)=h21*shift_I(i,j);
???????result22(i,j)=h22*shift_I(i,j);
???????result23(i,j)=h23*shift_I(i,j);
????end
end
result121=uint8(real(ifft2(ifftshift(result21))));
result122=uint8(real(ifft2(ifftshift(result22))));
result123=uint8(real(ifft2(ifftshift(result23))));
figure(1)
subplot(1,3,1),imshow(I),title('原圖像');
subplot(1,3,2),imshow(I1),title('灰度圖像');
subplot(1,3,3),imshow(I2),title('加入高斯噪聲'); ????????%顯示有高斯噪聲圖像
figure(2)
subplot(2,3,1),imshow(result111),title('巴特沃斯高通濾波d=20');
subplot(2,3,2),imshow(result112),title('巴特沃斯高通濾波d=50');
subplot(2,3,3),imshow(result113),title('巴特沃斯高通濾波d=300'); ???????
subplot(2,3,4),imshow(result121),title('高斯高通濾波d=20');
subplot(2,3,5),imshow(result122),title('高斯高通濾波d=50');
subplot(2,3,6),imshow(result123),title('高斯高通濾波d=300'); ????
- 結(jié)果:
- 分析:
????1、巴特沃斯高通濾波器的傳遞函數(shù)為:h=1/(1+0.414*(d0/d)^(2*level));
???????高斯高通濾波器的傳遞函數(shù)為?:h=1-exp(-1/2*(d^2/d0^2));
? ? 2、圖像的大部分能量集中在低頻分量,高通濾波會(huì)將很多低頻分量濾除,導(dǎo)致增強(qiáng)圖中邊緣得到加強(qiáng),但光滑區(qū)域灰度減弱變暗甚至接近黑色
? ? 3、截止半徑越大,圖像越接近黑色,導(dǎo)致圖像的輪廓也不太清晰
(4)選擇合適的灰度圖像,進(jìn)行帶通濾波,觀察濾波效果
- 代碼:
%帶通濾波
dl=0.5;
dh=50;%截止半徑
for i=1:M
????for j=1:N
???????d=sqrt((i-m)^2+(j-n)^2);
????????if d<=dl || d>=dh
?????????????h=0;
????else
????????h=1;
????????end
?????result(i,j)=h*shift_I(i,j);
????end
end
result1=uint8(real(ifft2(ifftshift(result))));
figure(2)
subplot(1,2,1),imshow(I2),title('高斯噪聲圖像');
subplot(1,2,2),imshow(result1),title('帶通濾波后圖像');
- 結(jié)果:
?????????? ? ?
- 分析:
1、帶通濾波器的傳遞函數(shù)為H=1 (dl<d<dh), H=0(d=其他)
2、帶通濾波器可增強(qiáng)既不是圖像中的高頻成分也不是低頻成分
?
(5)選擇合適的灰度圖像,進(jìn)行同態(tài)濾波,觀察濾波效果
- 代碼:
P = 2*M; Q = 2*N;
I2 = zeros(P,Q);
for i = 1:M
????for j =1:N
????????I2(i,j) = I(i,j); ?%對(duì)圖像進(jìn)行填充
????end
end
I2=log(I2+1); ???%取對(duì)數(shù)
FI=fft2(I2); ???%傅里葉變換
rL=1.0; ???%rl越靠近1,越亮
rH=1.1; ????% 可根據(jù)需要效果調(diào)整參數(shù) ,rh越大,背景越亮
c=100; ??????%銳化參數(shù),越大,銳化程度越大
D0=1; ?%D0越小,越亮
for u=1:P
????for v=1:Q
????????D(u,v)=sqrt(((u-M).^2+(v-N).^2)); ?%頻率域中點(diǎn)(u,v)與頻率矩形中心的距離 ??????
????????H(u,v)=(rH-rL).*(1-exp(-c.*(D(u,v)^2./D0^2)))+rL; %高斯同態(tài)濾波
????end
end
H=ifftshift(H); ?%對(duì)H做反中心化
I3=ifft2(H.*FI); ?%傅里葉逆變換
I4=real(I3);
result =exp(I4(1:M, 1:N))-1; ?%截取一部分,,取指數(shù)
figure(1)
subplot(1,3,1),imshow(im),title('灰度圖像');
subplot(1,3,2),imshow(In),title('高斯噪聲圖像');
subplot(1,3,3),imshow(result),title('同態(tài)濾波圖像');
- 結(jié)果:
- 分析:
總結(jié)
以上是生活随笔為你收集整理的数字图像处理实验四图像频域增强的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 利用gitbash上传项目到github
- 下一篇: 创作表情包(备用)