图像边缘提取简介

Posted fpga和matlab

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图像边缘提取简介相关的知识,希望对你有一定的参考价值。

目录

1.基于形态学的边缘检测

2.基于小波变换多尺度分析的边缘检测

3.基于小波包分解的边缘检测

4.常用边缘提取算子

4.1 拉普拉斯算子

4.2 LOG算子

4.3 Canny算子


        边缘提取,指数字图像处理中,对于图片轮廓的一个处理。对于边界处,灰度值变化比较剧烈的地方,就定义为边缘。也就是拐点,拐点是指函数发生凹凸性变化的点。二阶导数为零的地方。并不是一阶导数,因为一阶导数为零,表示是极值点。

        边缘提取:边缘检测的基本思想首先是利用边缘增强算子,突出图像中的局部边缘,然后定义象素的“边缘强度”,通过设置阈值的方法提取边缘点集。由于噪声和模糊的存在,监测到的边界可能会变宽或在某点处发生间断。因此,边界检测包括两个基本内容: (1)用边缘算子提取出反映灰度变化的边缘点集。 (2)在边缘点集合中剔除某些边界点或填补边界间断点,并将这些边缘连接成完整的线。

       边缘定义:图像灰度变化率最大的地方(图像灰度值变化最剧烈的地方)。图像灰度在表面法向变化的不连续造成的边缘。一般认为边缘提取是要保留图像的灰度变化剧烈的区域,这从数学上看,最直观的方法就是微分(对于数字图像来说就是差分),在信号处理的角度来看,也可以说是用高通滤波器,即保留高频信号。

         边缘信息包含两个方面:1.像素的坐标2.边缘的方向

1.基于形态学的边缘检测

       数学形态学是一种非线性滤波方法,在图像处理中已获得了广泛的应用。形态学运算是物体形状集合与结构元素之间的相互作用,对边缘方向不敏感,并能在很大程度上抑制噪声和探测真正的边缘;同时,数学形态学在图像处理方面还具有直观上的简单性和数学上的严谨性,在描述图像中物体形状特征上具有独特的优势。因此,将数学形态学用于边缘检测,既能有效地滤除噪声,又可保留图像中的原有细节信息,具有较好的边缘检测效果。

        数学形态学的主要内容是设计一整套变换,来描述图像的基本特征或基本结构。最常用的有7种基本变换:分别是膨胀、腐蚀、开运算、闭运算、击中、细化、粗化。其中膨胀和腐蚀是两种最基本、最重要的变换,其它变换由这两种变换的组合来定义。如:先腐蚀后膨胀的过程称为“开”运算,它具有消除细小物体,在纤细处分离物体和平滑较大物体边界的作用;先膨胀后腐蚀的过程称为“闭”运算,具有填充物体内细小空洞,连接邻近物体和平滑边界的作用,该算法简单,适于并行处理,且易于硬件实现,适于对二值图像进行边缘提取。

       用数学形态学运算进行边缘检测也存在着一定的不足。比如,结构元素单一的问题,它对与结构元 素同方向的边缘敏感,而与其不同方向的边缘或噪声会被平滑掉,即边缘的方向可以由结构元素的形状确定,但如果采用对称的结构元素,又会减弱对图像边缘的方向敏感性,所以在边缘检测中,可以考虑用多方位的形态结构元素,运用不同的结构元素的逻辑组合检测出不同方向的边缘。

2.基于小波变换多尺度分析的边缘检测

       小波变换是传统的Fourier变换的继承和发展,具有一定的分析非稳信号的能力,主要表现在高频处的时间分辨率高,低频处的频率分辨率高,即具有变焦特性,因此特别适合于图像这一类非平稳信号的处理。经典的边缘检测算子都没有自动变焦的思想,通过小波多尺度提取图像边缘是一种非常有效的方法。

       由于小波变换具有的多尺度特性,图像的每个尺度的小波变换都提供了一定的边缘信息。当尺度小时,图像的边缘细节信息较为丰富,边缘定位精度较高,但易受到噪声的干扰。当尺度大时,图像的边缘稳定,抗噪性好,但定位精度差。将各尺度的边缘图像的结果综合起来,发挥大小尺度的优势,就能得到精确的图像。多尺度边缘检测的基本思想就是沿梯度方向,分别用几个不同尺度的边缘检测算子在相应点上检测模极大值的变换情况,并通过对阈值的选取,再在不同尺度上进行综合,得到最终边缘图像,可以较好的解决噪声和定位精度之间的矛盾。

3.基于小波包分解的边缘检测

       基于小波包多分辨率图像边缘提取方法是在小波函数对图像分解的基础上发展起来的,由于小波包分解后得到的图像序列有近似部分和细节部分组成,近似部分是原图像对高频部分进行滤波后的近似表示。经滤波后去除了高频分量,因此能够检测到原图像中所检测不到的边缘。

4.常用边缘提取算子

4.1 拉普拉斯算子

        拉普拉斯算子是二阶微分算子,其原理是:灰度缓变形成的边缘经过微分算子形成一个单峰函数,峰值位置对应边缘点;对单峰函数进行微分,则峰值处的微分值为零,峰值两侧符号相反,而原先的极值点对应二阶微分中的过零点,通过检测过零点即可将图像的边缘提取出来。

        式中s可以是以为中心的上下左右4个邻点的集合,也可是对角线方向的4个邻点的集合,或者是8个邻点集合。 

4.2 LOG算子

       在实际中,为了去除噪声的影响,Marr和Hildreth将Gaussian滤波器和Laplacian边缘检测结合在一起,形成了LOG算法。即先要用高斯函数对图像进行平滑滤波,然后对滤波后的图像用拉普拉斯算子进行求二阶导数。

       边缘检测就是要寻找的过零点。LOG算法被认为是微分法中利用平滑二阶微分检测图像边缘最成功的一种算子。为了运算方便,函数的LOG算子也是借助模板来实现的。

4.3 Canny算子

John Canny提出了边缘检测算子的如下三个准则:

 

 

       将Canny的3个准则相结合可以获得最优的检测算子,例如时的检测模板如图2.2.3所示。在此基础上,Canny设计了一个边缘检测算法,具体步骤如下:首先用2D高斯滤波模板进行卷积以平滑图像。利用微分算子计算梯度的幅值和方向。对梯度幅值进行非极大值抑制,即遍历图像,若某个像素的灰度值与其梯度方向上前后两个像素的灰度值相比不是最大,那么把这个像素值置为零,即不是边缘。m使用双阈值算法检测和连接边缘。即用累计直方图计算两个阈值,凡是大于高阈值的一定是边缘,凡是小于低阈值的一定不是边缘。如果检测结果大于低阈值又小于高阈值,那就要看这个像素的邻接像素中有没有超过高阈值的边缘像素,如果有,则该像素是边缘,否则就不是边缘。

以上是关于图像边缘提取简介的主要内容,如果未能解决你的问题,请参考以下文章

求助:MATLAB处理图像,已提取边缘,也得到了边缘的二值矩阵,提取坐标是用【m,n】 = find(BW==1)

MATLAB教程案例28图像的边缘提取——cannysobelLaplacian以及图像亚像素级边缘提取

提取图像边缘

matlab 提取图像轮廓(图像边缘提取)

利用matlab自带函数快速提取二值图像的图像边缘 bwperim函数

图像边缘和轮廓特征的提取方法