.卷积基本概念 卷积常用于实现图像模糊,这个也是很多初学OpenCV开发者遇到的第一个疑问,为什么进行卷积操作之后,图像会模糊?在解释与说明卷积之前,首先假设有时间序列I、行下有三个星号对应的是另外一个短的时间序列,当它从I上面滑过的时候就会通过简单的算术计算产生一个新的时间序列J,如图4-1所示。 图4-1 通常,我们将用来滑动的部分称为卷积算子(kernel)或者卷积操作数(operator),而将时间序列I/J称为输入/输出数据。两个采样间隔与采样率必须相同,这个就是信号学中关于卷积的一个最简单的定义描述。从数学角度来说,上述示例是一个最简单的一维离散卷积的例子,它的数学表达如下: 而常见的图像大多数都是二维的平面图像,所以对图像来说,完成卷积就需要卷积算子在图像的X方向与Y方向上滑动,下面计算每个滑动覆盖下的输出,如图4-2所示。 图4-2 其中,图4-2a称为卷积核/卷积操作数(F),图4-2b是F在图像数据(I)上从左向右、从上向下,在XY方向上滑动经过每个像素点,图4-2c是完成整个移动之后的输出。因此二维的图像卷积操作可以表示为: