|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
clear all;
& O9 t2 o( @. a5 l. w) |( k+ G# X! s" |3 u- M# b
close all;- Y6 P" H: {3 G) s
. E s5 b: m! f: f4 G, Q3 YP=input('inputimage data:');9 R. f% f" ] P( y' F5 J9 S
- V$ \% b( J1 { t5 j) N
d=size(P);1 P- g" F4 Q _# S/ @4 O( L
! a: R0 ?, J L# `& S8 @' R
if(d(3)>1)2 f- E4 Y; o; K( D | j7 T
0 n3 s" l6 }( w P=rgb2gray(P);$ x/ n0 j3 h) ^. N5 E% ?
4 y4 J& a3 [8 I' k( cend
" m' k# h1 W% o# @ z r; {- b- o
/ V. W9 E0 X3 n+ {4 Nsubplot(131);imshow(P);
3 D1 t" I# M! p4 U8 m
- Q {, L& r, a$ G7 g8 ctitle('原始图像');
9 W5 W9 _8 n1 B+ ?& J) n9 b R$ i* \, j' S* @1 z4 f( [
P1=imnoise(P,'salt& pepper',0.02);
, r0 E2 k3 n/ B7 A+ m6 p
9 ]) a0 Z; t% Q4 h. U5 P, P0 ~. E7 ksubplot(132)1 a9 _7 V9 I* }1 [7 _$ k# M/ N
- l, o+ c) ]% Q' F8 G( B
imshow (P1);' `) c7 I! U0 c6 d1 J
6 A6 M9 }5 g( n
title('加入椒盐噪声后的图像');; }- `5 ?" U4 A% D
3 @; Z- ~ P# T. ~! N! gf=double(P1);
E9 A5 Y' a; B8 r/ M
6 _ a8 L" Z4 Z5 W- Lg=fft2(f);%傅里叶变换
) M6 J, R7 i+ Y: H0 j' u4 t- B
7 K' l. V/ t; vg=fftshift(g);%转换数据矩阵fftshift是针对频域的,将FFT的DC分量移到频谱中心
' _2 {1 V' S( I9 u: r即对频域的图像,
M& J& o, r {+ _6 H9 k* n+ M6 j. \8 b/ M
[M,N]=size(g);! E4 g6 t" |% b% U* y3 e
* A+ T! l/ u C' A, s2 Y
D0=input('inputnonnegative dhreshold D0=');6 ^' A9 o7 W; f" a; f: R
) j. Q& C, ~% z6 b B1 v6 `$ Q
n=input('input theorder of filtering n=');
8 ], M7 n# j: { v% ^6 g! A
# G: H! e$ ~4 x% _) X# In1=fix(M/2);
) x) a* n7 w1 A, N" J
, B* z9 K3 N) q: ]$ u/ Y- dn2= fix(N/2);
9 ^, N4 Q; @# D1 B. K2 G7 H0 [; m1 O2 C" I, d$ R) L
for i=1:M7 @- I! A: f( y D7 S1 Y( |/ E. \
. ^$ }* o, x$ I* |
for j=1:N
; d1 p5 i0 L: W/ F2 D6 x/ J5 N a, J" X: ^7 C. t
d=sqrt((i-n1)^2+(j-n2)^2);- b: q, ~8 e) U+ r1 f3 M
, k9 q, h: Y1 ?3 l8 R0 K, }6 w8 l0 Uh=1/(1+(d/D0)^(2*n));
1 I9 C4 v+ I( O
; A2 V% v6 O2 n% O result(i,j)=h*g(i,j);
! d; x8 Q; E' K& F
0 o+ U; Q5 V$ l% f end
+ \# L" G, T5 a* ~) @' }4 A3 [& m) C ~* }1 C2 ^8 K' m) k
end
; d" o: m% H+ K3 [1 T
8 J: _: I7 `% h& mresult=ifftshift(result);
& e3 H$ @+ b* [
5 m' p' e( Q& h. s+ y/ KX2=ifft2(result);! D! [# W- _+ R7 d6 X+ V
! U2 J9 ^, L1 v! ?, ]
X3=uint8(real(X2));! \" {, Q* D7 d9 }
4 }+ f, P5 X; r/ |6 T* D5 q
subplot(133)
5 w1 E3 w% C& X# a5 X( N1 b4 f& N9 \; a6 d" p
imshow (X3);
/ G5 F+ m4 \7 o5 r* a1 M i$ f* g' n) L" c2 c; q2 n+ y3 i. g# d
title('Butterworth低通滤波所得图像');
. D3 ?- ]' a- P
$ O! h" a9 m+ k* ^: y& {: {( @! W2 F
% F7 F9 G& M& X, E" @# r
% ]# ?9 ^5 ]9 V* ^8 Y
$ k" t" m7 X: V: X4 W* R* w. A |
|