1.常见算子
有关卷积和滤波的基本概念解释:【OpenCV基础】第九课:图像模糊。
卷积计算在图像处理中常见的三种用途:
- 检测边缘。
- 图像模糊。
- 图像锐化。
卷积核也常被称为“算子”。
假设有原图如下:
👉Robert算子:
[ + 1 0 0 − 1 ] \begin{bmatrix} +1 & 0 \\ 0 & -1 \\ \end{bmatrix} [+100−1]
[ 0 + 1 − 1 0 ] \begin{bmatrix} 0 & +1 \\ -1 & 0 \\ \end{bmatrix} [0−1+10]
👉Sobel算子:
[ − 1 0 1 − 2 0 2 − 1 0 1 ] \begin{bmatrix} -1 & 0 & 1 \\ -2 & 0 & 2 \\ -1 & 0 & 1 \\ \end{bmatrix} −1−2−1000121
[ − 1 − 2 − 1 0 0 0 1 2 1 ] \begin{bmatrix} -1 & -2 & -1 \\ 0 & 0 & 0 \\ 1 & 2 & 1 \\ \end{bmatrix} −101−202−101
👉拉普拉斯算子:
[ 0 − 1 0 − 1 4 − 1 0 − 1 0 ] \begin{bmatrix} 0 & -1 & 0 \\ -1 & 4 & -1 \\ 0 & -1 & 0 \\ \end{bmatrix} 0−10−14−10−10
2.API
void filter2D(
InputArray src, //输入图像
OutputArray dst, //输出图像
int ddepth, //位图深度
InputArray kernel, //卷积核/算子
Point anchor = Point(-1,-1), //锚点
double delta = 0, //计算出来的像素值+delta
int borderType = BORDER_DEFAULT //边缘填补方式
);
其中kernel
是自定义的算子。
3.代码地址
想要获取最新文章推送或者私聊谈人生,请关注我的个人微信公众号:⬇️x-jeff的AI工坊⬇️
个人博客网站:https://shichaoxin.com
GitHub:https://github.com/x-jeff