当f^' (a)=0,f^'' (a)<0,那么边缘点则为局部极大值点;
当f^'' (a^- ) f^'' (a^+ )<0,那么边缘点则为拐点。
基本理论
在图像中,边缘表明的是一个特征区域的结束和另外一个特征区域的开始。边缘所区分开的区域内部特征其实是相似的,但是不同区域的特征和属性是不同的,边缘检测就是利用物体和背景在某种图像特性上的差异来实现的。实际上边缘检测就是检测在什么位置图像特征发生了变化。
在上文所谈到的区域特征主要指的是灰度、纹理、颜色等特征。这些特征可以通过变化产生新的特征值,而这些特征值可以作为相应的像素特性的幅值,这些幅值在某一些处理中就可以理解为灰度。图像灰度存在着不连续性,这种不连续性分为两种:一种是阶跃不连续,就是在不连续的两边灰度存在着明显的差异;另外一种是线条不连续,即为图像灰度从一个值变换到另一个值,之后继续保持一段较小的行程后再重新回到原来的那个值。
为了提取区域的边界,直接对图像进行一阶微分运算或二阶微分运算,再根据各个像素点处的微分幅值和其他的附加条件来判定这个点是否为边缘点。如果图像中存在较强噪声,如果直接进行微分运算那么可能会出现许多虚假边缘点,就可以用曲线拟合法来解决这个问题,这种方法就是将图像中要检测点的邻域中各像素的灰度值用一种曲面函数来拟合数字,然后再对拟合曲面进行微分运算,或用说是一个阶跃曲面来拟合数字图像,根据它的阶跃幅值来判断它是否是边缘点。Canny提出的评价边界检测算法性能优良的三个标准是:一、高的性噪比;二、精确的定位性能;三、对单一边界响应是唯一的。
由于自然界存在着噪声和模糊,检测到的边缘有可能会发生间断或者可能会变宽。因此边缘检测还包含两个基本的内容:第一抽取出反映灰度值变换的边缘点,第二剔除某些边界点或填补边界间断点,并将这些边缘连接成完整的线。
边缘检测方法
边缘检测的实质是采取某种算法来提取图像中物体与背景之间的交界线。我们将图像边缘定义为图像中区域边界的灰度值发生巨大变化的地方。图像灰度值的变化情况可以通过图像灰度值分布的梯度来反映,所以我们大可以用局部图像微分技术来获得边缘检测算子。传统的边缘检测方法是通过对原始图像重的像素某小邻域构造边缘检测算子来达到检测边缘的目的。
边缘检测算法有4个步骤:
1.滤波:边缘检测算法主要是依靠对图像进行一阶导数或者是二阶导数的计算,通过计算来寻找极值点和零交差点,这些点组成了边缘,但由于导数的计算对噪声极为敏感,所以必须使用滤波器来减少噪声对图像的影响,从而稳定相关边缘检测算子的性能。这里也需要指出,大多数滤波器在降低噪声对边缘检测产生影响的同时也导致了边缘强度的损失,也正因为这样,要寻找一个能在增强边缘和降低噪声两者之间得到平衡的边缘检测算子。
2.增强:增强图像边缘的基础是确定图像各点邻域强度的变化值,增强算法可以把邻域强度值有明显变化的点突显出来。边缘增强一般通过计算梯度幅值来完成的。
3.检测:边缘检测的依据就是图像梯度幅值阈值。阈值可以确定图像中哪些梯度幅值是需要的,哪些是无用的。所以选择合适的阈值来进行边缘检测是非常重要的,这直接影响到对图片处理的后续步骤。
4.定位:如果要确定边缘的所在位置,那可以通过分析检测后图像的像素分辨率来估算边缘的大题位置。 基于图像的边缘检测算法研究(4):http://www.751com.cn/jisuanji/lunwen_13492.html