|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
fspecial
* L: y& d& d9 [
. J- V9 x, F3 b5 S. z) K
/ q0 C/ J' i$ ?" o2 B: k6 N3 TFspecial函数用于创建预定义的滤波算子,其语法格式为:6 E- x x3 t8 R0 \2 X
h = fspecial(type)
1 ]0 b: c& q- a- s( v7 Yh = fspecial(type,parameters,sigma)" o, P" I2 b" l! k2 y
参数type制定算子类型,parameters指定相应的参数,具体格式为:
5 m4 T# V" U6 @+ E& o: W# G3 }1 [type='average',为均值滤波,参数为n,代表模版尺寸,用向量表示,默认值为[3,3]。1 E0 h9 W. O4 q i+ j5 N2 C" l
type= 'gaussian',为高斯低通滤波器,参数有两个,n表示模版尺寸,默认值为[3,3],sigma表示滤波器的标准差,单位为像素,默认值为 2 K9 S1 T0 Y7 O+ \$ \3 l
# g4 p8 ~9 d: I. G! S: N' G0 [
- I0 Y& ~ m+ q. J3 Y0.5。
5 X$ e! L# O" O1 btype= 'laplacian',为拉普拉斯算子,参数为alpha,用于控制拉普拉斯算子的形状,取值范围为[0,1],默认值为0.2。: n: D# |5 x$ o# `3 f4 I
type= 'log',为拉普拉斯高斯算子,参数有两个,n表示模版尺寸,默认值为[3,3],sigma为滤波器的标准差,单位为像素,默认值为0.5/ ?' c) W8 X) ?! t3 g
type= 'prewitt',为prewitt算子,用于边缘增强,无参数。$ _1 f6 f+ p2 S2 D0 T+ k' G
type= 'sobel',为著名的sobel算子,用于边缘提取,无参数。+ k ]4 l" w' i' i
type= 'unsharp',为对比度增强滤波器,参数alpha用于控制滤波器的形状,范围为[0,1],默认值为0.2。5 D8 }% p. z/ f* ^3 ^
& H1 l- {+ U6 u; T! E, N
; Z9 d% A& x7 N1 R) T9 m) `
例子:
4 \- Y ^9 v' W; M& D8 W( q7 l' p. V1 ?" m
- w2 _& S' n8 `) J! t>> G=fspecial('gaussian',5)%参数为5,表示产生5*5的gaussian矩阵,如果没有,默认为3*3的矩阵。
# x9 f1 K0 k! S/ ~2 }. ^) }4 u9 N, L9 A, m _- T+ F6 Q0 s9 i6 c, N
7 I: r0 _: R w; U2 E% J
G =! A- v& I" @9 u+ w4 S" {: {
/ z$ @' E- l6 C7 R5 S' m+ K$ s2 \' E+ f( n+ e0 D8 y
0.0000 0.0000 0.0002 0.0000 0.00009 L: S$ n, c) A7 D7 s
0.0000 0.0113 0.0837 0.0113 0.00006 e) g5 x& R1 d: F: ~" l
0.0002 0.0837 0.6187 0.0837 0.0002" L- A1 |: W4 r" w
0.0000 0.0113 0.0837 0.0113 0.0000
, y3 X) Y% ^- B5 P7 T. m+ a 0.0000 0.0000 0.0002 0.0000 0.0000- U' G1 G% b7 A; L, i, `* ~# D9 K
4 ^ p& ]) r" k. k4 Q+ A
2 M' r# F) U5 h. @( K- B' [1 u& N>> G=fspecial('gaussian',5,1.5)%1.5为滤波器的标准差。' r3 a$ c$ x& b0 P
) ?* P6 n% [" f9 i- [0 w/ U
& _9 V5 T \' O( s& l6 P" t
G =
' M3 b2 L9 F# W2 F
2 ?! {/ {6 r& L% e$ s: j" ~
4 v/ ?3 Q9 S# [# z8 `' J) c8 H 0.0144 0.0281 0.0351 0.0281 0.0144
) ]0 V4 i* B _& x* g4 d 0.0281 0.0547 0.0683 0.0547 0.02813 W2 U$ f8 w: ` z% M9 `
0.0351 0.0683 0.0853 0.0683 0.0351 g N+ k' {5 A3 @" N7 ?
0.0281 0.0547 0.0683 0.0547 0.0281% P Q( Y1 E. o
0.0144 0.0281 0.0351 0.0281 0.0144
* y1 z" s) a8 l8 q) d3 b5 q+ Z6 }+ _. f r
$ v8 Z3 E; G$ ?: b9 ^, L+ P5 X>> R5 k5 K8 I6 [; |1 M; C
! }% Q- P* w4 z; o8 X9 A. c, Z+ z% x" Q6 M, }
>> G=fspecial('average')%默认为3*3的矩阵。均值滤波
9 ~1 h0 g& s" T$ N J
" X j- g. O% t9 H% Z" G7 ~4 K" ]& A9 H. M9 x' l( s5 J* }
G =$ s+ x2 U- K' f b- e& j. k" t2 Y
x" A. y! m6 _9 Q6 k4 ?+ o$ Y' Q5 i
, e. E! B% Z* ^8 r4 n- ? 0.1111 0.1111 0.1111; z% L$ @/ `( N: ~4 J
0.1111 0.1111 0.1111% E& a0 V. @! [7 [
0.1111 0.1111 0.1111( v) i/ T+ T9 J& J+ A# R
3 C( ?/ t0 d7 Y; _5 p/ H" D2 \/ y
: B6 O3 I% x5 ^, a/ @) R$ J>> G=fspecial('average',5)%会产生5*5的矩阵。" N9 N3 C. t3 H
4 p" [2 C& c+ b
8 {1 Q) m0 r& w0 C! x! `
& I. a" j, w2 n7 h0 M |
|