找回密码
 注册
关于网站域名变更的通知
查看: 481|回复: 1
打印 上一主题 下一主题

基于matlab的Butterworth低通滤波程序分享

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-7-8 15:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
clear all;) J7 j3 w8 p% T+ S) s; o

0 Z* G0 e, Q+ R+ Y% K+ Rclose all;
9 W5 U. T: A7 s5 X% f! `
5 G* ?" M# J" NP=input('inputimage data:');
3 E5 v  y2 j8 \( C' x2 J3 Y0 I! y+ n2 T
d=size(P);2 J6 w# s5 S6 t' j" b7 s
0 J2 l" n! I- v1 d. z
if(d(3)>1)
$ \6 C0 v! q8 e, D& H. `
# y; g( z  W& x/ Z    P=rgb2gray(P);
9 p$ M5 b, U8 D0 z2 O
3 w0 C; S- _3 N4 j- Tend
$ S: \$ l( {% ~0 l8 v; ?& I+ t. u+ t/ J1 E9 B  H
subplot(131);imshow(P);
1 D' c0 N1 S3 O/ H+ V9 {  j7 y' e# h
title('原始图像');
- a2 n- p  e/ z  F' _: ~' c" U, P1 n2 m- O
P1=imnoise(P,'salt& pepper',0.02);& A" a4 X, ~1 w5 m
- t- K; ]' l  D9 i
subplot(132)
" }1 @; M8 x. s- G: V3 p/ n# K9 x- g
imshow (P1);6 N  r7 v9 P) L6 [3 }4 N5 s  f

3 B7 L; H) H4 L$ F/ ptitle('加入椒盐噪声后的图像');
4 |( S4 `; c# f" g4 d, a8 I  }) P, h' z1 q) F
f=double(P1);" ~, U. M5 Z/ s' }6 M, b3 D

$ `" e) C! [- \6 N" Sg=fft2(f);%傅里叶变换
$ {1 x" a* W% {4 H2 T. O& y6 H( o8 k5 C! k% o- \0 [
g=fftshift(g);%转换数据矩阵fftshift是针对频域的,将FFT的DC分量移到频谱中心7 N, p+ S; O9 [2 \  |
即对频域的图像,- ~, |7 l' z' Q9 Z! Z- ^
  g6 n" L' O6 x' b" G) O1 l4 L( g
[M,N]=size(g);) g6 l6 ^# J3 B9 y

% |  G/ ?- q* i5 ^* k( f  f4 r( FD0=input('inputnonnegative dhreshold D0=');! e7 _6 ]4 @) w) C2 B* d0 U
9 S( }! q; `' U6 C
n=input('input theorder of filtering n=');3 {" O, K4 C& W6 G/ I- H% Q
5 X6 ?. o! M. c; ~# r5 ?# e# p
n1=fix(M/2);
) t. S, S' b4 }: g; I" X
7 v: w$ C7 R0 Qn2= fix(N/2);5 h- }1 c0 f- W$ I
8 _6 X" k7 n' i# x: _
for i=1:M9 w7 P) w% U$ ^+ C) N; S/ r

- \8 Z  ^) C9 y3 @    for j=1:N( T+ E& o" a/ r" S

+ O3 g  h4 O7 I4 p1 N2 m# T        d=sqrt((i-n1)^2+(j-n2)^2);. w8 g9 b% e7 m2 [5 d4 m2 p  h
4 D# S! O$ g; V( x0 z
h=1/(1+(d/D0)^(2*n));# j+ [, \5 o) b7 I& C

' R8 u2 U( |$ g& ^        result(i,j)=h*g(i,j);! o* s8 W0 O2 k% {9 Y2 D' [6 x
9 l7 E) ^+ q$ |* m& e
    end
: l2 Z/ l3 Y! V( ~: `- n
8 V3 }8 _+ |' {end; r# U5 k; Q2 ^3 L7 k* s
4 |- Z4 }7 ^$ W8 D2 @1 s
result=ifftshift(result);
0 w( P0 X0 z, W6 \
' s/ W" o6 v- T3 YX2=ifft2(result);6 g( }1 S6 l( W" a$ ]; H$ L( ]

& V& U7 i- W* d, W$ D! Z7 {X3=uint8(real(X2));
5 t8 K2 R& Y( d* W  `; P/ h2 j  b) Q  k
1 ~  {/ W( @: v* r6 Jsubplot(133)
# Y. q: b1 W% z1 T5 [- t8 l/ v" v9 |& l. G- ~3 @- |
imshow (X3);
% K' ^6 |, L6 ^
# I( \; e! A; ]) ftitle('Butterworth低通滤波所得图像');
* p( }+ ^6 C9 n9 \$ v
8 t7 N+ e2 b' W* r) }( U5 B' w+ d* Y3 j$ Z
) G: U/ f* x4 j/ B

* j6 V: z* ?( @% f4 Q
( ]2 g6 S; q- o: M* e

该用户从未签到

2#
发表于 2020-7-8 17:40 | 只看该作者
基于matlab的Butterworth低通滤波程序
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 16:10 , Processed in 0.187500 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表