MATLAB conv2卷积 一看就懂

来源:互联网 发布:javascript经典例子 编辑:程序博客网 时间:2024/05/17 00:02

网上有些关于卷积的文章并没有表达的很清晰,本文直接简单,一看就懂。

一般原图比较大,卷积核比较小,不考虑那些边缘的填充等等细节性问题,简单粗暴,直接进入效果。

 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

依次推下去,读者可以自己验证其它元素是否正确。

   



1 0
原创粉丝点击