EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
MATLAB中的卷积运算- v# T2 H3 l: ]8 M
~- G' l7 C" s+ U8 Y+ _
Imfilter:线性空间滤波 conv2:二位卷积 conv2(a,b,same):将b作为模版在a上平移,最后的矩阵大小与a相同 例如:a =
' ^, c$ @1 c: e. R1 |
+ ]9 `! i, t) {' x! e
7 T/ f/ D4 @, H9 E p* k 1 2 3+ ?" L% |1 H- A. i
4 5 68 K- J% @ a" F" j, V
7 8 9 b =9 r% a3 j+ P+ H* B
& |+ T8 E: i' H0 Q7 a, H' @: D% [% c( G
1 1 19 |! B3 f' C, Y7 \/ k. o. U; q2 t! H
1 1 1
8 x8 l! e( O0 b, R+ S2 U l 1 1 1 conv2(a,b,'same’)= 12 21 16, W8 _. |1 M- J2 d" N
27 45 33- V8 ~0 [! F5 Q8 u9 F* X6 }6 R6 ?0 D
24 39 28 这个是将b的模版中心位置置于a矩阵上,并且外圈补0. conv2(a,b,'full’)= 1 3 6 5 3
1 v3 [: l% O9 j3 P p 5 12 21 16 9
- r- c, I% x$ `: s# [ 12 27 45 33 18
) ^5 E' k: R1 B1 X8 v 11 24 39 28 15
6 ?+ b Z. l1 ] w! }6 B 7 15 24 17 9 如果是full的话,总将b的最右下角元素至于a矩阵的第一个元素作为模版,然后开始平移模版,外圈补0 卷积的计算步骤:9 K6 v, [+ g; l2 f1 ]
(1) 卷积核绕自己的核心元素顺时针旋转180度(这个千万不要忘了)/ s( W- @* m- e) {
(2) 移动卷积核的中心元素,使它位于输入图像待处理像素的正上方
8 ?. e" Z0 {' l(3) 在旋转后的卷积核中,将输入图像的像素值作为权重相乘, F: q4 m7 U/ D$ f+ d, G
(4) 第三步各结果的和做为该输入像素对应的输出像素
! @. T0 ^7 O& ^请看用水平和垂直差分算子对矩阵处理后的结果,然后细细体会 a = 7 y7 s6 U. l& h( k
2 1 3 1
: j# t' m1 j" i+ Q6 G1 w: e 1 2 1 2
: V0 ]: k( d# X4 m 2 1 3 2" |3 N7 }2 s- L: Q7 A
1 3 1 2$ A( K& T3 w% ~
b =
3 ~9 ^( U( E$ u- I2 ^! w, @ -1 -1 -1
3 S, d6 D' B% t/ e9 } 0 0 0# g$ _/ |7 L/ M& o: x
1 1 1
% P; G9 C5 G5 [6 g' p5 \e = $ Y: t9 {& N8 u" g( o8 i
-1 0 1; d+ \# y6 u* T; U# T% Y! l
-1 0 1! l- y, _0 @* r, A; X" t
-1 0 1
$ G3 U5 Q; l( ?# M7 [conv2(a,b,'same') s4 K& E/ |* N& [) H# Z4 e0 w
c =
' [& ]3 s& p0 W/ u -3 -4 -5 -3: k( @9 M2 h. i# w7 Y
0 0 -1 -1 c( U. F8 s3 c( T
-1 -1 -1 0$ g i4 R" `8 L* s
3 6 6 5
! o% L5 e/ Q0 T& }7 ~: Rconv2(a,e,'same')- B' P! G. D( a2 _' c. _! s0 I) U
d =
5 F2 D# G' T6 b: H) | -3 -1 0 4( K$ m/ {* y- |8 |4 @) F( b
-4 -2 -1 7# N; L0 y' o2 S* L- f- y) d
-6 -1 0 5) |5 _5 n) b- A% O1 G4 q7 R7 f
-4 -1 0 4 9 S! m% V( _+ ` ~
C = conv2(A,B)返回矩阵A和B的二维卷积C。若A为ma×na的矩阵,B为mb×nb的矩阵,则C的大小为(ma mb 1)×(na nb 1)。 %在full情况下 imfilter与conv2区别在于没有将b首先180°转置,Imfilter(A,B,'replicate'),对于边界外圈复制边界值,而conv2的边界值为0 " ]) V2 q1 q' D6 `' K" w
9 r4 C5 H. f7 w0 ?- G! l% c# ~
|