最近在看图像处理,卷积运算这一块也查了很多,但是感觉都写的太复杂,我这里简单的写
一下卷积到底是一个什么计算过程。
假设有一个卷积核 h,就一般为 3*3 的矩阵:
有一个待处理矩阵 x:
h*x 的计算过程分为三步
第一步,将卷积核翻转 180°,也就是成为了
第二步,将卷积核 h 的中心对准 x 的第一个元素,然后对应元素相乘后相加,没有元素的地
方补 0。
这样结果 Y 中的第一个元素值 Y11=1*0+2*0+1*0+0*0+0*1+0*2+-1*0+-2*5+-1*6=-16
第三步每个元素都像这样计算出来就可以得到一个输出矩阵,就是卷积结果
……………………
像这样计算,其他过程略了。
最后结果
注意:
我这里是用 0 补全原矩阵的,但我们不一定选择 0。在 Opencv 的 cvFilter2D 函数中,就没
有使用 0 来补全矩阵,而是用了边缘拷贝的方式,下一篇我会介绍 Opencv 的 CvFilter2D 函
数卷积运算过程。