Imfilter:线性空间滤波
conv2:二位卷积
conv2(a,b,same):将b作为模版在a上平移,最后的矩阵大小与a相同
例如:a =
6 m0 U$ D. U( D \: z* N* h
1 2 3
4 5 66 S( _; c9 r- \% f7 L5 h" {9 \% y; h
7 8 9
b =, [3 n% a7 l) N" f1 y, @& l
1 1 1. `8 r" S- d% e" I% S' \
1 1 1
1 1 1
conv2(a,b,'same’)=
12 21 16
27 45 33
24 39 28
这个是将b的模版中心位置置于a矩阵上,并且外圈补0.
conv2(a,b,'full’)=
1 3 6 5 3
5 12 21 16 9# l4 p3 p) _9 t0 }2 y
12 27 45 33 18
11 24 39 28 15! Q3 A- o7 L& |7 y. D
7 15 24 17 9
如果是full的话,总将b的最右下角元素至于a矩阵的第一个元素作为模版,然后开始平移模版,外圈补0
卷积的计算步骤:
(1) 卷积核绕自己的核心元素顺时针旋转180度(这个千万不要忘了)
(2) 移动卷积核的中心元素,使它位于输入图像待处理像素的正上方
(3) 在旋转后的卷积核中,将输入图像的像素值作为权重相乘9 l! u) G$ d$ e
(4) 第三步各结果的和做为该输入像素对应的输出像素
请看用水平和垂直差分算子对矩阵处理后的结果,然后细细体会
a = ( F/ @( }& C0 Y; A8 f9 v
2 1 3 1
1 2 1 2
2 1 3 24 u& k) @' e7 J6 m
1 3 1 2
b =
-1 -1 -1$ U! ~6 c7 }, L2 D; F' V: R
0 0 0
1 1 1, z8 H8 G' _5 M$ l) h" U
e = " \: [" a1 I- ~0 T) D
-1 0 1
-1 0 1
-1 0 1) g$ Y* J& I, y' l2 \- ]! F
conv2(a,b,'same')
c = 6 z4 {8 | M" r) x
-3 -4 -5 -3( p" z, a3 U6 ^8 k
0 0 -1 -1) Z5 d; A' N" A% G- H. a& U w0 R% t: L
-1 -1 -1 0
3 6 6 52 ~6 f* S5 @7 y" O: q0 M
conv2(a,e,'same'): v9 T6 _! X4 i2 W* Z
d =
-3 -1 0 4
-4 -2 -1 7# s; {$ p& f3 n$ u
-6 -1 0 5
-4 -1 0 4
| 欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) | Powered by Discuz! X3.2 |