图像梯度处理

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

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

边缘提取
滤波是应用卷积来实现的,卷积的关键就是卷积核
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的核。

相关推荐
一点一木4 小时前
深度体验TRAE SOLO移动端7天:作为独立开发者,我把工作流揣进了兜里
前端·人工智能·trae
Lee川4 小时前
mini-cursor 揭秘:从 Tool 定义到 Agent 循环的完整实现
前端·人工智能·后端
weelinking5 小时前
【产品】00_产品经理用Claude实现产品系列介绍
数据库·人工智能·sql·数据挖掘·github·产品经理
Agent产品评测局5 小时前
制造业模具管理AI系统,主流产品能力对比详解:2026年智能制造选型深度洞察
人工智能·ai·chatgpt·制造
研华科技Advantech5 小时前
如何用一套实训设备,打通工业AI预测性维护技术全流程?
人工智能
Lab_AI5 小时前
AI for Science: MaXFlow AI Agent+ 报告体验双升级,让AI智能体更高效易用!
人工智能·ai for science·ai agent·ai智能体
李坤6 小时前
让 Codex 和 Claude 互相 Review:告别手动复制
人工智能·openai·claude
南屹川6 小时前
【API设计】GraphQL实战:从REST到GraphQL的演进
人工智能
KJ_BioMed6 小时前
当计算生物学遇上生成式AI:从头设计生物分子的“新范式”初探
人工智能·从头设计·生命科学·生物医药·科研干货·科晶生物
明月醉窗台6 小时前
深度学习(17)YOLO训练中的超参数详解
人工智能·深度学习·yolo