OpenCV 图像卷积

202 阅读2分钟
图像卷积
  • 卷积操作: 卷积操作需要给出一个卷积函数与信号进行计算
  • 卷积形式: 卷积形式需要给出一个卷积模板与原图像进行卷积计算

整个过程可以看成是一个卷积模板在另外一个大的图像上移动,对每个卷积模板覆盖的区域进行点乘,得到的值作为中心像素点的输出值。

卷积首先需要将卷积模板旋转180°,之后从图像的左上角开始移动旋转后的卷积模板,从左到右,从上到下依次进行卷积计算,最终得到卷积后的图像。卷积模板又被称为卷积核或者内核,是一个固定大小的二维矩阵,矩阵中存放着预先设定的数值。

121fad85cc4549f0b6786a621bf38941~tplv-k3u1fbpfcp-zoom-in-crop-mark-1304-0-0-0.image.gif

API

参数

  • 参数一:src,输入图像。

  • 参数二:dst,输出图像,与输入图像具有相同的尺寸和通道数。

  • 参数三:ddepth,输出图像的数据类型(深度),根据输入图像的数据类型不同拥有不同的取值范围。当赋值为-1时,输出图像的数据类型自动选择。

  • 参数四:kernel,卷积核,CV_32FC1类型的矩阵。

  • 参数五:anchor,内核的基准点(锚点),默认值(-1,-1)代表内核基准点位于kernel的中心位置。基准点即卷积核中与进行处理的像素点重合的点,其位置必须在卷积核的内部。

  • 参数六:delta,偏值,在计算结果中加上偏值。

  • 参数七:borderType,像素外推法选择标志。默认参数为BORDER_DEFAULT,表示不包含边界值倒序填充。