|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
clear all;0 R% y; V0 }7 i# I; H
3 K( c9 m. [, c- D
close all;
7 }0 z) g0 b, H/ c/ J! j, i( N$ Q+ m5 O" `- A' L0 R+ F
P=input('inputimage data:');1 D( I- C9 I% x% x9 E
$ q3 q8 R4 R( o; w0 j1 m
d=size(P);
' Z [6 Z4 x: W, X1 L# X+ W
( C( K' s( c5 s& E2 l- f* \. L$ gif(d(3)>1)1 h: o- q. X* q* A
5 @0 X" w9 P6 Z9 D' U% Y2 L
P=rgb2gray(P);
- P, `$ g1 V- ] ?
- g; K2 v1 \0 ^2 z9 S0 p! ^9 eend
V, b9 q5 m! W& B' Y8 n" j/ x2 I' s% _; h o
subplot(131);imshow(P);
g2 a1 p) g3 M- S# c9 c9 m$ Q b: F/ m; r1 a0 j$ ^
title('原始图像');+ t9 L# u/ |0 U2 y a, I$ m
! {# I" o* Q5 H+ M1 iP1=imnoise(P,'salt& pepper',0.02);- ]& A/ i, `# f8 Y s& m
% H' w& R9 T _subplot(132)$ h" B3 A7 a/ R
# Q; v0 F r, j4 N4 u' I2 L: Y/ V# Simshow (P1);" x# U$ t1 G0 s( N
5 u3 G- b9 I1 ?1 ?( T. U0 n
title('加入椒盐噪声后的图像');
5 E- H }1 v0 J( k# h- Y5 o5 k" e+ V# G0 a/ z8 A
f=double(P1); a3 b x7 g$ ?/ W# M1 {: L
; l" F- k) y4 Bg=fft2(f);%傅里叶变换. m3 e* n F2 o4 _3 W
+ L; j' w/ g8 m- ^8 R. V+ \
g=fftshift(g);%转换数据矩阵fftshift是针对频域的,将FFT的DC分量移到频谱中心0 f T' g& k2 C2 s9 T' F: |6 V) p; g* G
即对频域的图像,
0 s& \7 S+ l! @
, M+ u0 X; R4 r [M,N]=size(g);* }) T2 E3 O( F! D$ P9 X
1 u- O' _5 ?* `: \5 k1 O
D0=input('inputnonnegative dhreshold D0=');) g) H8 i4 h6 t4 m. ~
4 Z' d) d7 e [% B5 _0 S( k
n=input('input theorder of filtering n=');. C4 r$ K+ \: s5 c: t
: N/ ~: x, O' i! N. K# B; gn1=fix(M/2);
2 G8 l# ?2 _8 T' n- h# @5 w
: s$ x: b9 u3 Fn2= fix(N/2);
^* X, ^$ R( t$ }( G/ v8 D" b4 v' S# x2 K# U& W: G6 l
for i=1:M
0 A& d8 l3 c# c/ X9 a. B! m3 S3 W8 E+ _! S' }. y# {
for j=1:N
' D' }- {0 V: Z- x1 d) d# Q% p6 U7 `& c% g: D [8 h
d=sqrt((i-n1)^2+(j-n2)^2);# F6 {5 N! u* @( [8 b' z" U
" I% n; |/ k4 ?4 x: `! ]. h% V2 G2 J
h=1/(1+(d/D0)^(2*n));
/ ~' r$ [! B2 ~4 y3 s& C# i' a# e8 w
+ o, _$ F+ ^* |( F% x$ l8 q, i result(i,j)=h*g(i,j);
% B& q$ m. L0 ^6 M; w3 F# K4 H, D, e! A3 Y8 X4 E1 @
end
+ `) h' r6 E Z+ D1 L* W8 W9 q4 J- k
/ y! \) U8 m2 Bend. Q) h" l6 L- n5 o8 M
5 q |7 c. H4 I0 y5 g+ f0 A
result=ifftshift(result);' l4 Z+ ^" ?8 |# D
+ @( s1 r3 G: e2 v
X2=ifft2(result);+ H. W) ^1 M8 B8 `3 t' U
9 K; {: ?* J1 a9 u" s q
X3=uint8(real(X2));
4 p: L, V2 r! I- [# G2 K
: g5 ^8 P6 b+ F g/ r+ Qsubplot(133)
2 X4 D g( z. ~0 Y/ t
4 O+ M% A& `- Bimshow (X3);) e* I) [# @4 d% j9 E
0 [* l) ?! u [: f; g3 Dtitle('Butterworth低通滤波所得图像');
1 Q1 @% [& ]+ f4 H) ]0 P! m; H
0 f0 K; R J, |4 q8 V/ P2 @3 B8 a' O% Z5 d3 u
; T4 F5 Z0 { q# R L
. v% ~* W8 m- h* O( {3 ~; w I2 u
( H* [( ^/ O& w; U1 g1 H |
|