Image processing 二维图像卷积-X梯度上的中心差分

Image processing 二维图像卷积-X梯度上的中心差分,image-processing,graphics,computer-vision,Image Processing,Graphics,Computer Vision,我试图应用一个核滤波器来计算中心差x梯度。一种直接的方法似乎是应用以下内核过滤器: A = [ 0 0 0 -1 0 1 0 0 0 ] 在应用A,即A*(B*f)之前,如果f是源图像,那么会比A*f更好,有人能帮我理解B做什么以及为什么它更好吗?我认为,它的解释会向你澄清这个问题。如果这个链接将被删除,只需谷歌的“索贝尔运营商”-它是众所周知的,并在互联网上到处描述。简而言之:Sobel dx算子是oy方向上的模糊和简单的中心ox差的组合。为减少与纯中心

我试图应用一个核滤波器来计算中心差x梯度。一种直接的方法似乎是应用以下内核过滤器:

A = [ 0 0 0 -1 0 1 0 0 0 ]
在应用
A
,即
A*(B*f)
之前,如果
f
是源图像,那么会比
A*f
更好,有人能帮我理解
B
做什么以及为什么它更好吗?

我认为,它的解释会向你澄清这个问题。如果这个链接将被删除,只需谷歌的“索贝尔运营商”-它是众所周知的,并在互联网上到处描述。简而言之:Sobel dx算子是oy方向上的模糊和简单的中心ox差的组合。为减少与纯中心差异操作符相关联的瑕疵而执行的模糊。Scharr算子在旋转对称性和“最小化傅里叶域中加权均方角误差的优化结果”方面的优化效果更好。它的理论有点复杂,因此您最好访问wiki或阅读。

要规范化图像内核,请除以元素绝对值之和

所以对于第一个内核,有非零元素[-1,1],所以|-1 |+| 1 |=1+1=2。因此,乘以1/2=0.5进行归一化。对于边缘检测,不一定要进行规格化。为了避免像素的大小失真,通常不需要对图像核进行规格化。通常,当您试图检测边缘时,您希望它强调边缘

内核B将做两件事,首先它将模糊图像(所有相同的有符号非零元素),其次它只在y方向上运行。在A内核之前应用此方法的想法是,它将在y方向执行(排序)非边缘检测。想法是在y方向上抑制边缘,在x方向上检测边缘


我不记得用过这个,但它有一定的意义

虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,只有链接的答案可能会无效。它是wiki链接。有人知道维基链接失效的例子吗?无论如何,如果维基突然消失,链接名“Sobel operator”是谷歌搜索它的一个很好的线索。评论是非常低质量帖子评论队列中的一个固定选项,只用于链接答案(而不是垃圾邮件)。因此,答案应该是自立的,而不仅仅依赖于相关材料。 B = [ 0 1 0 0 2 0 0 1 0 ]