图像梯度处理

图像梯度
图像梯度是用于描述图像中像素值变化的方向和强度的概念。它类似于数学中的一阶导数,用于检
测图像中的显著变化区域,这些区域通常对应于图像的边缘。
图像是离散的,无法直接应用连续函数的导数,而是通过差分来近似计算梯度。
边缘区域通常具有较大的梯度值,而平滑区域的梯度值较小。通过比较相邻像素的差值,可以有效
地识别出图像中的边缘。
如果该列的右侧像素值与左侧像素值的差值较大,那么这表示该列处于边界位置。
对于平滑区域,由于左右两侧的像素值差异不大,因此差值接近于零,表示这些区域不包含边界。

类似地,在垂直方向上,也可以通过比较上下像素值的差异来识别图像的边缘。

边缘提取
滤波是应用卷积来实现的,卷积的关键就是卷积核
void filter2D (InputArray src,
OutputArray dst,
int ddepth,
InputArray kernel,
Point anchor = Point(-1,-1),
double delta = 0,
int borderType = BORDER_DEFAULT
);
src :输入图像,通常是一个二维的矩阵(如灰度图或彩色图)。
dst:输出图像,其数据类型由参数 ddepth 决定。
ddepth:表示目标图像的所需深度。常见的值-1:表示输出图像的深度与输入图像相同。
kernel:卷积核(或相当于相关核),是一个自定义的矩阵。

其他采用默认值。

Sobel****算子
Sobel算子通过两个方向上的卷积核来计算图像的梯度:水平方向垂直方向
void Sobel (InputArray src,
OutputArray dst,
int ddepth,
int dx,
int dy,
int ksize = 3,
double scale = 1,
double delta = 0,
int borderType = BORDER_DEFAULT
);
src:输入图像,支持单通道或多通道图像。
dst:输出图像,存储 Sobel 滤波器处理后的结果。
ddepth:指定输出图像的深度,通常设为 -1 表示与输入图像深度相同。
dx, dy:指定求导的方向。 dx=1, dy=0 计算水平方向的导数, dx=0, dy=1 计算垂直方向的导数。
ksize:指定Sobel算子的大小,通常选择3、5或7。

scale:可选缩放系数,用于调整导数值的范围。默认值为 1,表示不缩放。
在OpenCV中,使用函数convertScaleAbs()对参数取绝对值。
void convertScaleAbs(InputArray src,
OutputArray dst,
double alpha = 1,
double beta = 0
);
dst:处理后的图像的输出结果。
src:输入的原始图像。
alpha:比例系数,默认值为1

beta:亮度值的调节,默认值为0

Laplacian****算子
Laplacian(拉普拉斯)算子是一种二阶导数算****子,其具有旋转不变性,可以满足不同方向的图像边缘锐化(边缘检测)的要求。
Laplacian 算子类似二阶 Sobel导数,需要计算两个方向的梯度值。
void Laplacian(
InputArray src,
OutputArray dst,
int ddepth,
int ksize = 1,
double scale = 1,
double delta = 0,
int borderType = BORDER_DEFAULT
);
ddepth:表示目标图像的所需深度。
ksize:默认情况下,ksize 为 1。当ksize的值为1时,Laplacian 算子计算时采用的 3x3的核。

相关推荐
后端小肥肠33 分钟前
公众号躺更神器!OpenClaw+Claude Skill 实现自动读对标 + 写文 + 配图 + 存入草稿箱
人工智能·aigc·agent
爱可生开源社区41 分钟前
SCALE | 重构 AI 时代数据库能力的全新评估标准
人工智能
Jahzo1 小时前
openclaw本地化部署体验与踩坑记录--飞书机器人配置
人工智能·开源
Narrastory1 小时前
明日香 - Pytorch 快速入门保姆级教程(一)
人工智能·pytorch·深度学习
数据智能老司机1 小时前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机1 小时前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
Narrastory1 小时前
明日香 - Pytorch 快速入门保姆级教程(二)
人工智能·pytorch·深度学习
AI攻城狮1 小时前
OpenClaw Session 管理完全指南:Context 压缩、重置与持久化
人工智能·云原生·aigc
中杯可乐多加冰3 小时前
OpenClaw到底能做什么?有什么用?先装这几个实用的Skills
人工智能
千寻girling3 小时前
一份不可多得的 《 Python 》语言教程
人工智能·后端·python