前言
1.在图像处理中,特别在深度学习图像处理,最常看到图像卷积操作,那什么是卷积呢,卷积就是两个原函数产生一个新的函数,两个函数之间的这种操作就称着卷积,在图像这里的图像卷积也用输入的图像矩阵与一个特定的矩阵进行操作得到一个新的图像。
2.那先了解二维矩阵的卷积是如何运算,之后再讲讲卷积在图像中的应用。
卷积运算
1.一个模板矩阵和另一个输入矩阵进行卷积,是使锚点覆盖在待计算矩阵元素上面,然后计算元素值与被覆盖的卷积核中的值的乘积和。将这个和赋值给当前元素,这就是卷积的过程
那现在假设有待处理矩阵src,模板是Kernel,如下图:
2.计算公式如下:
3.这里只演示运算方式,先不对卷积核进行180度旋转,也暂时不考虑扩展边界问题,只拿卷积核与输入矩阵做运算,那么一个44的矩阵与一个33的核运算,不超出边界的计算的话,最终只得到一个22的矩阵,步骤如下图。
那么最终得到的矩阵是一个22的矩阵,如下图:
4.最终得到的矩阵与原矩阵大小不一致,这肯定不是我们想要的结果,那么这里就要用到扩展边界这个概念,如果不是很清楚什么是边界扩展,可以看我之前的博文,我这里使用特定的值(0)来扩展边界,扩展的大小为卷积核的半径。扩展之后如下图:
运算时卷积核滑动的步骤:
运算得到的结果:
这里只演示卷积的运算方法,没有对卷积核做180度的旋转,也没有对负数取绝对值。