Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing 1x2和1x3图像渐变内核过滤器定义之间的区别是什么_Image Processing_Filtering_Gradient_Edge Detection - Fatal编程技术网

Image processing 1x2和1x3图像渐变内核过滤器定义之间的区别是什么

Image processing 1x2和1x3图像渐变内核过滤器定义之间的区别是什么,image-processing,filtering,gradient,edge-detection,Image Processing,Filtering,Gradient,Edge Detection,最近我和我的同事就图像梯度运算进行了一场辩论 通常,图像梯度定义为: dI_dx(j,k)=I(j,k+1)-I(j,k)#x图像的偏导数 dI_dy(j,k)=I(j+1,k)-I(j,k)#y图像偏导数 对于图像的x偏导数,此操作可由1x2滤波器阵列表示: [1-1] 但还有另一个定义: dI_dx(j,k)=I(j,k+1)-I(j,k-1)=>[10-1](滤波器阵列) 所以我的同事问:它们之间有什么区别,为什么后一个1x3过滤器 比1x2过滤器更常用? 我们已经讨论了一些可能的原因:

最近我和我的同事就图像梯度运算进行了一场辩论

通常,图像梯度定义为:

dI_dx(j,k)=I(j,k+1)-I(j,k)#x图像的偏导数

dI_dy(j,k)=I(j+1,k)-I(j,k)#y图像偏导数

对于图像的x偏导数,此操作可由1x2滤波器阵列表示:

[1-1]

但还有另一个定义:

dI_dx(j,k)=I(j,k+1)-I(j,k-1)
=>
[10-1]
(滤波器阵列)

所以我的同事问:它们之间有什么区别,为什么后一个1x3过滤器 比1x2过滤器更常用?

我们已经讨论了一些可能的原因:

  • 1x3采样比1x2采样更稳健

    我的同事:不,它们都为每个图像梯度像素采样2个像素,在这些滤波器中,在采样像素上出现噪声的概率是相同的

  • 1x3比1x2更平滑

    我的同事:不,1x2和1x3过滤器的定义一点也不平滑。 索贝尔滤波器是一个平滑的高斯

  • 扩展问题:图像渐变的空间过滤器内核是否有所谓的“窗口大小”?

    顺便说一句,我和我的同事不相信下面的参考网页


    在数字滤波器设计中检查这些滤波器的一种方法,特别是理想的FIR微分器。理想的数字微分器具有反对称单位采样响应h(n)=-h(-n),因此h(0)=0。因此[10-1]比[1-1]更接近理想的微分器。查看任何DSP参考资料,了解更多理论。实际上,我总是使用Sobel运算符的平滑导数。

    1x2滤波器将产生位于输入之间的样本,而1x3滤波器输出将与输入对齐。但是,1x2过滤器将捕获更精细的细节。

    另请参见