基于LOG和Canny算子的边缘检测算法
- 格式:pdf
- 大小:1.27 MB
- 文档页数:3
halcon边缘检测例子Halcon是一款功能强大的机器视觉库,其边缘检测功能可以帮助我们在图像中找出物体的边缘,从而实现目标检测和分割。
下面将以Halcon边缘检测例子为题,列举一些常用的边缘检测方法和技巧。
一、Sobel算子边缘检测Sobel算子是一种常用的边缘检测算法,它通过计算图像的一阶导数来寻找边缘。
Halcon中可以使用函数SobelA来实现Sobel算子的边缘检测,可以设置不同的参数来调整检测结果的灵敏度。
二、Canny算子边缘检测Canny算子是一种经典的边缘检测算法,它结合了高斯滤波、梯度计算和非最大值抑制等步骤,可以得到更准确的边缘检测结果。
Halcon中可以使用函数EdgesSubPix来实现Canny算子的边缘检测,可以设置不同的参数来调整检测结果的质量和灵敏度。
三、Laplacian算子边缘检测Laplacian算子是一种基于二阶导数的边缘检测算法,它可以检测出图像中的高频变化,从而找到边缘。
Halcon中可以使用函数Laplace来实现Laplacian算子的边缘检测,可以设置不同的参数来调整检测结果的灵敏度。
四、Roberts算子边缘检测Roberts算子是一种简单但有效的边缘检测算法,它通过计算图像中像素点的灰度差来判断是否存在边缘。
Halcon中可以使用函数RobertsA来实现Roberts算子的边缘检测,可以设置不同的参数来调整检测结果的灵敏度。
五、Prewitt算子边缘检测Prewitt算子是一种基于一阶导数的边缘检测算法,它通过计算图像中像素点的灰度变化来寻找边缘。
Halcon中可以使用函数PrewittA来实现Prewitt算子的边缘检测,可以设置不同的参数来调整检测结果的灵敏度。
六、Scharr算子边缘检测Scharr算子是一种改进的Sobel算子,它可以更好地抵抗噪声干扰,提供更准确的边缘检测结果。
Halcon中可以使用函数ScharrA来实现Scharr算子的边缘检测,可以设置不同的参数来调整检测结果的灵敏度。
基于sobel 、canny 的边缘检测实现一.实验原理Sobel 的原理:索贝尔算子(Sobel operator )是图像处理中的算子之一,主要用作边缘检测。
在技术上,它是一离散性差分算子,用来运算图像亮度函数的梯度之近似值。
在图像的任何一点使用此算子,将会产生对应的梯度矢量或是其法矢量.该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。
如果以A 代表原始图像,Gx 及Gy 分别代表经横向及纵向边缘检测的图像,其公式如下:101202*101x G A -+⎛⎫ ⎪=-+ ⎪ ⎪-+⎝⎭ 121000*121y G A+++⎛⎫ ⎪= ⎪ ⎪---⎝⎭在以上例子中,如果以上的角度Θ等于零,即代表图像该处拥有纵向边缘,左方较右方暗。
在边沿检测中,常用的一种模板是Sobel 算子。
Sobel 算子有两个,一个是检测水平边沿的 ;另一个是检测垂直平边沿的 。
与 和 相比,Sobel 算子对于象素的位置的影响做了加权,因此效果更好。
Sobel 算子另一种形式是各向同性Sobel(Isotropic Sobel)算子,也有两个,一个是检测水平边沿的 ,另一个是检测垂直平边沿的 。
各向同性Sobel 算子和普通Sobel 算子相比,它的位置加权系数更为准确,在检测不同方向的边沿时梯度的幅度一致。
由于建筑物图像的特殊性,我们可以发现,处理该类型图像轮廓时,并不需要对梯度方向进行运算,所以程序并没有给出各向同性Sobel 算子的处理方法。
由于Sobel 算子是滤波算子的形式,用于提取边缘,可以利用快速卷积函数, 简单有效,因此应用广泛。
美中不足的是,Sobel 算子并没有将图像的主体与背景严格地区分开来,换言之就是Sobel 算子没有基于图像灰度进行处理,由于Sobel 算子没有严格地模拟人的视觉生理特征,所以提取的图像轮廓有时并不能令人满意。
在观测一幅图像的时候,我们往往首先注意的是图像与背景不同的部分,正是这个部分将主体突出显示,基于该理论,我们给出了下面阈值化轮廓提取算法,该算法已在数学上证明当像素点满足正态分布时所求解是最优的。
数字图像的边缘检测是图像分割、目标区域识别、区域形状提取等图像分析领域十分重要的基础,也是图像识别中提取图像特征的一个总要属性。
传统的边缘检测算法认为边缘主要表现为图像局部特征的不连续性,从而关于边缘检测算子的研究主要集中在灰度图像梯度的研究。
常用的微分算子有:Roberts算子、Sobel算子、prewitt算子、Laplace算子、LOG算子等等。
这些算子简单而且易于实现,具有很好的实时性,但对于噪声敏感、抗噪声性能差,边缘不够精细。
相比之下Canny算子具有信噪比大和检测精度高的优点,被广泛应用。
本文介绍了一种基于Canny算子的自适应阈值分割的边缘提取算法。
1 Canny算子利用Canny算子进行边缘检测主要包括的过程有:利用高斯函数低通滤波平滑图像、计算梯度的幅值及方向、对梯度幅值进行非极大值抑制、检测和连接边缘等。
1.1高斯平滑首先利用高斯函数的一阶微分对图像进行低通滤波,设高斯函数为:222()x G x e (1)其一阶导数如下:22222()()xx G x e(2)式(3)给出了二维高斯函数:222()22(,)x y G x y e(3)这里的输入参数 是高斯函数的标准差,其决定“平滑度”。
1.2计算梯度幅值及方向Canny算法采用2 2邻域一阶偏导的有限差分来计算平滑后的图像的梯度幅值和方向, x 方向和 y 方向偏微分的一阶近似通过下式得到:111112x P111112y P梯度大小和方向计算公式如下:(,)M i j(,)arctan(,/,)y x i j P i j P i j (5)1.3采用非极大值抑制来细化边缘由于在处理的时候,会使图像的边缘产生屋脊带,所以为了细化边缘,Canny算法需要沿着屋脊带的顶部进行跟踪,将那些不是最大值的点值为零。
这一过程称为非极大值抑制。
1.4检测、连接边缘Canny算子采用双阈值法对经过非极大值抑制后的结果做两个阈值 1 和 2 ,并且2 1 2 ,进行分割得到两个阈值边缘图像 1,T i j 和 2,T i j ,图像 2,T i j 是由高阈值得到,因此含有很少的假边缘,但可能在边缘位置上存在间断(不闭合)。
边缘检测算子图像配准的方法7.4.1 基于特征的图像配准基于特征的图像配准首先提取图像信息的特征,然后以这些特征为模型进行配准。
特征提取的结果是一含有特征的表和对图像的描述,每个特征由一组属性表示,对属性的进一步描述包括边缘的定向和弧度、区域的大小等。
局部特征之间存在着相互关系,如几何关系、辐射度量关系、拓扑关系等。
可以用这些局部特征之间的关系描述全局特征。
通常基于局部特征配准大多都是基于点、线或边缘的,而全局特征的配准则是利用局部特征之间的关系进行配准的方法。
由于图像的特征点比图像的像素点要少很多,因此大大减少了配准过程的计算量,但特征提取方法的计算代价通常较大,不便于实时应用。
特征点的配准度量值对位置的变化比较敏感,可以大大提高配准的精确程度。
对于纹理较少的图像区域提取的特征的密度通常比较稀少,局部特征的提取就比较困难。
特征点的提取过程可以减少噪声的影响,对灰度变化、图像形变和遮挡等都有较好的适应能力。
因此,在图像配准领域得到了广泛应用。
基于特征的图像配准方法有两个重要环节:特征提取和特征配准。
7.4.2 基于互信息的图像配准医学图像配准技术从基于特征的配准方法发展到基于统计的配准方法有其突破性的意义。
与基于特征的配准方法相比,基于统计的配准方法的突出优点为鲁棒性好、配准精度高、人工干预少。
基于统计的配准方法通常是指最大互信息的图像配准方法。
基于互信息的图像配准是用两幅图像的联合概率分布与完全独立时的概率分布的广义距离来估计互信息,并作为多模态医学图像配准的测度。
当两幅基于共同的解剖结构的图像达到最佳配准时,它们的对应像素的灰度互信息应为最大。
由于基于互信息的配准对噪声比较敏感,首先,通过滤波和分割等方法对图像进行预处理。
然后进行采样、变换、插值、优化从而达到配准的目的。
基于互信息的配准技术属于基于像素相似性的方法。
它基于图像中所有的像素进行配准,基于互信息的图像配准引入了信息论中的概念,如熵、边缘熵、联合熵和互信息等,可使配准精度达到亚像素级的高精度。
1、边缘检测原理及步骤在之前的博文中,作者从一维函数的跃变检测开始,循序渐进的对二维图像边缘检测的基本原理进行了通俗化的描述。
结论是:实现图像的边缘检测,就是要用离散化梯度逼近函数根据二维灰度矩阵梯度向量来寻找图像灰度矩阵的灰度跃变位置,然后在图像中将这些位置的点连起来就构成了所谓的图像边缘(图像边缘在这里是一个统称,包括了二维图像上的边缘、角点、纹理等基元图)。
在实际情况中理想的灰度阶跃及其线条边缘图像是很少见到的,同时大多数的传感器件具有低频滤波特性,这样会使得阶跃边缘变为斜坡性边缘,看起来其中的强度变化不是瞬间的,而是跨越了一定的距离。
这就使得在边缘检测中首先要进行的工作是滤波。
1)滤波:边缘检测的算法主要是基于图像强度的一阶和二阶导数,但导数通常对噪声很敏感,因此必须采用滤波器来改善与噪声有关的边缘检测器的性能。
常见的滤波方法主要有高斯滤波,即采用离散化的高斯函数产生一组归一化的高斯核(具体见“高斯滤波原理及其编程离散化实现方法”一文),然后基于高斯核函数对图像灰度矩阵的每一点进行加权求和(具体程序实现见下文)。
2)增强:增强边缘的基础是确定图像各点邻域强度的变化值。
增强算法可以将图像灰度点邻域强度值有显著变化的点凸显出来。
在具体编程实现时,可通过计算梯度幅值来确定。
3)检测:经过增强的图像,往往邻域中有很多点的梯度值比较大,而在特定的应用中,这些点并不是我们要找的边缘点,所以应该采用某种方法来对这些点进行取舍。
实际工程中,常用的方法是通过阈值化方法来检测。
2、Canny边缘检测算法原理JohnCanny于1986年提出Canny算子,它与Marr(LoG)边缘检测方法类似,也属于是先平滑后求导数的方法。
本节对根据上述的边缘检测过程对Canny检测算法的原理进行介绍。
2.1 对原始图像进行灰度化Canny算法通常处理的图像为灰度图,因此如果摄像机获取的是彩色图像,那首先就得进行灰度化。
对一幅彩色图进行灰度化,就是根据图像各个通道的采样值进行加权平均。
边缘检测的若干技术研究一、本文概述边缘检测是计算机视觉和图像处理领域中的一项关键技术,旨在识别图像中物体的轮廓和边界。
边缘检测的结果对于后续的图像分析、目标识别、图像分割等任务至关重要。
随着数字图像处理技术的快速发展,边缘检测技术在许多领域如医学影像分析、自动驾驶、安防监控等得到了广泛应用。
本文旨在探讨边缘检测的若干技术研究,包括传统的边缘检测算法、基于深度学习的边缘检测算法以及最新的研究方向和挑战。
我们将回顾传统的边缘检测算法,如Sobel、Canny、Prewitt等,分析它们的原理、优缺点以及适用场景。
我们将重点介绍基于深度学习的边缘检测算法,如U-Net、HED、DeepLab等,探讨它们在复杂场景下的性能表现和改进方法。
我们将展望边缘检测技术的未来发展趋势,包括多模态融合、无监督学习、实时性能提升等方面的研究。
通过本文的综述,读者可以对边缘检测技术的历史发展、现状和未来趋势有一个全面的了解,为相关领域的研究和应用提供参考和借鉴。
二、边缘检测的基本原理边缘检测是图像处理中的一项关键任务,其目标在于识别图像中物体的轮廓,从而实现对图像内容的理解和分析。
边缘检测的基本原理主要基于图像中边缘区域像素灰度值或颜色值的不连续性或突变性。
这些不连续性通常表现为灰度值或颜色值的阶跃变化或屋顶状变化。
阶跃边缘是指图像中像素值发生急剧变化的区域,这种变化通常是由于物体与背景的交界处产生的。
在阶跃边缘处,像素值的导数会出现极值,因此,通过计算图像的一阶或二阶导数,可以有效地检测到阶跃边缘。
常用的基于一阶导数的边缘检测算子有Sobel、Prewitt 和Roberts等,而基于二阶导数的边缘检测算子则有Laplacian和Canny等。
屋顶状边缘则是指图像中像素值在边缘处先增后减的区域,这种变化通常是由于物体表面的光照变化或反射引起的。
在屋顶状边缘处,像素值的二阶导数会出现过零点,因此,通过计算图像的二阶导数并寻找过零点,也可以实现边缘检测。
经典图像边缘检测(综合法思想)——Canny算子John Canny于1986年提出Canny算子,它与Marr(LoG)边缘检测方法类似,也属于是先平滑后求导数的方法。
John Canny研究了最优边缘检测方法所需的特性,给出了评价边缘检测性能优劣的三个指标:l好的信噪比,即将非边缘点判定为边缘点的概率要低,将边缘点判为非边缘点的概率要低;l高的定位性能,即检测出的边缘点要尽可能在实际边缘的中心;l对单一边缘仅有唯一响应,即单个边缘产生多个响应的概率要低,并且虚假响应边缘应该得到最大抑制。
用一句话说,就是希望在提高对景物边缘的敏感性的同时,可以抑制噪声的方法才是好的边缘提取方法。
Canny算子求边缘点具体算法步骤如下:1. 用高斯滤波器平滑图像.2. 用一阶偏导有限差分计算梯度幅值和方向.3. 对梯度幅值进行非极大值抑制.4. 用双阈值算法检测和连接边缘.步1. 图像与高斯平滑滤波器卷积:步3. 对梯度幅值进行非极大值抑制(non_maxima suppression,NMS):仅仅得到全局的梯度并不足以确定边缘,因此为确定边缘,必须保留局部梯度最大的点,而抑制非极大值。
解决方法:利用梯度的方向:步4. 用双阈值算法检测和连接边缘:对非极大值抑制图像作用两个阈值th1和th2,两者关系th1=0.4th2。
我们把梯度值小于th1的像素的灰度值设为0,得到图像1。
然后把梯度值小于th2的像素的灰度值设为0,得到图像2。
由于图像2的阈值较高,去除大部分噪音,但同时也损失了有用的边缘信息。
而图像1的阈值较低,保留了较多的信息,我们可以以图像2为基础,以图像1为补充来连结图像的边缘。
链接边缘的具体步骤如下:对图像2进行扫描,当遇到一个非零灰度的像素p(x,y)时,跟踪以p(x,y)为开始点的轮廓线,直到轮廓线的终点q(x,y)。
考察图像1中与图像2中q(x,y)点位置对应的点s(x,y)的8邻近区域。
基于canny算子的边缘检测算法应用研究作者:陈蒙来源:《电子技术与软件工程》2013年第23期摘要:边缘检测技术是图像处理过程的重要一环,本文主要研究基于canny算则的边缘检测算法中的抑制噪声、寻找亮度梯度、非极大值抑制、边缘的确定和连接等四个过程,并逐个分析其实现过程及作用。
【关键词】边缘检测高斯平滑1 引言随着图像处理技术的发展与广泛应用,现在社会中图像处理的应用领域越来越广泛,如三维重建,医学诊断,图像识别等等。
而图像处理过程中,最重要的一项预处理技术即为边缘检测技术。
图像的边缘是图像特征识别中的重要组成部分。
我们一般认为边缘是图像中周围像素有不连续变化或屋脊变化的像素的集合。
在一幅图像中,边缘特征所表达的信息量在整张图片的特征信息中占有主导地位,对图像特征的识别、分析十分重要。
边缘信息主要从像素值幅度和走向两个方面来表示。
一般来说,沿着边缘走向的像素点灰度值呈连续性变化特征,而垂直于边缘走向的像素点灰度值则呈跳跃性或阶跃性变化特征。
边缘检测技术即为通过一定的算法将图像中的边缘尽可能真实地提取或表示出来的技术。
边缘检测技术发展到目前已有很多类提取算法,但主要的计算原则就借助于类似高斯平滑、傅里叶变换等的数学函数与图像的灰度矩阵进行卷积计算,从而得到横、纵两个方向上的梯度图像和模图像,然后根据梯度方向来进行模的极大值提取,获得需要的图像特征边缘。
本文主要研究的是以canny算子为检测手段的边缘检测算法。
2 canny边缘检测算法任何一个边缘检测算法的原则都是真实、详尽地标识出原图像的实际边缘,同时又尽可能避免图像中的噪点、伪边缘等噪声的干扰,找到一个最优的图像边缘。
Canny边缘检测算法也是如此,一般由抑制噪声、寻找梯度亮度、非极大值抑制、确定和连接边缘这四步完成的。
2.1 1抑制噪声任何图像在进行边缘检测之前,都要进行抑制噪声的预处理。
它是所有图像处理过程的第一步。
图像的噪声主要有椒盐噪声和高斯噪声两种,而绝大部分图形的干扰噪声属于高斯噪声,因此canny算法的第一步采用的是运用二维高斯平滑模板与原图像数据进行卷积计算,而得到抑制噪声后的待处理图像。
Canny边缘检测是一种常用的图像处理算法,用于检测图像中的边缘。
以下是Canny边缘检测的基本公式和步骤:
高斯滤波:
首先对输入图像应用高斯滤波器,以减少噪声的影响。
高斯滤波器的公式如下:
G(x, y) = (1 / (2 * π* σ^2)) * exp(-(x^2 + y^2) / (2 * σ^2))
计算梯度幅值和方向:
在经过高斯滤波后的图像上,使用Sobel算子计算每个像素的梯度幅值和方向。
梯度幅值的计算公式如下:
G = sqrt(Gx^2 + Gy^2)
其中,Gx和Gy分别是在x和y方向上的梯度。
非极大值抑制:
对梯度幅值图像进行非极大值抑制,保留局部梯度幅值的峰值点,抑制非峰值点。
这样可以细化边缘。
双阈值处理:
将非极大值抑制后的图像进行阈值处理,将梯度幅值划分为强边缘、弱边缘和非边缘三个阈值区间。
根据强边缘和弱边缘之间的连通性关系,确定最终的边缘。
Canny边缘检测算法的具体参数设置和阈值选择可以根据具体应用进行调整。
这些公式和步骤提供了Canny边缘检测的基本原理和流程,但实际应用中可能还会有其他优化和改进的技术。
基于改进Canny算法的物体边缘检测算法物体边缘检测是计算机视觉中的一项重要任务,它在图像分析、物体识别和图像处理等领域具有广泛的应用。
Canny算法作为一种经典的边缘检测算法,被广泛应用于实际工作中。
然而,传统的Canny算法在处理一些复杂场景的边缘检测时存在一些问题,如边缘连接不准确、噪声敏感性较高等。
本文将介绍一种基于改进Canny算法的物体边缘检测算法,以解决传统Canny算法存在的问题。
1. 算法背景物体边缘检测是获取图像中物体边缘位置的过程,它对于图像中物体的形状和轮廓分析起着关键作用。
传统的Canny算法主要包括以下几个步骤:高斯平滑、计算梯度幅值和方向、非极大值抑制、双阈值处理和边缘连接。
然而,传统Canny算法对噪声比较敏感,而且在边缘连接过程中常常会出现断裂或连接错误的情况。
2. 改进的Canny算法为了改善传统Canny算法的缺点,我们提出了一种改进的Canny算法,具体步骤如下:2.1 高斯平滑首先对输入图像进行高斯平滑操作,以降低图像中的噪声。
我们采用一个合适大小的高斯卷积核对图像进行卷积操作,得到平滑后的图像。
2.2 计算梯度幅值和方向在平滑后的图像中,我们计算每个像素点的梯度幅值和方向。
可以使用Sobel、Prewitt等算子对图像进行梯度计算,得到梯度幅值和方向图像。
2.3 非极大值抑制在梯度幅值和方向图像中,我们进行非极大值抑制操作,以找到边缘的细化位置。
对于每个像素点,我们判断其梯度方向,并与相邻的两个像素进行比较,如果当前像素的梯度幅值最大,则保留,否则置零。
2.4 双阈值处理在进行非极大值抑制后,我们进行双阈值处理,以将真正的边缘从噪声中区分出来。
设置一个较高的阈值和一个较低的阈值,对梯度幅值进行判断,如果大于高阈值,则被认为是强边缘;如果处于低阈值和高阈值之间,则被认为是弱边缘;如果小于低阈值,则被认为是噪声。
2.5 边缘连接在双阈值处理后,我们进行边缘连接操作,以连接断裂的边缘线段。
Canny边缘检测算法的流程介绍边缘检测的⼀般标准包括:1) 以低的错误率检测边缘,也即意味着需要尽可能准确的捕获图像中尽可能多的边缘。
2) 检测到的边缘应精确定位在真实边缘的中⼼。
3) 图像中给定的边缘应只被标记⼀次,并且在可能的情况下,图像的噪声不应产⽣假的边缘。
在⽬前常⽤的边缘检测⽅法中,Canny边缘检测算法是具有严格定义的,可以提供良好可靠检测的⽅法之⼀。
由于它具有满⾜边缘检测的三个标准和实现过程简单的优势,成为边缘检测最流⾏的算法之⼀。
Canny边缘检测算法的处理流程Canny边缘检测算法可以分为以下5个步骤:1) 使⽤⾼斯滤波器,以平滑图像,滤除噪声。
2) 计算图像中每个像素点的梯度强度和⽅向。
3) 应⽤⾮极⼤值(Non-Maximum Suppression)抑制,以消除边缘检测带来的杂散响应。
4) 应⽤双阈值(Double-Threshold)检测来确定真实的和潜在的边缘。
5) 通过抑制孤⽴的弱边缘最终完成边缘检测。
下⾯详细介绍每⼀步的实现思路。
1 ⾼斯平滑滤波为了尽可能减少噪声对边缘检测结果的影响,所以必须滤除噪声以防⽌由噪声引起的错误检测。
为了平滑图像,使⽤⾼斯滤波器与图像进⾏卷积,该步骤将平滑图像,以减少边缘检测器上明显的噪声影响。
⼤⼩为(2k+1)x(2k+1)的⾼斯滤波器核的⽣成⽅程式由下式给出:下⾯是⼀个sigma = 1.4,尺⼨为3x3的⾼斯卷积核的例⼦(需要注意归⼀化):若图像中⼀个3x3的窗⼝为A,要滤波的像素点为e,则经过⾼斯滤波之后,像素点e的亮度值为:其中*为卷积符号,sum表⽰矩阵中所有元素相加求和。
重要的是需要理解,⾼斯卷积核⼤⼩的选择将影响Canny检测器的性能。
尺⼨越⼤,检测器对噪声的敏感度越低,但是边缘检测的定位误差也将略有增加。
⼀般5x5是⼀个⽐较不错的trade off。
2 计算梯度强度和⽅向图像中的边缘可以指向各个⽅向,因此Canny算法使⽤四个算⼦来检测图像中的⽔平、垂直和对⾓边缘。
基于改进Canny算子的图像边缘检测方法作者:魏晴霞来源:《科技创新导报》 2012年第16期魏晴霞(甘肃省电力公司信息通信中心交换网络处甘肃兰州 730050)摘要:针对Canny算子在图像边缘检测中算法鲁棒性差的问题,提出了一种改进的Canny算子并将其应用于图像边缘检测,新的算子利用平滑后对图像进行灰度拉伸的预处理,利用遗传算法求阈值,从而得到较为理想的图像边缘。
仿真实验结果表明,改进后的Canny算子能有效检测到图像中的细节梯度,并去除了伪边缘和噪声边缘。
关键词:Canny算子边缘检测灰度拉伸遗传算法中图分类号:TP391.4 文献标识码:A 文章编号:1674-098X(2012)06(a)-0028-01近些年来,随着一些新的数学理论及数学工具在图像处理中的新应用,由此学者们提出了一些新的边缘检测方法,例如:基于小波变换的方法、数学形态学方法、模糊理论和神经网络等边缘检测法[2-3]。
然而,就现有的图像边缘检测算子而言,Canny算子是效果最好且最具实用性的一个边缘检测算子。
然而,Canny算子也具有缺陷[4-5],主要表现在对噪声较为敏感,边缘检测鲁棒性较差,检测到的图像边缘常常含有较多的伪边缘。
为了克服这一难题,提出了一种改进的Canny边缘检测方法,与经典的Canny算子相比,新的Canny边缘检测算子具有更好的边缘检测结果和较高的鲁棒性。
1 改进后的Canny算子1.1 图像预处理图像预处理重要是对图像的滤波,其结果是可以平滑图像中的各种噪声,使图像更清晰,便于后续步骤的处理。
然而,图像滤波在平滑噪声的同时也会导致一些边缘细节变得比较模糊,从而导致在后续的图像处理过程中难以深层处理。
基于该原因,在图像滤波后,我们需要对图像进行灰度拉伸处理,以使图像的灰度分布范围变宽,从而增强图像对比度和边缘变化速率。
具体处理如公式1:其中,Mg=Mf=255。
u和V均为常数。
1.2 遗传算法求取阈值由于经典的边缘检测算子中Canny算子是性能最好的,然而,该算子性能受参数H处和阈值Hth、Lth的影响。