卷积是图像处理中一个操作,是kernel在图像的每个像素上的操作。Kernel本质上一个固定大小的矩阵数组,其中心点称为锚点(anchor point)。把kernel放到像素数组之上,求锚点周围覆盖的像素乘积之和(包括锚点),用来替换锚点覆盖下像素点值称为卷积处理。数学表达如下:

$${rm{H}}left( {x,y} right) = sumlimits_{i = 0}^{{M_i} - 1} {sumlimits_{j = 0}^{{M_j} - 1} {Ileft( {x + i - {a_i},y + j - {a_j}} right)Kleft( {i,j} right)} }$$

卷积核的工作原理

   Sum = 8x1+6x1+6x1+2x1+8x1+6x1+2x1+2x1+8x1。

  中心锚点像素 = sum / (m*n)。

常用的算子包括

1.Sobel卷积核:

卷积核的工作原理

 

   卷积效果如图所示:

卷积核的工作原理

2.Robert卷积核

卷积核的工作原理

 

   卷积效果如图所示:

卷积核的工作原理

3.拉普拉斯算子

  得到的是整个图像的差异,常用于边缘检测,获取轮廓。

卷积核的工作原理

 

  卷积效果如下:

 卷积核的工作原理

4.边缘处理

  在卷积开始之前增加边缘像素,填充的像素值为0或者RGB黑色,比如3x3在四周各填充1个像素的边缘,这样就确保图像的边缘被处理,在卷积处理之后再去掉这些边缘。,图像卷积的时候边界像素,不能被卷积操作,原因在于边界像素没有完全跟卷积核重叠,所以当3x3卷积核滤波时候有1个像素的边缘没有被处理,5x5卷积核滤波的时候有2个像素的边缘没有被处理。

卷积核的工作原理