2012-01-12 162 views
3

有没有人可以帮我解释 “边缘点可能位于梯度的 模块的最大值处,并且边缘轮廓的方向与梯度方向正交。”图像边缘和渐变之间的关系是什么?

+1

你学过数学(微积分)吗?你知道什么是渐变吗? – leonbloy 2012-01-12 15:31:38

+0

是的,但我只是有一个渐变的基本概念。 – 2012-02-02 04:43:22

回答

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 =反正切(gradientY/gradientX)

梯度将是最陡峭的,当它是垂直于物体的边缘。

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

+0

非常感谢您的详细解答。我想开发一个血细胞计数系统,您能告诉我我应该学什么以及它的过程是什么? – 2012-02-02 09:36:30

+0

我想你会得到一个很好的图像处理教科书,例如冈萨雷斯和伍兹(第3版)的**数字图像处理**。你可以在网上找到关于图像处理的信息,但是有一本教科书会有很大的帮助。要了解不同算法的工作原理,可以下载ImageJ(http://rsbweb.nih.gov/ij/)。这将允许您立即开始处理示例图像。一旦你知道使用什么算法,你可以了解这些算法,实现它们,并做出必要的改变。学习图像处理需要时间。祝你好运! – Rethunk 2012-02-03 03:10:00

3

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

+0

非常感谢您的详细解答。我想开发一个血细胞计数系统,您能告诉我应该学什么以及它的过程是什么? – 2012-02-02 09:39:48

+1

听起来好像你需要先阅读一些关于**图像处理**和**计算机视觉**的好书。你可能也想看看OpenCV。 – 2012-02-02 09:59:58

相关问题