最近和同事讨论图像渐变操作。
通常,图像梯度定义为:
dI_dx(j,k) = I(j,k+1) - I(j,k) # x partial derivative of image
dI_dy(j,k) = I(j+1,k) - I(j,k) # y partial derivative of image
对于图像的 x 偏导数,这个操作可以用一个 1x2 的滤波器数组来表示:
[1 -1]
但还有另一个定义:
dI_dx(j,k) = I(j,k+1) - I(j,k-1)
=> [1 0 -1]
(过滤器数组)
于是我的同事问:它们有什么区别,为什么后面的1x3滤镜比1x2滤镜更常用?
我们讨论了一些可能的原因:
1x3 采样比 1x2 更稳健
我的同事:不,他们都为每个图像梯度像素采样 2 个像素,在这些过滤器中采样像素上出现噪声的概率是相同的。
1x3 比 1x2 更平滑
我的同事:不,1x2 和 1x3 过滤器的定义根本没有平滑。Sobel 滤波器是由高斯平滑的...
扩展问题:图像梯度的空间滤波器内核是否有所谓的“窗口大小”?
顺便说一句,我和我的同事并没有被以下参考网页说服......
http://www.cis.rit.edu/people/faculty/rhody/EdgeDetection.htm