Sobel检测器中梯度矩阵的直觉:其值实际上是什么意思?

问题描述 投票:0回答:1

所以,我了解sobel边缘检测背后的机制。 https://homepages.inf.ed.ac.uk/rbf/HIPR2/sobel.htm

我不理解的是梯度矩阵背后的直觉。我知道如何计算它,但我不明白这些值实际代表什么。

有人能指出我正确的方向吗?

opencv computer-vision sobel
1个回答
0
投票

Sobel矩阵是图像的一阶导数(近似)。

对于函数y = f(x),一阶导数是:

lim(dx / dy), dx ->0

dxdy分别表示xy值的变化。

并且函数梯度是所有其因变量的偏导数的向量(图像是具有两个因变量的函数img = F(x, y):]

grad = [d(x, y)/dx   d(x, y)/dy]

这就是Sobel对于x和y相关值(图像轴)有两个内核的原因因此,渐变背后的数学运算没有特定的数字图像。

当我们处理数字图像时,dx限制为1(因为它是可能的最小值)。但是Sobel内核(内核大小通常应该是奇数)的大小为3.因此,与Sobel内核进行的图像卷积(例如x轴)会存储相邻像素值的差异。并且它将为像素值恒定(d(F(x, y) = 0)的区域存储零值。

考虑连续[255 255 255]中的三个白色像素。像素值没有变化,并且与[-2 0 2] will give 0. If we add a zero pad to have an output size equal to input[0 255 255 255 0]进行卷积,使用相同的滤波器,我们将得到[510 0 -510]。可以解释为:(0)单元为255的正值变化,(2)单元为255的负值变化,而(1)单元为零。

© www.soinside.com 2019 - 2024. All rights reserved.