|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
clear all;3 J- Q6 O# v: B. a! g& Q$ U" J
k/ G8 o' _ W4 i' H# t6 W% `close all;- f9 c, X2 \1 O. p$ ]7 V% s8 F
0 S+ A2 I0 e. \. L0 F
P=input('inputimage data:');) D# ^+ A& f& z% O) q9 J) h0 H
/ z3 i1 z4 S0 A. D: G/ D* g. |
d=size(P);- C/ {% [, c- Y6 L
s. @% V- G- G7 d" W5 }7 Aif(d(3)>1)/ T, o, V3 r# u: C5 r
. D. o' _& b X2 e
P=rgb2gray(P);
) P; h1 f% V% `% @
]* X$ |+ _7 H5 jend. w5 {& r* X5 s! X- a6 n) L" `+ O$ }
+ X* o" {* \, d5 r) s# @subplot(131);imshow(P);: I$ z5 ?- e! e% {
+ a8 w0 l( n* K0 g7 Stitle('原始图像');
% V9 J$ ]" U& A% P6 i. \7 T6 P& C; S7 ?; a& G
P1=imnoise(P,'salt& pepper',0.02);
% {4 f- W! c8 `! u* z/ P
% |5 E( V* K: X6 j v3 O( I! msubplot(132)
1 v( q; j }& d5 O$ c: k8 `! M( s# o6 }: K* z2 J6 P
imshow (P1);1 L1 b t! y$ i K- m/ n6 d% g
. v$ U7 ~, Q& _6 b9 \/ B( r
title('加入椒盐噪声后的图像');- ]8 z! x L/ n9 [4 V1 U- v, p
. K1 c# L/ \0 z. P4 z+ ~
f=double(P1);
8 I% k7 M# C) x7 [5 `' M" j- @$ Q3 A0 g3 |* y
g=fft2(f);%傅里叶变换) k5 i8 p9 y- n! N- B% Y
5 Y% B2 G2 p: H" |g=fftshift(g);%转换数据矩阵fftshift是针对频域的,将FFT的DC分量移到频谱中心
$ f' h4 O* P, b" {8 P- c( E1 q* F即对频域的图像,9 \' R# ^! w6 t
# c4 Y! G R% p9 ]
[M,N]=size(g);
' ?- A/ @2 r8 w8 I
8 d+ E. b/ ]4 [7 e1 d% }D0=input('inputnonnegative dhreshold D0=');% I# r) X/ V' g, a ]3 b
, y4 B9 [& A! C" D: |0 Y
n=input('input theorder of filtering n=');9 I7 f+ Q4 R0 s* o+ e
; N, v4 G: P, }- @! D( cn1=fix(M/2);
& a9 u8 Q+ P' g" z. z8 }8 A2 E
3 o' l$ ~! ^, j8 {: s/ e- e" j% _n2= fix(N/2);$ {# k R2 L- E9 c# a
$ y' u( L# u! I1 |for i=1:M! e1 s5 _$ b. N# _3 A) W
5 t4 D, X( D! L* S
for j=1:N
9 R+ b/ m4 u& S( N) Q: P' W
3 B- w j2 X$ X+ P, M. w, y) S d=sqrt((i-n1)^2+(j-n2)^2);
4 h4 @7 ~$ ]/ B5 ^. T
: }$ }6 M. q4 i3 qh=1/(1+(d/D0)^(2*n));. j; r3 g) ]$ F2 ] j" X3 D
?: { z4 J' e2 u
result(i,j)=h*g(i,j);( F2 A. ~! Y3 A) X
" p4 N$ a- O% N7 m" k end; y, t; ~' Z1 i& C- Z6 N
5 C( V9 T! d" c/ T. Z5 @end& v0 z0 x9 T: z* G
" o) Y6 t/ ]% {8 Q; R2 tresult=ifftshift(result);
1 ?: T- R2 F+ s3 n) Y5 Q5 y, A7 y h) w' F# A$ t, _# E3 S
X2=ifft2(result);; a; p2 f H# D9 T
e, d, [' B/ ~) M. TX3=uint8(real(X2));8 b/ K7 o8 a# R6 d" v
0 N* S* [3 l$ ~2 D0 j! q/ \subplot(133)
$ w+ G6 ~( j5 ]8 i# L$ e4 u1 z
imshow (X3);* T0 v4 o4 H; J+ t" \: ?' Y
4 q8 w- b8 u" U: @
title('Butterworth低通滤波所得图像');* I' p4 M/ w; }. N6 s% u
. _- ^) |: G6 U& M2 j6 s
! p, a0 l3 e& r7 a4 K
! u7 X2 \5 R6 T* K3 b1 |: J6 s* D3 ^9 p
# v0 q6 L6 v. |# T. \
|
|