图像边缘和渐变之间的关系是什么?

时间:2012-01-12 14:46:18

标签: image-processing edge-detection

有没有人可以帮我解释 "边缘点可以通过最大值定位 梯度的模块,边缘轮廓的方向与梯度的方向正交。"

2 个答案:

答案 0 :(得分:14)

Paul R给了你答案,所以我只是添加一些图片来帮助说明问题。

在图像处理中,当我们提到“渐变”时,我们通常指的是一系列像素的亮度变化。您可以使用GIMP或Photoshop等软件创建渐变图像。

以下是从黑色(左)到白色(右)的线性渐变的示例:

linear gradient

渐变是“线性的”意味着强度的变化与像素之间的距离成正比。这个特殊的渐变是平滑的,我们不会说这个图像中有一个“边缘”。

如果我们绘制渐变的亮度与X位置(从左到右),我们得到一个如下图:

plot of linear gradient

以下是背景上对象的示例。边缘有点模糊,但这在真实物体的图像中很常见。像素亮度从一个像素到下一个像素不会从黑色变为白色:存在包含灰色阴影的渐变。这一点并不明显,因为您通常需要放大照片才能看到模糊边缘。

black box on white background

在图像处理中,我们可以通过查看从一个亮度到另一个亮度的锐利过渡(锐利渐变)来找到这些边缘。如果我们放大那个框的左上角,我们可以看到只有几个像素就有从白色到黑色的过渡。这种转变也是一种渐变。不同之处在于渐变位于两个恒定颜色的区域之间:左边是白色,右边是黑色。

zoomed corner of box

红色箭头显示从背景到前景的渐变方向:左边的像素是光,当我们沿+ x方向移动时,像素变得更暗。如果我们绘制沿箭头采样的亮度,我们将得到如下图,红色方块表示特定像素的亮度。这种变化不是线性的,而是看起来像钟形曲线的一侧:

plot of edge

蓝线段是最陡曲线的斜率的粗略近似值。 “真实”边缘点是沿着与对象边缘对应的梯度最陡的斜点。

可以使用水平和垂直Sobel滤波器计算梯度幅度和方向。然后,您可以计算渐变的方向:

gradientAngle = arctan(gradientY / gradientX)

当垂直于物体边缘时,渐变最陡。

如果您查看真实场景的一些黑白图像,您可以放大,查看单个像素值,并深入了解这些原则的应用。

答案 1 :(得分:3)

物体边缘通常会导致强度的阶跃变化。因此,如果你采用强度的导数,它将在边缘处具有大的(正或负)值,而在其他地方具有较小的值。如果你能识别最陡的渐变方向,那么它将与物体边缘成直角(正交)。

相关问题