Matlab应用(这里考虑二维矩阵,在图像中对应)两个图像模糊(边缘)操作,假设矩阵A、B,A代表源图像,B代表卷积模板,那么B的取值决定最后运算的结果。
Matlab中的应用函数——conv2(二维卷积,一维对应conv)
函数给出的公式定义为:
同一维数据卷积一样,它的实质在于将卷积模板图像翻转(旋转180),这里等同于一维信号的翻转,然后将卷积模板依次从上到下、从左到右滑动,计算在模板与原始图像交集元素的乘积和,该和就作为卷积以后的数值。
为了验证后续矩阵卷积转化为矩阵相乘,这里给出的conv2的实例描述:
假设矩阵A(4*3)、B(2*3)如下:
首先,B需要旋转180,
命令旋转2次90即可:
B = rot90(rot90(B));或者B = rot90(h,2); 结果为:
其次:命令conv2函数:
C = conv2(A,B,‘shape’),该函数的具体操作图示:
依次计算直至结束,结果数据为:
shape的取值有三种,full代表返回卷积以后的全部数据,size为(mA+mB-1,nA+nB-1)的数据;same代表返回卷积以后的原图size (mA,nA)的部分数据;valid返回size为(mA-mB+1,nA-nB+1)的数据,指的是模板元素全部参加运算的结果数据,即源图像和模板的交集为模板。