一、前言
在一幅圖像中,低頻部分對(duì)應(yīng)圖像變化緩慢的部分即圖像大致外觀和輪廓。高頻部分對(duì)應(yīng)圖像變換劇烈的部分即圖像細(xì)節(jié)(注意圖像的噪聲屬于高頻部分)。
低通濾波器的功能是讓低頻率通過而濾掉或衰減高頻,其作用是過濾掉包含在高頻中的噪聲。即低通濾波的效果是圖像去噪聲平滑增強(qiáng),但同時(shí)也抑制了圖像的邊界即過濾掉圖像細(xì)節(jié),造成圖像不同程序上的模糊。對(duì)于大小為M*N的圖像,頻率點(diǎn)(u,v)與頻域中心的距離為D(u,v),其表達(dá)式為:
低通濾波器一共有三種,分別為理想低通濾波器、巴特沃斯低通濾波器和高斯低通濾波器。理想低通濾波器的濾波非常尖銳,高斯低通濾波器的濾波則非常平滑。巴特沃斯濾波器介于兩者之間,當(dāng)巴特沃斯低通濾波器的階數(shù)較高時(shí),接近于理想低通濾波器;當(dāng)巴特沃斯低通濾波器的階數(shù)較低時(shí),則接近于高斯低通濾波器。
二、理想低通濾波器(ILPF)
1、基本定義
理想低通濾波器的產(chǎn)生公式為:
其中D0為理想低通濾波器的截止頻率。理想低通濾波器在半徑為D0的范圍內(nèi),所有頻率都可以沒有衰減地通過濾波器,該半徑之外的所有頻率都完全被衰減掉。理想低通濾波器具有平滑圖像的作用,但是有很嚴(yán)重的振鈴現(xiàn)象。
補(bǔ)充1:圖像處理中,對(duì)一幅圖像進(jìn)行濾波處理,若選用的頻域?yàn)V波器具有陡峭的變化,則會(huì)使濾波圖像產(chǎn)生“振鈴”。所謂“振鈴”,即指輸出圖像的灰度劇烈變化處產(chǎn)生的震蕩,就好像鐘被敲擊后產(chǎn)生的空氣震蕩。如下圖所示:
參考博客:圖像處理中的振鈴現(xiàn)象產(chǎn)生原因
2、matlab實(shí)現(xiàn)理想低通濾波器去除高斯噪聲
(1)實(shí)現(xiàn)代碼:
close all;
clear all;
clc;
I = imread('football.jpg');
I=rgb2gray(I);
subplot(131),imshow(I);
title('原始圖像');
I=imnoise(I,'gaussian');%加入高斯白噪聲
subplot(132),imshow(I);
title('加入噪聲后所得圖像');
% 函數(shù)fft2()用于計(jì)算二維傅立葉變換
% 函數(shù)fftshift()是對(duì)函數(shù)fft2()作傅里葉變換后得到的頻譜進(jìn)行平移,將變換后的圖像頻譜中心從矩陣的原點(diǎn)移到矩陣的中心
% 作二維傅里葉變換前一定要用函數(shù)im2double()把原始圖像的數(shù)據(jù)類型由uint8轉(zhuǎn)化為double類型
% 否則會(huì)因?yàn)閡nit8數(shù)據(jù)類型只能表示0-255的整數(shù)而出現(xiàn)數(shù)據(jù)截?cái)?span id="n5n3t3z" class="token punctuation">,進(jìn)而出現(xiàn)錯(cuò)誤結(jié)果
s=fftshift(fft2(im2double(I)));
[a,b]=size(s);
a0=round(a/2);
b0=round(b/2);
d0=50; % 將理想低通濾波器的截止頻率D0設(shè)置為50
for i=1:a %雙重for循環(huán)計(jì)算頻率點(diǎn)(i,j)與頻域中心的距離D(i,j)=sqrt((i-round(a/2)^2+(j-round(b/2)^2))
for j=1:b
distance=sqrt((i-a0)^2+(j-b0)^2);
if distance<=d0 % 根據(jù)理想低通濾波器產(chǎn)生公式,當(dāng)D(i,j)<=D0,置為1
h=1;
else
h=0; % 根據(jù)理想低通濾波器產(chǎn)生公式,當(dāng)D(i,j)>D0,置為0
end
s(i,j)=h*s(i,j);% 頻域圖像乘以濾波器的系數(shù)
end
end
% real函數(shù)取元素的實(shí)部
s=real(ifft2(ifftshift(s)));% 最后進(jìn)行二維傅里葉反變換轉(zhuǎn)換為時(shí)域圖像
subplot(133),imshow(s,[]);
title('理想低通濾波所得圖像');
(2)實(shí)現(xiàn)效果:
三、巴特沃斯低通濾波器(BLPF)
1、基本定義
巴特沃斯低通濾波器的產(chǎn)生公式為:
其中D0為巴特沃斯低通濾波器的截止頻率,參數(shù)n為巴特沃斯低通濾波器的階數(shù),n越大則濾波器的形狀越陡峭即振鈴現(xiàn)象越明顯。
2、matlab實(shí)現(xiàn)巴特沃斯低通濾波器去除高斯噪聲
(1)實(shí)現(xiàn)代碼:
close all;
clear all;
clc;
I = imread('football.jpg');
I=rgb2gray(I);
subplot(131),imshow(I);
title('原始圖像');
I=imnoise(I,'gaussian');%加入高斯白噪聲
subplot(132),imshow(I);
title('加入噪聲后所得圖像');
% 函數(shù)fft2()用于計(jì)算二維傅立葉變換
% 函數(shù)fftshift()是對(duì)函數(shù)fft2()作傅里葉變換后得到的頻譜進(jìn)行平移,將變換后的圖像頻譜中心從矩陣的原點(diǎn)移到矩陣的中心
% 作二維傅里葉變換前一定要用函數(shù)im2double()把原始圖像的數(shù)據(jù)類型由uint8轉(zhuǎn)化為double類型
% 否則會(huì)因?yàn)閡nit8數(shù)據(jù)類型只能表示0-255的整數(shù)而出現(xiàn)數(shù)據(jù)截?cái)?span id="n5n3t3z" class="token punctuation">,進(jìn)而出現(xiàn)錯(cuò)誤結(jié)果
s=fftshift(fft2(im2double(I)));
[N1,N2]=size(s);%求二維傅里葉變換后圖像大小
n=2; % 將巴特沃斯低通濾波器的階數(shù)n設(shè)置為2
d0=30; % 將巴特沃斯低通濾波器的截止頻率D0設(shè)置為30
n1=round(N1/2);
n2=round(N2/2);
for i=1:N1 %雙重for循環(huán)計(jì)算頻率點(diǎn)(i,j)與頻域中心的距離D(i,j)=sqrt((i-round(N1/2)^2+(j-round(N2/2)^2))
for j=1:N2
distance=sqrt((i-n1)^2+(j-n2)^2);
if distance==0
h=0;
else
h=1/(1+(distance/d0)^(2*n));% 根據(jù)巴特沃斯低通濾波器公式為1/(1+[D(i,j)/D0]^2n)
end
s(i,j)=h*s(i,j);% 頻域圖像乘以濾波器的系數(shù)
end
end
% real函數(shù)取元素的實(shí)部
s=real(ifft2(ifftshift(s)));% 最后進(jìn)行二維傅里葉反變換轉(zhuǎn)換為時(shí)域圖像
subplot(133),imshow(s,[]);
title('Butterworth低通濾波圖像');
(2)實(shí)現(xiàn)效果:
四、高斯低通濾波器(GLPF)
1、基本定義
高斯低通濾波器的產(chǎn)生公式為:
其中D0為高斯低通濾波器的截止頻率,注意高斯低通濾波器不會(huì)產(chǎn)生振鈴現(xiàn)象。
2、matlab實(shí)現(xiàn)高斯低通濾波器去除高斯噪聲
(1)實(shí)現(xiàn)代碼:
close all;
clear all;
clc;
I = imread('football.jpg');
I=rgb2gray(I);
subplot(131),imshow(I);
title('原始圖像');
I=imnoise(I,'gaussian');%加入高斯白噪聲
subplot(132),imshow(I);
title('加入噪聲后所得圖像');
% 函數(shù)fft2()用于計(jì)算二維傅立葉變換
% 函數(shù)fftshift()是對(duì)函數(shù)fft2()作傅里葉變換后得到的頻譜進(jìn)行平移,將變換后的圖像頻譜中心從矩陣的原點(diǎn)移到矩陣的中心
% 作二維傅里葉變換前一定要用函數(shù)im2double()把原始圖像的數(shù)據(jù)類型由uint8轉(zhuǎn)化為double類型
% 否則會(huì)因?yàn)閡nit8數(shù)據(jù)類型只能表示0-255的整數(shù)而出現(xiàn)數(shù)據(jù)截?cái)?span id="n5n3t3z" class="token punctuation">,進(jìn)而出現(xiàn)錯(cuò)誤結(jié)果
s=fftshift(fft2(im2double(I)));
[a,b]=size(s);
d0=30; % 將高斯低通濾波器的截止頻率D0設(shè)置為30
a0=round(a/2);
b0=round(b/2);
for i=1:a
for j=1:b
distance=sqrt((i-a0)^2+(j-b0)^2); % 根據(jù)高斯低通濾波器公式H(u,v)=e^-[D^2(u,v)/2*D0^2]
h=exp(-(distance*distance)/(2*(d0^2))); % exp表示以e為底的指數(shù)函數(shù)
s(i,j)=h*s(i,j);% 頻域圖像乘以濾波器的系數(shù)
end
end
s=real(ifft2(ifftshift(s)));% 最后進(jìn)行二維傅里葉反變換轉(zhuǎn)換為時(shí)域圖像
subplot(133),imshow(s,[]);
title('高斯低通濾波圖像');
(2)實(shí)現(xiàn)效果:
補(bǔ)充2:對(duì)圖像噪聲的簡(jiǎn)單理解:噪聲在圖像上常表現(xiàn)為引起較強(qiáng)視覺效果的孤立像素點(diǎn)或像素塊。一般, 噪聲信號(hào)與研究的對(duì)象不相關(guān),它以無用的信息形式出現(xiàn),擾亂圖像的可觀測(cè)信息。通俗的說,噪聲點(diǎn)其實(shí)在視覺上看上去讓人感覺很難受,直觀理解就是其和周圍的像素點(diǎn)差異比較大,顯得比較突兀,視覺看起來很不舒服。
參考博客:
(1) 通過matlab編程,對(duì)以下圖像分別添加高斯噪聲和椒鹽噪聲(參數(shù)自定),并使用理想低通濾波器、高斯低通濾波器和巴特沃斯低通濾波器進(jìn)行去噪
(2)用matlab編程實(shí)現(xiàn)數(shù)字圖像理想低通濾波、高斯低通濾波和巴特沃斯低通濾波去噪算法文章來源:http://www.zghlxwxcb.cn/news/detail-407723.html
由于剛剛開始學(xué)習(xí)圖像處理,對(duì)于很多知識(shí)理解不到位。如有錯(cuò)誤,懇請(qǐng)指正,任重而道遠(yuǎn),慢慢加油!文章來源地址http://www.zghlxwxcb.cn/news/detail-407723.html
到了這里,關(guān)于圖像處理之理想低通濾波器、巴特沃斯低通濾波器和高斯低通濾波器的matlab實(shí)現(xiàn)去噪的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!