我需要澄清一件简单的事情。 我需要对数学进行一些更新: 在一个圆圈中,渐变的长度应该是半径? 或者我们只使用渐变来获得方向?
在我阅读有关图像处理中的渐变后,我得到了这个问题: 我已阅读this回答和this有关如何获取图像渐变的信息,当然还有here。
我不明白幅度是否代表像素数?或者它只代表特定点强度变化的强度。
以下图片是渐变的大小: the magnitude of the gradient:
我运行代码并观察数字的大小,数字显然不在图像宽度\高度的范围内。
我,等待一个简单的澄清。 谢谢!
答案 0 :(得分:1)
在数学上说,梯度幅度,或者换句话说,梯度矢量的范数,表示2D信号的导数(即斜率)。这在维基百科给出的定义中非常清楚:
这里,f
是2D信号, x ^ , y ^ (这个是丑陋的,我会注意到它们 u x 和 u y 以下)分别是单位向量水平和垂直方向。
在图像的上下文中,2D信号(即图像)是离散的而不是连续的,因此导数近似于当前像素的强度与强度之间的差异。前一个像素,在所考虑的方向上(实际上,有几种方法来逼近导数,但让我们保持简单)。因此,我们可以通过以下数量逼近梯度:
渐变 f (u,v)= [f(u,v)-f(u-1,v)]。 u x + [f(u,v)-f(u,v-1)]。的Úý子> 强>
在这种情况下,梯度幅度如下:
|| 渐变 f (u,v)|| = square_root {[f(u,v)-f(u-1,v)]²+ [f(u,v)-f(u,v-1)]²}
总结,渐变幅度是给定点局部强度变化的度量并且与半径无关,也与宽度/高度无关图像。