首页 > 代码库 > matlab的二维卷积操作(转)

matlab的二维卷积操作(转)

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表示到该位置结束(对应输出图像右下角)

技术分享

 

matlab的二维卷积操作(转)