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

Matlab中fspecial的用法

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

3 j' `* X1 U# G) FFspecial函数用于创建预定义的滤波算子,其语法格式为:4 V% A/ e6 a* D0 U
5 ~8 T$ {3 u; U& H  y. f$ S6 d1 l
h = fspecial(type)! h! g1 p* Q6 I1 p7 ]
h = fspecial(type,parameters,sigma)
! k- m$ E% T' g. c3 g. q6 L2 V# a- g6 C
参数type制定算子类型,parameters指定相应的参数,具体格式为:( \! H+ m; X& E- V2 W
type='average',为均值滤波,参数为n,代表模版尺寸,用向量表示,默认值为[3,3]。% Y+ `$ G0 F+ |  P5 d* q6 Q
type= 'gaussian',为高斯低通滤波器,参数有两个,n表示模版尺寸,默认值为[3,3],sigma表示滤波器的标准差,单位为像素,默认值为 ! P( w" ~  z' F6 J; A

1 t' |2 a2 x% `; Y# b0 p0.5。
- i( g5 P6 U: T2 K, Q7 w+ Ntype= 'laplacian',为拉普拉斯算子,参数为alpha,用于控制拉普拉斯算子的形状,取值范围为[0,1],默认值为0.2。9 s$ x, I9 B8 D7 [( {/ C
type= 'log',为拉普拉斯高斯算子,参数有两个,n表示模版尺寸,默认值为[3,3],sigma为滤波器的标准差,单位为像素,默认值为0.5
7 j/ v2 d9 S' l# r7 W* R& wtype= 'prewitt',为prewitt算子,用于边缘增强,无参数。
1 H) G( l; |) Z( Dtype= 'sobel',为著名的sobel算子,用于边缘提取,无参数。2 q* I5 ~0 I7 S3 W, g
type= 'unsharp',为对比度增强滤波器,参数alpha用于控制滤波器的形状,范围为[0,1],默认值为0.2。
& U8 o* B3 s  b3 K* w! K/ ~2 k6 F$ n8 a& G* h2 ?% b
例子:
# m" X9 N9 f  N; U# m2 d
" `; K$ ^2 L; J. y>> G=fspecial('gaussian',5)%参数为5,表示产生5*5的gaussian矩阵,如果没有,默认为3*3的矩阵。
% W& f* c0 |" k- d( @3 |
1 x1 ?/ B& l  W6 cG =
- E6 x1 B/ q9 `6 m
4 k# B- ^3 F) N8 i- {# f& K& D9 O    0.0000    0.0000    0.0002    0.0000    0.0000
8 @) T$ b+ q2 \  E; s5 o* k' B: x. |    0.0000    0.0113    0.0837    0.0113    0.0000% t' ]3 o6 E2 h7 J
    0.0002    0.0837    0.6187    0.0837    0.0002
' ~2 m, F5 p3 G6 x% j5 T6 U    0.0000    0.0113    0.0837    0.0113    0.0000, p5 R  {8 u  \' W# i3 t6 R
    0.0000    0.0000    0.0002    0.0000    0.0000
, M& e( }, G9 \" j>> G=fspecial('gaussian',5,1.5)%1.5为滤波器的标准差。
+ @# C7 k9 k" ^9 \' h$ A( L: h6 c8 F6 e; C
G =+ s5 W7 A& R  |7 E+ U
9 l( f& r% b3 k
    0.0144    0.0281    0.0351    0.0281    0.0144# ?+ Q* t' R2 X9 w2 ]$ L
    0.0281    0.0547    0.0683    0.0547    0.02813 B3 T3 C. z1 F
    0.0351    0.0683    0.0853    0.0683    0.03517 Y1 ]" f; F- n& e8 L
    0.0281    0.0547    0.0683    0.0547    0.0281
2 F0 O% _# X' o+ j( L- C; c6 H8 @    0.0144    0.0281    0.0351    0.0281    0.01448 I8 `( o* V  a! J) c
>>
7 L, q7 m& }( U
2 w8 f5 _& Q1 T% F% H>> G=fspecial('average')%默认为3*3的矩阵。均值滤波
" H: ]! q0 ~6 ^* ?1 Y/ |  T: X
$ L  M# c# y9 e1 h! A1 k" \G =
6 F2 `' u# J5 v+ J1 S- v' k6 w, {
9 L; D, d* f9 Y; {7 s5 |& ~    0.1111    0.1111    0.11114 {1 F2 C6 w4 R1 l3 {3 U% i
    0.1111    0.1111    0.1111) t& r2 @' k  y" F7 T( i0 C7 @
    0.1111    0.1111    0.1111
3 R5 }3 u: Z" E( H9 }5 r; m>> G=fspecial('average',5)%会产生5*5的矩阵。

该用户从未签到

2#
发表于 2020-8-13 14:05 | 只看该作者
Matlab中fspecial的用法
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-25 02:10 , Processed in 0.171875 second(s), 24 queries , Gzip On.

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

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

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