|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
clear all;
' G d3 W" H7 c3 V1 H4 x# U4 |/ B1 p3 ]+ N8 j$ D3 s
close all;
/ T& m; T5 e9 A. M5 Q* |# F- R% p! N ^; ]- W* A' {* d/ Q
P=input('inputimage data:');
$ e3 k5 a' @7 r: q( r* a, t( m* @- W0 ?5 |$ W% C& A W
d=size(P);
5 }0 w0 H( ]1 Z5 O8 u( [2 ~3 I
- l2 F# T) K/ m/ w, h0 Sif(d(3)>1), q: N4 i! b$ T" J# v- ~$ R4 G8 }
) i. g( y3 V! u9 } p) H! ]1 z' X P=rgb2gray(P);& S' z( G; z7 i2 W! s9 F
5 s- I1 v" D* K0 H; ]
end
; [2 V( Z7 e* X4 K! _# r0 P) ~' @- V0 N, F, J
subplot(131);imshow(P);3 q" p1 q" s% N6 d3 e& R
9 v( ^ |* P0 Z+ ~" \2 ytitle('原始图像');
9 C! {3 f& z" l. x; F+ O" E+ N1 M3 W& i* P" G2 ?7 X4 P) P
P1=imnoise(P,'salt& pepper',0.02);
7 s' c% Y) Y4 \& I9 X# ?8 v, [( X" t8 L( D8 I& B6 q8 Q
subplot(132)0 J8 O3 @+ W) C8 ]
! s( @. E$ Y0 K' d! O& V1 Gimshow (P1);4 W6 j7 L. }9 h3 {- k! x
6 m6 C. ]/ w" n- M/ K
title('加入椒盐噪声后的图像');2 d6 a% L1 u8 Y/ E: r
) Y& `, |9 g, b* J9 h" x5 E
f=double(P1);3 A* F: o) E/ [8 p' w V
# c: }+ C# ^. Y, U& ?: j
g=fft2(f);%傅里叶变换
5 Q6 H* v, P; S% f q, l9 I9 L! t0 o& l0 w* {1 T
g=fftshift(g);%转换数据矩阵fftshift是针对频域的,将FFT的DC分量移到频谱中心
; L) j# [, a8 y; z3 z即对频域的图像,
- s' l; [! c6 ^$ s& u. S% k+ a: |% T6 K, ~5 p5 X
[M,N]=size(g);
; W! r" q! r5 X, H+ C `, f/ i4 A0 p! E
D0=input('inputnonnegative dhreshold D0=');
5 V- V) X" m* B( i
% h! Y& R2 H3 x' o& u) G9 T0 gn=input('input theorder of filtering n=');
. g& H0 I6 `, o
6 V. |$ O' J/ D/ Cn1=fix(M/2);* m: e2 t" u4 ~( }% i
7 W( u' }8 a! b+ D) v2 \n2= fix(N/2);, y/ C8 q' l8 h) h
9 Y: e N9 n1 N! q/ d
for i=1:M
& }2 ?& G" o+ T0 V7 W$ M4 F9 b' J) Z+ S# f$ m8 f& Z0 ~& F
for j=1:N
, @! |7 J& p+ J1 b: ~4 Y$ I' n1 A/ W8 \) E5 O# }$ X: [
d=sqrt((i-n1)^2+(j-n2)^2);
, t* ]: D2 I7 G2 {0 f3 H) v2 M5 V: s b! q
h=1/(1+(d/D0)^(2*n));
. g0 N4 N2 J! J% w& c* b. j( d3 g! z/ _" M% O
result(i,j)=h*g(i,j);9 ]: g, M2 R, x* m8 {
! q: o: R- Z+ f
end! Y8 w, ~+ L; q3 d0 }* Z& w
3 a* V' R$ }3 I9 ]0 h) |8 D( b6 w
end- W6 K _- A, N' O% m
! G1 W8 h- S' I0 h; N, Lresult=ifftshift(result);# e: W5 c1 A* v8 R0 h% q, ?
2 |) Y' @# T5 Z
X2=ifft2(result);. R: \! _- U' }
( o5 d. c% e* i& u
X3=uint8(real(X2));
6 m8 s" r% H/ ]& t" ^5 a0 p- U: i7 E+ H, V8 [/ y4 I
subplot(133)
! S0 K: A# c6 t/ O" g$ k7 y# h0 b5 _
imshow (X3);
2 R1 @6 o/ P9 ~$ p. Z: _, p+ ^$ u$ ^1 _4 C
title('Butterworth低通滤波所得图像');
3 R, g9 r- p, [( P8 k: a$ w
) B& f# i& l7 b. B; i! f1 t) P' h2 x) d; q8 U
* _3 V& Y6 C" p" Y. Z' |- m
( V2 n( o- Y' f! H3 l% q n* V. S! V) o5 ^* Y) v/ L. A" p B
|
|