图像梯度处理

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

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

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

相关推荐
HavenlonLabs1 分钟前
重塑链上未来的隐形基石:长期主义下的生态演进
大数据·人工智能·安全·区块链
Jutick6 分钟前
远程 MCP 已配置,为什么你的 AI 开发工具仍查不到 A 股行情?
人工智能·mcp
phltxy7 分钟前
Spring AI Agents 智能体模式实战
java·人工智能·spring
li-xun10 分钟前
2026年6月14日博客精选
人工智能·ai
DogDaoDao20 分钟前
【GitHub】 Headroom 深度解析:AI Agent 上下文压缩层的完整技术拆解
人工智能·深度学习·程序员·github·ai agent·智能体·agent skill
挖坑的张师傅27 分钟前
方便 Mac 本机运行 e2b 的沙箱方案 e2b-local
人工智能·后端
生成论实验室33 分钟前
认知芯片:让判断力在物理定律上运行——AI芯片的第三条路
人工智能·语言模型·机器人·自动驾驶·安全架构
浦信仿真大讲堂33 分钟前
达索系统SIMULIA Abaqus 2026接触和约束的增强新功能介绍
人工智能·python·算法·仿真软件·达索软件
文艺倾年39 分钟前
【强化学习】MDP、贝尔曼方程与CartPole 编程,20W字总结(二)
人工智能·软件工程·强化学习
ttt606_1 小时前
门店业绩上报系统功能拆解:门店业绩上报如何提高数据精确度与时效性?
大数据·人工智能