EDA365电子论坛网
标题:
Matlab中fspecial的用法
[打印本页]
作者:
ulppknot
时间:
2020-8-13 13:21
标题:
Matlab中fspecial的用法
" x- k- N0 @# x, Q6 O
Fspecial函数用于创建预定义的滤波算子,其语法格式为:
% f. }8 A5 V a; Y% C
& |- l9 L/ |$ B: W. `6 Z
h = fspecial(type)
: V l! }6 ?$ \
h = fspecial(type,parameters,sigma)
- {) D# `# h- d; Y" C6 P
- i# s7 C% z3 f
参数type制定算子类型,parameters指定相应的参数,具体格式为:
. c/ f; T. i3 s7 X1 v. {
type='average',为均值滤波,参数为n,代表模版尺寸,用向量表示,默认值为[3,3]。
1 m# \3 G5 C* l2 w1 ?
type= 'gaussian',为高斯低通滤波器,参数有两个,n表示模版尺寸,默认值为[3,3],sigma表示滤波器的标准差,单位为像素,默认值为
+ @8 G1 V0 J# t( a% i) l
7 M, A5 g& W C4 ^. T
0.5。
; S+ m: i9 Z8 Q; [" G
type= 'laplacian',为拉普拉斯算子,参数为alpha,用于控制拉普拉斯算子的形状,取值范围为[0,1],默认值为0.2。
6 Q+ B5 X r/ e' } R u6 F- h
type= 'log',为拉普拉斯高斯算子,参数有两个,n表示模版尺寸,默认值为[3,3],sigma为滤波器的标准差,单位为像素,默认值为0.5
, s7 O0 z& c( O. Q% l( |
type= 'prewitt',为prewitt算子,用于边缘增强,无参数。
: H) B' {) N* ~2 T: {
type= 'sobel',为著名的sobel算子,用于边缘提取,无参数。
4 u6 \5 O5 [6 h/ A2 j3 r- ?& i( k0 J0 M
type= 'unsharp',为对比度增强滤波器,参数alpha用于控制滤波器的形状,范围为[0,1],默认值为0.2。
: r$ K3 w( }$ P) [+ Q) c- Q
7 @% U. M$ F9 m" c" A- t
例子:
9 A0 O! z9 n, s5 ?! p6 h0 K
: L r; c5 @0 z( B- u
>> G=fspecial('gaussian',5)%参数为5,表示产生5*5的gaussian矩阵,如果没有,默认为3*3的矩阵。
# s# z/ T- J* _2 s. Y
6 F1 B) ]& f5 q. Y5 u1 V2 v2 h
G =
6 |' G6 f- d$ u
1 L# R$ X+ r h; J% x$ O' }( S- X$ }6 |
0.0000 0.0000 0.0002 0.0000 0.0000
7 p; u" J7 z6 g$ P8 S" x2 K& e8 D
0.0000 0.0113 0.0837 0.0113 0.0000
. S6 h% f+ u1 R/ i7 i0 I) j
0.0002 0.0837 0.6187 0.0837 0.0002
, q" ^6 X& x7 C+ l
0.0000 0.0113 0.0837 0.0113 0.0000
9 X' X: v: e- A6 k3 D
0.0000 0.0000 0.0002 0.0000 0.0000
7 k- I) L2 R6 N) x1 x! z
>> G=fspecial('gaussian',5,1.5)%1.5为滤波器的标准差。
! ^6 h) n5 Q) J* `; J- N
4 n7 U3 [# @. M( o7 ]1 N" E
G =
, X# g7 s) d! i8 e9 d
: J) q U! d, k! f. I; |( A4 w( Q7 S
0.0144 0.0281 0.0351 0.0281 0.0144
' _+ K! W/ `$ T1 _( v+ y# p' t
0.0281 0.0547 0.0683 0.0547 0.0281
' }- t0 N% V# p
0.0351 0.0683 0.0853 0.0683 0.0351
! k. x1 | ]9 q7 K
0.0281 0.0547 0.0683 0.0547 0.0281
V7 T' j! I7 v6 y+ R# a7 W; i0 ]
0.0144 0.0281 0.0351 0.0281 0.0144
5 o5 c4 x; A. I2 P3 q; [- ~0 T
>>
, |5 R( {7 Z6 r& T9 f
+ F# `9 Q/ \/ C, C3 U6 o- e. c3 H
>> G=fspecial('average')%默认为3*3的矩阵。均值滤波
( @- @. G q" ]
- i+ ]. a3 G9 C
G =
, k: X) b, V4 M0 M l
, Z& N# e0 w. |( Y! S
0.1111 0.1111 0.1111
3 N3 K. a1 A5 ]( i+ b" |
0.1111 0.1111 0.1111
- S5 c& p' ^6 B& j( z% Q4 p
0.1111 0.1111 0.1111
. ^/ D) l0 P; f( H$ c) D9 ]: `* ?
>> G=fspecial('average',5)%会产生5*5的矩阵。
作者:
xiaogegepcb
时间:
2020-8-13 14:05
Matlab中fspecial的用法
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2