《小波變換、巴特沃斯(Butterworth)低通濾波器對受噪聲干擾的圖像進行平滑處理代碼》由會員分享,可在線閱讀,更多相關(guān)《小波變換、巴特沃斯(Butterworth)低通濾波器對受噪聲干擾的圖像進行平滑處理代碼(2頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、代碼二:
用小波變換對圖像進行增強
clear
I= imread ( aaa.jpg);
X=rgb2gray(l);
subplot (121);
imshow(X);
title (原始圖像);%畫出原圖像
[c,s] =wavedec2 (X, 2, sym4);
%進行二層小波分解
len = length ( c) ;%處理分解系數(shù),突出輪廓,弱化細節(jié)
for I = 1: len
if (c( I )>350)
c( I ) = 2*c (I );
else
c( I ) = 0.5*c( I );
end
end
nx =waverec2 (
2、 c, s, sym4);
%分解系數(shù)重構(gòu)
subplot(122);
image( nx);
title(增強圖像)
%畫出增強圖像
(二)運行結(jié)果:
代碼三:利用巴特沃斯(Butterworth)低通濾波器對受噪聲干擾的圖像進行平 滑處理
I=imread(aaa.jpg);
imshow(I);
J1=imnoise(l,salt & pepper); % 疊加椒鹽噪聲
figure,imshow(J1);
f=double(J1); %數(shù)據(jù)類型轉(zhuǎn)換,MATLAB不支持圖像的無符號整型的計算
g=fft2(f); %傅立葉變換
g=fftshift(g); %
3、轉(zhuǎn)換數(shù)據(jù)矩陣
[M,N]=size(g);
nn=2; %二階巴特沃斯(Butterworth)低通濾波器
d0=50;
m=fix(M/2); n=fix(N/2);
for i=1:M
for j=1:N
d=sqrt((i-m)A2+(j-n)A2);
h=1/(1+0.414*(d/d0)A(2* nn)); %計算低通濾波器傳遞函數(shù)
result(i,j)=h*g(i,j);
end
end
result=ifftshift(result);
J2=ifft2(result);
J3=ui nt8(real(J2));
figure,imshow(J3); %顯示濾波處理后的圖像
運行結(jié)果: