本文为原创文章,未经本人允许,禁止转载。转载请注明出处。
1.常见算子
有关卷积和滤波的基本概念解释:【OpenCV基础】第九课:图像模糊。
卷积计算在图像处理中常见的三种用途:
- 检测边缘。
- 图像模糊。
- 图像锐化。
卷积核也常被称为“算子”。
假设有原图如下:
👉Robert算子:
\[\begin{bmatrix} +1 & 0 \\ 0 & -1 \\ \end{bmatrix}\] \[\begin{bmatrix} 0 & +1 \\ -1 & 0 \\ \end{bmatrix}\]👉Sobel算子:
\[\begin{bmatrix} -1 & 0 & 1 \\ -2 & 0 & 2 \\ -1 & 0 & 1 \\ \end{bmatrix}\] \[\begin{bmatrix} -1 & -2 & -1 \\ 0 & 0 & 0 \\ 1 & 2 & 1 \\ \end{bmatrix}\]👉拉普拉斯算子:
\[\begin{bmatrix} 0 & -1 & 0 \\ -1 & 4 & -1 \\ 0 & -1 & 0 \\ \end{bmatrix}\]2.API
1
2
3
4
5
6
7
8
9
void filter2D(
InputArray src, //输入图像
OutputArray dst, //输出图像
int ddepth, //位图深度
InputArray kernel, //卷积核/算子
Point anchor = Point(-1,-1), //锚点
double delta = 0, //计算出来的像素值+delta
int borderType = BORDER_DEFAULT //边缘填补方式
);
其中kernel
是自定义的算子。