MATLAB的conv2函数实现步骤(conv2(A,B)):

其中,矩阵A和B的尺寸分别为ma*na即mb*nb

① 对矩阵A补零,第一行之前和最后一行之后都补mb-1行,第一列之前和最后一列之后都补nb-1列(注意conv2不支持其他的边界补充选项,函数内部对输入总是补零);

二维卷积详细解释

② 将卷积核绕其中心旋转180度;

二维卷积详细解释

③ 滑动旋转后的卷积核,将卷积核的中心位于图像矩阵的每一个元素,并求乘积和(即将旋转后的卷积核在A上进行滑动,然后对应位置相乘,最后相加);下面分别是shape=full, same, valid时取输出图像大小的情况,其中:位置1表示输出图像的值从当前核的计算值开始(对应输出图像左上角),位置2表示到该位置结束(对应输出图像右下角)

二维卷积详细解释

 总结:

A*B,A补零,B旋转180°,然后B沿着A逐行遍历一遍,

遍历的时候,B和A重叠部分进行矢量积运算(例如图中的(2,1)和(1,2)进行矢量积得到为4),得到的值就是最终结果矩阵中的元素,举例:

二维卷积详细解释

相关文章:

  • 2021-05-14
  • 2021-11-18
  • 2021-10-04
  • 2021-05-29
  • 2021-09-20
  • 2021-09-16
  • 2022-12-23
  • 2021-09-28
猜你喜欢
  • 2021-11-27
  • 2021-08-28
  • 2021-08-20
  • 2021-10-27
相关资源
相似解决方案