|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
clear all;$ u8 s' t( { E4 Z$ ^" t% F
$ y" f) C1 ]& C# j6 B5 W4 Fclose all;
3 {$ a& A5 c$ W5 c0 Q: W8 B: \' w1 k: j
P=input('inputimage data:');
% u. D9 B! P# u0 i8 z9 v: R2 j3 H/ r2 J; d! x/ h
d=size(P);3 ^2 R: n2 T9 j$ x
b1 ]4 g2 H6 u9 W0 Y4 ~) I) ?
if(d(3)>1)1 P1 A7 s; ^6 _
9 x: \3 J: H" H: `. V/ R
P=rgb2gray(P);
" g2 }/ H. ]! Z5 N: C' ]5 @/ W/ Z7 i! D" M4 |* [7 G
end
/ w0 P4 T. X( J& j2 W' i
$ t2 \/ U' P/ b: Csubplot(131);imshow(P);! h- a3 k7 M) N& S7 _7 F( t
4 e/ B4 p. k) B: x5 b0 i
title('原始图像');6 }2 k8 U/ r8 ~2 S" V% }
! v. h, A9 _8 D/ N8 x/ l3 B2 I0 t
P1=imnoise(P,'salt& pepper',0.02);0 Z- ^. J0 g1 j# w* G) I2 x/ _
. W! e+ f+ B J# H
subplot(132)5 @6 e: z( x& f& I7 T8 Y9 y
7 I+ f% b" T, }: i! d: l
imshow (P1);
5 E+ j+ K) Z2 D+ G- ~* o, a) x0 f$ J9 p' Q( D5 F
title('加入椒盐噪声后的图像');
6 X" o( N, L! {7 [' g, H
; l3 } b# g/ O5 W2 R7 i- q- J; bf=double(P1);
6 H6 r6 v: g5 M
$ @; W+ C# v9 ?0 Vg=fft2(f);%傅里叶变换5 d- t! f# n& ~, \
- T6 \- n% x1 s/ y. T! W% gg=fftshift(g);%转换数据矩阵fftshift是针对频域的,将FFT的DC分量移到频谱中心
/ d$ F8 @- z: K- M: F5 \# K即对频域的图像,4 G6 a4 W- J2 q* @; |
7 y5 X) J, F" `) D4 f8 Y [M,N]=size(g);
( L+ b, d/ q. j* c. h" x/ y7 u$ S3 S, R9 c( I) t: y, d5 h5 [: Z
D0=input('inputnonnegative dhreshold D0=');+ q% U$ c' m. X. k! [0 h5 n; e! O) {
8 |& Y: U0 Z* G& F
n=input('input theorder of filtering n=');- }: U S/ H" \7 y8 V
/ g$ C- ^; K7 A+ Y5 R
n1=fix(M/2);
& I% ]8 J" N# H& {" N; f3 ?
; G+ v1 ~1 M- I7 z( Ln2= fix(N/2);- L W4 O" z* Z9 u& m" D" f- H7 I
- d6 \1 {) z' d) ~for i=1:M6 { j+ k. h% D
. N: \" t }" j) G" Q7 }
for j=1:N: [, c8 o# T8 F0 q2 Y) n
8 ]6 z$ k+ c# q1 { d=sqrt((i-n1)^2+(j-n2)^2);0 }+ e0 j; W- ^3 F
7 G. J& p5 f/ M9 z# u; Ih=1/(1+(d/D0)^(2*n));' n! H9 O5 x" f5 {; ]& \4 b ^
5 O9 \! B1 ~4 x* y0 q5 o0 B
result(i,j)=h*g(i,j);- `6 l/ p* A+ `7 c& i& Y
+ K' u2 r' I7 H& s+ T' s& m! x4 m end$ p0 B, B0 Z4 K, B( d1 I
3 i5 ^% `( J& Q5 M" V- Q# uend
p. X. {; t/ S9 v: o
i# Z) w! I( Bresult=ifftshift(result);5 l) h' I9 a$ N3 m T7 a
' ]7 W3 x9 j& W8 N
X2=ifft2(result);) l( b& W% Z3 e! V3 X
7 A; L6 ^8 k: X5 d3 ?; x" G. @6 R
X3=uint8(real(X2));) z) u& n% X8 P8 O: }7 J& q/ i
. A* i! V$ A! x! l @- p$ [subplot(133)
. k2 K8 _0 j) i+ m2 _0 A( o
& i: \1 P: x2 Y4 ?imshow (X3);
) z$ b* Z3 \8 G. p1 M3 L/ L& r6 K1 ~( W
title('Butterworth低通滤波所得图像');
6 C" M+ ^' y; D' Q ~
+ w8 h5 ?% `- R3 A4 `( ?) h* K4 v B+ J9 ^
) b/ ]2 Z: l! s8 {3 s: |0 L6 S. t) I t
0 p0 E3 W9 F( r |
|