计算中心差

Calculating central difference

我有以下使用中心差计算像素梯度的定义:

其中h较小,f'(x)=f(x+0.5h)-f(x-0.5h)

• 如果我们使 h 成为像素之间距离的两倍

• 上面的等式简单说明了 像素处图像梯度的导数是 下一个(右)像素的值减去前一个(左) 像素值

为什么不需要除以 h 来得到变化率?为什么简单地从右侧像素值中减去左侧像素值会得到中心像素的导数?

你的定义是错误的。您确实需要除以 h 才能正确估计导数。

在图像处理中,我们经常会看到因缩放而偏离的导数定义,就像您在此处看到的那样。在大多数应用中,缩放并不重要,重要的是比较图像不同部分的值,例如找到最显着的边缘。对于这些情况,可以使用简化的定义(计算起来可能也更便宜)。

例如,Sobel operator 通常定义为它产生的值比它试图估计的导数大 8 倍。