图像的卷积操作是图像处理中最常用的操作之一,一般是用核算子来实现卷积操作。什么叫核算子?请移步博文https://blog.youkuaiyun.com/lehuoziyuan/article/details/84101788
OpenCV用函数filter2D来实现对图像或矩阵的卷积操作。这个函数本质上做的是协相关操作,但是当核算子是对称的,则协相关操作也是卷积操作,计算公式如下。
当核算子不是对称的时候,则需要把核算子旋转180度,然后再把核算子的锚点改为(kernel.cols - anchor.x - 1, kernel.rows - anchor.y - 1),这样做的运算就是卷积运算了。
函数filter2D的原型如下:
C++: void filter2D(InputArray src, OutputArray dst, int ddepth, InputArray kernel, Point anchor=Point(-1,-1), double delta=0, int borderType=BORDER_DEFAULT )
参数意义说明:
src:源矩阵或图像
dst:输出矩阵或图像