网上有些关于卷积的文章并没有表达的很清晰,本文直接简单,一看就懂。
一般原图比较大,卷积核比较小,不考虑那些边缘的填充等等细节性问题,简单粗暴,直接进入效果。
A= [
4 6 6 2 5 2 7;
3 6 7 6 5 6 1;
6 3 1 3 6 4 6;
5 4 4 4 4 7 6;
4 1 4 2 1 1 7;
7 1 1 5 2 4 1;
3 4 3 2 7 1 3]
B = [
3 1 1;
1 3 1;
3 2 2]
C=conv2(A,B) %这里可以选择 full same valid 默认为full
C=
12 22 28 18 23 13 28 9 7
13 39 58 57 45 48 32 30 8
33 56 78 76 83 68 87 37 21
30 62 76 73 77 94 78 49 14
35 47 59 48 55 59 92 53 25
40 45 52 60 51 62 60 53 20
28 48 49 38 59 36 57 27 18
24 30 37 34 34 50 28 20 5
9 18 23 20 31 21 25 8 6
ok ,C中红色的55是怎么来的呢?
实现过程:
1)对卷集核旋转180度,
rot90(B,2)=
2 2 3
1 3 1
1 1 3
2)把这个旋转后的模板与原图对应元素(A中的红色部分)相乘再相加。
55=1*2+ 3*2+6*3 +
4*1 + 4*3+ 4*1
4*1+ 2 *1+ 1*3
依次推下去,读者可以自己验证其它元素是否正确。