图像梯度处理

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

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

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

相关推荐
小程故事多_8012 分钟前
Harness实战指南,在Java Spring Boot项目中规范落地OpenSpec+Claude Code
java·人工智能·spring boot·架构·aigc·ai编程
Anastasiozzzz5 小时前
深入研究RAG: 在线阶段-查询&问答
数据库·人工智能·ai·embedding
tq10865 小时前
资本主义的时间贴现危机:AI时代的结构性淘汰机制
人工智能
砍材农夫5 小时前
spring-ai 第四多模态API
java·人工智能·spring
土豆12508 小时前
LangGraph TypeScript 版入门与实践
人工智能·llm
土豆12508 小时前
OpenSpec:让 AI 编码助手从"乱猜"到"照单执行"
人工智能·llm
Thomas.Sir8 小时前
第二章:LlamaIndex 的基本概念
人工智能·python·ai·llama·llamaindex
m0_694845578 小时前
Dify部署教程:从AI原型到生产系统的一站式方案
服务器·人工智能·python·数据分析·开源
LS_learner8 小时前
VS Code 终端默认配置从 PowerShell 改为 CMD
人工智能
小毅&Nora9 小时前
【人工智能】【大模型】大模型“全家桶”到“精兵简政”:企业AI落地的理性进化之路
人工智能·大模型·平安科技