• 1.摘要
  • 2.边缘属性
  • 3.简单边缘模型
  • 4.检测边缘不是一个简单的问题
  • 5.边缘检测的方法
  • 5.1.计算一阶导数
  • 5.2.计算二阶导数
  • 5.3.阈值确定
  • 6.边缘检测算子

边缘检测

边缘检测(英语:Edge detection)是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显著变化通常反映了属性的重要事件和变化。这些包括(i)深度上的不连续、(ii)表面方向不连续、(iii)物质属性变化和(iv)场景照明变化。边缘检测是图像处理和计算机视觉中,尤其是特征检测中的一个研究领域。

图像边缘检测大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。有许多方法用于边缘检测,它们的绝大部分可以划分为两类:基于查找一类和基于零穿越的一类。基于查找的方法通过寻找图像一阶导数中的最大和最小值来检测边界,通常是将边界定位在梯度最大的方向。基于零穿越的方法通过寻找图像二阶导数零穿越来寻找边界,通常是Laplacian过零点或者非线性差分表示的过零点。

边缘属性

边缘可能与视角有关——也就是说边缘可能随着视角不同而变化,典型地反映在场景、物体的几何形状一个将另一个遮挡起来,也可能与视角无关——这通常反映被观察物体的属性如表面纹理和表面形状。在二维乃至更高维空间中,需要考虑透视投影的影响。

一个典型的边界可能是(例如)一块红色和一块黄色之间的边界;与此相反的是边线可能是在另外一种不变的背景上的少数不同颜色的点。在边线的每一边都有一个边缘。在许多图像处理的应用中边缘都起着非常重要的作用。然而,在最近几年,不明显依赖于边缘检测作为预处理的计算机视觉处理方法研究获取了一些实质性(成功)的研究成果。

简单边缘模型

自然界图像的边缘并不总是理想的阶梯边缘。相反,它们通常受到一个或多个下面所列因素的影响:

有限场景深度带来的聚焦模糊.

非零半径光源产生的阴影带来的半影模糊.

光滑物体边缘的阴影.

物体边缘附近的局部镜面反射或者漫反射.

尽管下面的模型不很完美,但是误差函数image还是常被用于实际应用中边缘模糊效果的建模。

这样,一个在位置image有一个边界的一维图像image可以用下面的模型来表示:

image

这样,在边界的左侧亮度是image,在右侧亮度是 imageimage被称为边缘模糊度。

注意image可以写为卷积image,其中image是标准偏差image的高斯核(gaussian kernel),image是下面定义的一个阶跃函数:

image

检测边缘不是一个简单的问题

如果将边缘认为是一定数量点亮度发生变化的地方,那么边缘检测大体上就是计算这个亮度变化的导数。为简化起见,我们可以先在一维空间分析边缘检测。在这个例子中,我们的数据是一行不同点亮度的数据。例如,在下面的1维数据中我们可以直观地说在第4与第5个点之间有一个边界:

 5 

 7 

 6 

 4 

 152 

 148 

 149 

除非场景中的物体非常简单并且照明条件得到了很好的控制,否则确定一个用来判断两个相邻点之间有多大的亮度变化才算是有边界的阈值,并不是一件容易的事。实际上,这也是为什么边缘检测不是一个简单问题的原因之一。