图像梯度处理

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

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

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

相关推荐
xiaoduo AI2 分钟前
客服机器人用知识图谱推理吗?Agent功能介绍+关联问答,跨品类问题能推导?
人工智能·机器人·知识图谱
Data-Miner4 分钟前
数以轻舟聚焦Excel-Agent场景:当AI做表工具学会说人话
人工智能·excel
甲维斯6 分钟前
完了!我要背弃Opus4.7叛逃到GPT5.5+Codex了
人工智能·ai编程
夏沫の梦18 分钟前
生图新王GPT-image-2已用!附使用教程+生成案例
人工智能
AI木马人33 分钟前
13.【多租户架构实战】如何让一个AI系统同时服务多个用户且数据完全隔离?(完整设计方案)
人工智能·架构
sjsjsbbsbsn37 分钟前
大模型核心知识总结
java·人工智能·后端
qq_411262421 小时前
四博 AI 双目智能音箱方案:把“会说话的音箱”升级成“会表达、会感知、会控制”的 AI 终端
人工智能·智能音箱
努力努力再努力FFF1 小时前
跨境电商运营想用AI优化广告和选品,该从哪里开始学?
人工智能
薛定猫AI2 小时前
【深度解析】Claude Code Skills 工作流:用知识图谱、设计规范与 Agent 工具链提升 AI 编程效率
人工智能·知识图谱·设计规范
AI自动化工坊2 小时前
Cloudflare Project Think技术实践:零成本AI Agent部署架构深度解析
人工智能·架构·agent·cloudflare