|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
clear all;
: x# b# Y( f& T
! s9 s5 a. R; m, v6 Pclose all;" Q @8 u3 U% u2 Q) V
: Y8 O: D8 {/ t, j9 y4 r3 G; i
P=input('inputimage data:'); v: l2 z# U* G/ E
9 N( ]! A& }( U! Q6 J! b Vd=size(P);3 T7 W- _5 z5 f7 r, x
; D' H2 O. H6 @ k8 E' O- D4 v$ w, Iif(d(3)>1)
! t9 r- T0 |# I6 `
2 |. A+ A. F0 ]) `; X; U, y P=rgb2gray(P); Y. U" c z; T$ J. l$ j- E
+ w' ?3 @4 q4 R- S2 P' w2 ~end" ]5 H% ^9 Z$ H- f3 Y& V
2 I1 M& ~" |$ {- z7 {subplot(131);imshow(P);' i* f% v8 f! F8 ^1 n, J6 }
8 h2 ?+ c0 W1 b1 f0 O; \8 Ptitle('原始图像');
: ]" H2 L8 f' [8 Y8 ]4 a
" }( ?% [( k$ H _0 v/ V! O7 l3 n# [P1=imnoise(P,'salt& pepper',0.02);
/ T/ l! h' w9 z
/ V5 t+ ]" P% F4 L1 h# c2 T, @subplot(132)
3 e: s' D3 v: }7 T- }8 p& z# b/ r1 A$ f/ s9 P
imshow (P1);7 W u+ g, R; o. u
4 V& M9 T' W$ r# I% o# _5 R9 Dtitle('加入椒盐噪声后的图像');
I+ K- m4 Z! m( {5 X
; o8 H( V. ]( ^$ Cf=double(P1);4 W' T1 j, X! ~
3 I2 w2 V+ `7 k
g=fft2(f);%傅里叶变换, M: K$ Q3 W h2 l9 N( g
& a& Z# X' `( m
g=fftshift(g);%转换数据矩阵fftshift是针对频域的,将FFT的DC分量移到频谱中心
" E: X- a" @* a# y+ n% j2 i3 V/ Y即对频域的图像,
+ N9 a3 l7 F6 \. p; A7 }; B, K1 q* M& Z% x! h3 t
[M,N]=size(g);; H% n" q5 l" J& W6 r9 N# K
( n5 Z1 @7 |% p" y
D0=input('inputnonnegative dhreshold D0=');
- R0 v- U1 `1 D6 b$ d! w7 ?+ H8 G1 {/ f- S% e$ ~2 U% I& ]8 ?
n=input('input theorder of filtering n=');
& _2 K3 q% N- B |
$ f9 X- @( j% }* on1=fix(M/2);8 u8 D: j! e, L6 |# v* d! E
! f j4 {+ T4 q rn2= fix(N/2);
6 e2 Y, }& n- ~" O( B
# C% ^4 ]$ t2 N5 b2 r# P) A1 hfor i=1:M6 \7 t i6 }9 n3 m; W8 r
7 k7 j! A7 V+ b* p& H for j=1:N
& E' C% i/ y* D2 Y& Z& I: v( T8 L. `* H- |
d=sqrt((i-n1)^2+(j-n2)^2);9 u2 Q' @- B5 h" j4 O+ S. h8 h9 \3 |+ k
H+ s1 e" f3 Rh=1/(1+(d/D0)^(2*n));) ?( k) C/ F1 _$ N* [# o2 t
* t$ f2 z% e+ `) o
result(i,j)=h*g(i,j);
- z, C W% R; q2 M! S0 @8 f7 B
0 i- Z8 h9 U2 |4 s7 F! x9 z end% ]0 o. v D. Y6 @3 h4 B; P, p
% T" a& T9 J4 ]end: t" G) Z* L" \6 A$ q2 a
) k! \/ ?4 z/ E
result=ifftshift(result);
4 H1 F/ q* `% d0 g2 W7 _- X1 g; G2 y0 K, q, \
X2=ifft2(result); p! j d8 b* ~6 s' m2 m$ U) `
/ e$ c; m7 Q( e
X3=uint8(real(X2));
e( y4 ]) J) i5 Q6 Y# @( x+ H( h
' Y9 i) y! E/ R% B1 v7 p! esubplot(133)3 }/ [. G( R' a: d/ j$ o! b/ t0 X
7 u3 j) M' a u. X& D9 j" F
imshow (X3);2 {& F& N6 D( H, T7 J
! h9 t) r6 [/ T7 J
title('Butterworth低通滤波所得图像');) O4 D* @; f2 H
9 I# V* Z( E3 Z+ {: V K( [, p: j4 d6 P# \& U9 K0 S
% J2 i/ A$ T4 r" {! G' ?, x) ]- _% y: p. b
/ g. M( y# `( c |
|