最近我和我的同事就图像渐变操作进行了辩论。
通常,图像渐变定义为:
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
答案 0 :(得分:2)
在数字滤波器设计环境中检查这些滤波器的一种方法,特别是理想的FIR微分器。理想的数字微分器具有反对称单位样本响应h(n)= - h(-n),因此h(0)= 0。因此[1 0 -1]比[1 -1]更接近理想微分器。查看任何DSP参考资料以获得更多理论。在实践中,我总是使用Sobel算子的平滑导数。
答案 1 :(得分:1)
1x2滤波器将产生位于输入之间的样本,而1x3滤波器输出将与输入对齐。但是,1x2过滤器将捕获更精细的细节。