EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
MATLAB中的卷积运算
$ e) j, W8 r: g: o4 k! ]4 [2 N
" x' Z5 G ?. A$ d; f1 v0 WImfilter:线性空间滤波 conv2:二位卷积 conv2(a,b,same):将b作为模版在a上平移,最后的矩阵大小与a相同 例如:a =
% m# \' c3 F7 w1 I+ o% X. P7 M- ]1 A, m2 _9 i% b( k
4 t3 _, y, X3 Q* i7 {/ A* H f
1 2 3
4 X' g* D! d: }& a# O3 u ]3 y 4 5 6
; n8 b+ q% z1 a3 D# P' u& V4 | 7 8 9 b =
4 v5 }/ l9 P: B' t* e, M7 Q! ]; {/ d2 i5 x
/ Y$ X% ]+ r: @) I 1 1 10 k: ^3 v* V/ |1 ]
1 1 1- D9 ?9 A& E9 n1 W$ E& o6 A
1 1 1 conv2(a,b,'same’)= 12 21 16
7 n( |7 o3 o% P 27 45 33
8 y# D! B1 [/ A) s9 [$ s' I 24 39 28 这个是将b的模版中心位置置于a矩阵上,并且外圈补0. conv2(a,b,'full’)= 1 3 6 5 3
0 D1 m, @' \( f; _7 a6 r/ }! u% r: D 5 12 21 16 9( H, Q; q* D: V1 X
12 27 45 33 18
4 g9 m( k( {7 ~ 11 24 39 28 157 ^+ L/ \! m: L$ m3 n
7 15 24 17 9 如果是full的话,总将b的最右下角元素至于a矩阵的第一个元素作为模版,然后开始平移模版,外圈补0 卷积的计算步骤:
% B$ k$ i, \3 S7 @# w3 ]3 v6 c(1) 卷积核绕自己的核心元素顺时针旋转180度(这个千万不要忘了)9 P; _# X( J" J) Y
(2) 移动卷积核的中心元素,使它位于输入图像待处理像素的正上方
/ U& Q3 C# J2 m: m( S0 M, Y0 D(3) 在旋转后的卷积核中,将输入图像的像素值作为权重相乘
2 Z& G, \. i D(4) 第三步各结果的和做为该输入像素对应的输出像素 . g( p+ T, d( g- w! c
请看用水平和垂直差分算子对矩阵处理后的结果,然后细细体会 a =
8 E3 X) d$ N# ?2 k 2 1 3 1
1 Y' g0 `$ k. j; V" K8 J- h 1 2 1 2
/ @. F0 y2 O5 ?: ` 2 1 3 2; ]: S7 ^, O l1 p
1 3 1 2
9 D/ t Z: e2 @* D$ V, Z- _b =
! m' ?; A! A, R" |' B -1 -1 -1
2 U! t/ N3 E# j3 M+ l8 x8 p 0 0 01 ?+ b; h0 \( w; t* X
1 1 1
; R+ K7 {. r" A% I' @e = ( Z3 M, E* I9 Z3 Z& j% i6 ]5 I
-1 0 1
' W2 Z0 |5 p% `" V -1 0 1
/ z0 \( \& e1 \3 {( Y3 S -1 0 14 i5 C9 f- S( t0 s
conv2(a,b,'same')5 z) f/ v+ }3 b# e) p: d
c =
$ y2 Q* x9 m. O+ A -3 -4 -5 -3+ v, F$ e( ^: T4 z6 h
0 0 -1 -11 _& n4 M( s j3 ?. ^
-1 -1 -1 0
: Y0 Z9 r& b# g- b n 3 6 6 5
7 p' V/ m; o$ {6 A0 Fconv2(a,e,'same') P( T2 e; e8 c4 e. O% ^
d =
% K' {3 i9 y) |( a8 j5 U5 l -3 -1 0 4
7 e r0 O. l, y$ r" Z: I+ `( }/ v -4 -2 -1 7
1 v: |( D( J! [$ o -6 -1 0 5$ q0 L* F h" n4 w3 _* A
-4 -1 0 4
- ]3 X9 ^; k0 ^) \3 CC = 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 8 g, z) u E$ Y
. K+ o6 t0 u* ^ |