MATLAB 高斯低通濾波器的實現

2021-10-04 19:26:37 字數 2217 閱讀 6006

function [image_out] = glpf(image_in,d0)

%glpf為高斯低通濾波器,d0為截止頻率

%輸入為需要進行高斯低通濾波的灰度影象,輸出為經過濾波之後的灰度影象

f=image_in;

f=im2double(f);

% 1、給定一副大小為m×n的輸入影象f(x,y),得到填充引數p=2m,q=2n

m=size(f,1); n=size(f,2);

p=2*m; q=2*n;

% 2、對輸入影象f(x,y)新增必要數量的0,形成大小為p×q的填充影象fp(x,y)

fp=zeros(p,q);

fp(1:m,1:n)=f(1:m,1:n);

% 3、用(-1)^(x+y)乘以fp(x,y)移到其變換的中心

for i=1:p

for j=1:q

fp(i,j)=(-1)^(i+j)*double(fp(i,j));

endend% 4、計算來自步驟3的影象的dft,得到f(u,v)

f=fft2(fp,p,q);

% 5、生成乙個實的、對稱的濾波函式h(u,v),其大小為p×q,中心在(p/2,q/2)處。用陣列相乘形成乘積g(u,v)=h(u,v)f(u,v)

h=zeros(p,q);

a=2*(d0^2);

for u=1:p

for v=1:q

d=(u-p/2)^2+(v-q/2)^2;

h(u,v)=exp(-d./a);

endendg=f.*h; %頻率域濾波

% 6、得到處理後的影象

gp=ifft2(g); %頻域轉換到時域影象

gp=real(gp);

for i=1:p

for j=1:q

gp(i,j)=(-1)^(i+j)*double(gp(i,j));

endend% 7、通過從gp(x,y)的左上象限提取m×n區域,得到最終處理結果g(x,y)

image_out=gp(1:m,1:n);

end

clear all;  close all;  clc;

% 字元識別的應用

a=imread('g:\picture\fig0419(a)(text_gaps_of_1_and_2_pixels).tif');

out1=glpf(a,80);

figure;

subplot(1,2,1); imshow(a); title('低解析度文字');

subplot(1,2,2); imshow(out1); title('dlpf濾波的結果');

%「美容」處理

b=imread('g:\picture\fig0450(a)(woman_original).tif');

out2=glpf(b,100);

out3=glpf(b,80);

figure;

subplot(1,3,1); imshow(b); title('原影象');

subplot(1,3,2); imshow(out2); title('d0=100的glpf');

subplot(1,3,3); imshow(out3); title('d0=80的glpf');

%衛星影象和航空影象的處理

c=imread('g:\picture\fig0451(a)(satellite_original).tif');

out4=glpf(c,50);

out5=glpf(c,20);

figure;

subplot(1,3,1); imshow(c); title('顯示有突出掃瞄線的影象');

subplot(1,3,2); imshow(out4); title('d0=50的glpf');

subplot(1,3,3); imshow(out5); title('d0=20的glpf');

高斯低通濾波器的理解

高斯低通濾波有頻域和時域 在用作光滑影象上,可以卷積,可以相乘 高斯濾波器寬度 決定著平滑程度 是由引數 表徵的,而且 和平滑程度的關係是非常簡單的。越大,高斯濾波器的頻帶就越寬,平滑程度就越好。通過調節平滑程度引數 可在影象特徵過分模糊 過平滑 與平滑影象中由於雜訊和細紋理所引起的過多的不希望突變...

matlab設計低通濾波器

輸入 被白雜訊汙染的正弦訊號,fs 100khz,訊號頻率為10khz,雜訊訊號為20khz,現在要濾掉20khz的正弦訊號 clear all fs 100000 t 0 1 fs 0.003 f1 10000 f2 20000 signal1 sin 2 pi f1 t signal2 sin ...

matlab中的高斯低通濾波器 加性高斯色雜訊通道

對於高斯白雜訊,不同時刻的樣本值是不相關的。為方便,在實際應用中通常將在訊號上疊加高斯白雜訊,對一些演算法效能進行評估。依據評估結果,指導工程設計實現。在實際工程中,高斯白雜訊的不相關性並一定能夠很好近似反映實際使用的雜訊環境。這會使得利用高斯白雜訊獲得的效能評估結果通常是實際工程問題的過估計。本節...