CN115797300A - 一种基于自适应梯度阈值canny算子的边缘检测方法及其装置 - Google Patents
一种基于自适应梯度阈值canny算子的边缘检测方法及其装置 Download PDFInfo
- Publication number
- CN115797300A CN115797300A CN202211553631.7A CN202211553631A CN115797300A CN 115797300 A CN115797300 A CN 115797300A CN 202211553631 A CN202211553631 A CN 202211553631A CN 115797300 A CN115797300 A CN 115797300A
- Authority
- CN
- China
- Prior art keywords
- image
- gray
- threshold
- gradient
- edge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明提供一种基于自适应梯度阈值canny算子的边缘检测方法及其装置,该方法包括获取原始图像;对原始图像进行预处理,并用中值滤波、高斯滤波对图像去除噪声;将滤波后的图像转化为灰度图像,并获取该灰度图像的灰度直方图,根据灰度直方图计算灰度阈值;以灰度阈值T为界限,计算目标和背景的灰度均值;基于目标和背景的灰度均值确定高梯度阈值和低梯度阈值;利用canny算子和计算得到的高、低梯度阈值进行边缘识别,获得边缘检测图像。应用本发明可以决现有技术中存在的伪边缘多,边缘提取准确性低,边缘模糊,边缘检测效果不好等问题,可以充分运用图像的灰度分布信息,并将图像的灰度分布与梯度分布的内在关联和canny算子的内置方法进行统一。
Description
技术领域
本发明涉及边缘检测技术领域,具体涉及一种基于自适应梯度阈值canny算子的边缘检测方法以及实现该方法的装置。
背景技术
在半导体集成电路领域,随着光刻工艺的不断进步,关键电路板或器件尺寸不断减小。扫描电子显微镜作为高分辨率的观测手段之一,其所得CD-SEM图像为评估光刻质量提供了关键性的计量数据。图像轮廓作为表征图像信息的重要部分,其有助于进行基于模型的OPC和缺陷检测等技术手段。然而sobel,prewit,log等较为简单的边缘算子在进行边缘检测时往往难以取得预计的效果。对比于以上较为简单的单一边缘算子,John Canny于1986年提出的canny算子成为边缘检测领域传统算法内公认的效果优良的方法之一,因此基于canny算子的边缘检测在SEM图像的轮廓提取方面具有较好的适用性。但由于canny算子的高低梯度阈值设置依赖于操作者的经验,因此对于不同的图片需要分别尝试多次才能确定最终的阈值,因此对于图片样本较大的光刻SEM图像处理过程较为复杂。
由于canny算子梯度阈值设置的缺陷,已有一系列针对于canny算子阈值的自动选取的算法:
王植,贺赛先.一种基于Canny理论的自适应边缘检测方法[J].中国图象图形学报,2004(08):65-70.提出将整幅图像分割为若干子图像,并根据各子图像的边缘梯度信息,结合全局边缘梯度特征信息自适应地生成动态阈值,提高了边缘检测的自动化程度。
段军,高翔.基于统计滤波的自适应双阈值改进canny算子边缘检测算法[J].激光杂志,2015,36(01):10-12.DOI:10.14016/j.cnki.jgzz.2015.01.010.提出一种基于简单统计的阈值选择算法。
胡璟懿,匡尧,余铮,王敬靖,张兰澜,刘云飞.面向大光度变化图像的阈值自适应Canny算子[J].机械与电子,2022,40(08):18-22+27.采用了OTSU大津法进行了高低阈值的计算。
李牧,闫继红,李戈,赵杰.自适应Canny算子边缘检测技术[J].哈尔滨工程大学学报,2007(09):1002-1007.在理论上证明了以上OTSU算法得出高低阈值的存在性。
王小俊,刘旭敏,关永.基于改进Canny算子的图像边缘检测算法[J].计算机工程,2012,38(14):196-198+202.用迭代算法计算最佳高低双阈值。
综上,现有技术的思路是将一副图像采用迭代算法算出的阈值分为目标和背景两部分,并将目标和背景的灰度均值作为canny算子的高低阈值。具体算法可以描述如下:通过直方图统计得出最小和最大灰度值的平均值作为初始阈值,用初始阈值将所有灰度值分为2个部分,一部分高于初始阈值,另一部分低于初始阈值,分别对两部分求均值,再求2个均值的均值,得到经过一次迭代的阈值,将这个阈值与初始阈值比较,如果2个阈值相等或相差满足一定关系时,迭代结束,这次得到的阈值就是最佳阈值;如果不满足,则将用这次阈值分割所有灰度值,重复以上步骤。最终以该阈值为界限分出两部分的均值即为梯度高低阈值。
现有技术的缺点:在现有对canny算子的改进算法中,主流思路是基于图像的梯度幅度直方图,利用大津法,将梯度幅度分为三类,求使得类间方差最大的高低阈值。但在实际的应用过程中,由于在光刻SEM图像中非轮廓点的像素数远大于轮廓点的像素数,因此其梯度直方图仅呈现出低梯度峰值的单峰分布。若基于此直方图进行大津法计算,其结果将会集中在峰值附近并产生出大量的伪边缘,大大影响了边缘提取的准确性。如上述的基于改进Canny算子的图像边缘检测算法,其采取了基于背景和目标灰度均值的方法得到了高低阈值,但由于canny算子的高低阈值与图像的灰度阈值有所区别,因此直接将目标和背景的均值作为canny算子的高低阈值没有在理论上论证其合理性。此外,由于对于图像的滤波处理虽然能够一定程度上起到降噪的效果,但由于图像的边缘信息和噪声信息都属于高频信息,因此降噪后的图像会导致边缘的模糊进而影响后续边缘检测的效果,目前算法未将这一因素考虑在内。
发明内容
本发明提供一种基于自适应梯度阈值canny算子的边缘检测方法及其装置,用以解决现有技术中存在的伪边缘多,边缘提取准确性低,边缘模糊,边缘检测效果不好等问题,可以充分运用图像的灰度分布信息,并将图像的灰度分布与梯度分布的内在关联和canny算子的内置方法进行统一。
第一方面,提供了一种基于自适应梯度阈值canny算子的边缘检测方法,其包括以下步骤:获取原始图像;对原始图像进行预处理,并用中值滤波、高斯滤波对图像去除噪声;将滤波后的图像转化为灰度图像,并获取该灰度图像的灰度直方图,根据灰度直方图计算灰度阈值;以灰度阈值T为界限,计算目标和背景的灰度均值;基于目标和背景的灰度均值确定高梯度阈值和低梯度阈值;利用canny算子和计算得到的高、低梯度阈值进行边缘识别,获得边缘检测图像。
基于上述方案,本发明提出了一种具有合理性的自适应阈值canny算法,其要求进行阈值分割的灰度阈值和canny算子的高低梯度皆为自动选取。此外,由于canny边缘检测方法需要预先对图像进行高斯滤波,本发明算法的梯度阈值将高斯滤波对边缘的模糊作用考虑在内。
在一种可能的实施方式中,该方法还包括:对原始图像进行预处理的过程,具体可以是对原始图像进行3*3区域内的中值滤波,得到中值滤波处理后的图像;对滤波处理后的图像进行闭运算;对滤波处理后的图像进行开运算;构建高斯滤波函数对开闭运算后的图像进行3*3区域内的再次滤波降噪,得到高斯噪声处理后的图像。
在一种可能的实施方式中,该方法还包括:计算灰度阈值的过程,具体可以是绘制灰度图像的灰度直方图,其横坐标为灰度值,纵坐标为像素点个数;求得灰度直方图的峰值;设定初始左右边界[Li,Ri],其中,i是迭代次数,初始时i=0,即L0=0,R0=255;对灰度图像进行大津法,得到阈值T0。
在一种可能的实施方式中,该方法还包括:以阈值T0为界限,把灰度图像按灰度分为[Li,Ti]和[Ti,Ri]两部分,记为目标和背景,分别求得这两部分的均值u1i,u2i;确定下一次迭代边界[Li,Ri];对灰度图像在[Li+1,Ri+1]进行大津法,得到阈值Ti;设定阈值差为Tmin,判断|Ti-Ti-1|>=Ti,如不是,则程序终止并输出Ti-1。
在一种可能的实施方式中,该方法还包括:求得灰度直方图的峰值的过程,具体可以是:假设峰值灰度为k,对应像素点个数为p(k),其包括:p(k)为极大值,即:p(k)>p(k-1)且p(k)>p(k+1);p(k)为灰度[k-rang1:k+rang2]内的最大值,若rang1和rang2的取值范围内有另一灰度其像素数等于p(k),则取灰度值较小的k为峰值灰度;p(k)占总像素数比例大于0.2%。
在一种可能的实施方式中,该方法还包括:确定下一次迭代边界[Li,Ri]的过程,具体可以是:若i>[2/m],Li+1=Li,Ri+1=Ri;若i<=[2/m],则进一步的判断包括:若Ti<u1,则Li+1=Ti,否则Li+1=u1;若Tm-(i+1)<u1,则Ri+1=Tm-(i+1),否则Ri+1=u2。
在一种可能的实施方式中,该方法还包括:确定高梯度阈值和低梯度阈值的过程,具体可以是:以阈值为界限,把灰度图像分为目标和背景图像,设置目标和背景图像的灰度均值为u1和u2;在canny算子中,使用的八邻域梯度sobel算子为Gy,Gx;假设小区域内边缘为直边缘,梯度矢量相加后取幅值,表示为公式(1):
其最大幅值表示为公式(2):
Gmax= 4*|u1-u2| (2)
将最大幅值Gmax=4*0.726*|u1-u2|作为高梯度阈值Th,将低梯度阈值Tl设置为0.726*|u1-u2|。
在一种可能的实施方式中,该方法还包括:利用canny算子和计算得到的高、低梯度阈值进行边缘识别的过程,具体可以是计算出边缘像素点的梯度幅度和梯度方向;根据梯度方向对梯度幅值执行非极大值抑制,其中,每个像素点的八邻域中心像素的梯度幅值与沿着其对应的梯度方向的两个像素的梯度幅值相比,若该八邻域中心像素为最大值,则保留,否则将该中心像素置为0,以得到细化的边缘;
在一种可能的实施方式中,该方法还包括:将梯度幅值大于高梯度阈值Th的像素点作为边缘点,将梯度幅值小于低梯度阈值Tl的像素点作为非边缘点,其余像素点若其八邻域内有边缘点则该像素点为边缘点,否则该像素点为非边缘点。
基于上述方案,本发明具有以下效果:
1、本发明能够准确判断适用于迭代条件的灰度直方图的峰值;
2、本发明能够避免两次迭代中的左右边界差值过小;
3、本发明可以自动计算阈值分割的灰度阈值;
4、本发明可以自动计算canny算子的高低梯度阈值;
5、本发明避免了高斯滤波对边缘的模糊效果的影响。
第二方面,本发明还提供了一种基于自适应梯度阈值canny算子的边缘检测装置,其包括:图像获取单元,用于获取原始图像;
图像处理单元,用于对原始图像进行预处理,并用中值滤波、高斯滤波对图像去除噪声;
灰度阈值单元,用于将滤波后的图像转化为灰度图像,并获取该灰度图像的灰度直方图,根据灰度直方图计算灰度阈值;
灰度均值单元,用于以灰度阈值T为界限,计算目标和背景的灰度均值;
高低阈值单元,用于基于目标和背景的灰度均值确定高梯度阈值和低梯度阈值;
边缘检测单元,用于利用canny算子和计算得到的高、低梯度阈值进行边缘识别,获得边缘检测图像。
基于上述方案,本发明通过由图像获取单元、图像处理单元、灰度阈值单元、灰度均值单元、高低阈值单元和边缘检测单元所组成的边缘检测装置来实现将图像的灰度分布与梯度分布的内在关联和canny算子的内置方法进行统一,解决现有技术中存在的伪边缘多,边缘提取准确性低,边缘模糊,边缘检测效果不好等问题。
第三方面,提供了一种电子设备,包括:存储器:用于存储计算机程序;处理器:用于执行所述计算机程序,以实现上述的基于自适应梯度阈值canny算子的边缘检测方法的步骤。
第四方面,提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现上述的基于自适应梯度阈值canny算子的边缘检测方法的步骤。
基于上述方案,本发明提供了一种电子设备以及存储介质,其包括:一个或多个存储器,一个或多个处理器。存储器用于存储程序代码和程序运行过程中产生的中间数据、模型输出结果的储存和模型及模型参数的储存;处理器用于代码运行所占用的处理器资源和训练模型时占用的多个处理器资源。
下面结合附图和具体实施方式对本发明作进一步详细说明。
附图说明
图1是本发明一种基于自适应梯度阈值canny算子的边缘检测方法实施例的流程图。
图2是本发明一种基于自适应梯度阈值canny算子的边缘检测方法实施例中关于理想的目标、背景灰度分布示意图。
图3是本发明一种基于自适应梯度阈值canny算子的边缘检测方法实施例关于Gy的示意图。
图4是本发明一种基于自适应梯度阈值canny算子的边缘检测方法实施例中关于Gx的示意图。
图5是本发明一种基于自适应梯度阈值canny算子的边缘检测方法实施例中关于3*3高斯滤波核的示意图。
图6是本发明一种基于自适应梯度阈值canny算子的边缘检测方法实施例中关于滤波前八邻域灰度分布的示意图。
图7是本发明一种基于自适应梯度阈值canny算子的边缘检测方法实施例中关于滤波后八邻域分布的示意图。
图8是本发明一种基于自适应梯度阈值canny算子的边缘检测装置实施例的原理图。
具体实施方式
下面结合附图对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
首先,结合附图对本申请中所涉及的部分用语和相关技术进行解释说明,以便于本领域技术人员理解。
canny算子:Canny边缘检测算子是John F.Canny于1986年开发出来的一个多级边缘检测算法,其目标是找到一个最优的边缘检测算法,此算法被很多人认为是边缘检测的最优算法,相对其他边缘检测算法来说其识别图像边缘的准确度要高很多。
灰度直方图:灰度直方图是关于灰度级分布的函数,是对图像中灰度级分布的统计。灰度直方图是将数字图像中的所有像素,按照灰度值的大小,统计其出现的频率。灰度直方图是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图像中某种灰度出现的频率。
中值滤波:中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。
高斯滤波:高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。
一种基于自适应梯度阈值canny算子的边缘检测方法实施例:
参见图1,本发明提供的一种基于自适应梯度阈值canny算子的边缘检测方法,可以包括以下步骤:
步骤S1,获取原始图像;
步骤S2,对原始图像进行预处理,并用中值滤波、高斯滤波对图像去除噪声;
步骤S3,将滤波后的图像转化为灰度图像,并获取该灰度图像的灰度直方图,根据灰度直方图计算灰度阈值;
步骤S4,以灰度阈值T为界限,计算目标和背景的灰度均值;
步骤S5,基于目标和背景的灰度均值确定高梯度阈值和低梯度阈值;
步骤S6,利用canny算子和计算得到的高、低梯度阈值进行边缘识别,获得边缘检测图像。
基于上述方案,本实施例提出了一种具有合理性的自适应阈值canny算法,其要求进行阈值分割的灰度阈值和canny算子的高低梯度皆为自动选取。此外,由于canny边缘检测方法需要预先对图像进行高斯滤波,本发明算法的梯度阈值将高斯滤波对边缘的模糊作用考虑在内。
可选的,本实施例还可以执行下述操作:
对原始图像进行预处理的过程,具体可以是对原始图像进行3*3区域内的中值滤波,得到中值滤波处理后的图像;对滤波处理后的图像进行闭运算;对滤波处理后的图像进行开运算;构建高斯滤波函数对开闭运算后的图像进行3*3区域内的再次滤波降噪,得到高斯噪声处理后的图像。
可选的,还可以执行下述操作:
计算灰度阈值的过程,具体可以是绘制灰度图像的灰度直方图,其横坐标为灰度值,纵坐标为像素点个数;求得灰度直方图的峰值;
设定初始左右边界[Li,Ri],其中,i是迭代次数,初始时i=0,即L0=0,R0=255;
对灰度图像进行大津法,得到阈值T0。
可选的,本实施例还可以执行下述操作:
以阈值T0为界限,把灰度图像按灰度分为[Li,Ti]和[Ti,Ri]两部分,记为目标和背景,分别求得这两部分的均值u1i,u2i;
确定下一次迭代边界[Li,Ri];
对灰度图像在[Li+1,Ri+1]进行大津法,得到阈值Ti;
设定阈值差为Tmin,判断|Ti-Ti-1|>=Ti,如不是,则程序终止并输出Ti-1。
可选的,本实施例还可以执行下述操作:
求得灰度直方图的峰值的过程,具体可以是:
假设峰值灰度为k,对应像素点个数为p(k),其包括:
p(k)为极大值,即:p(k)>p(k-1)且p(k)>p(k+1);
p(k)为灰度[k-rang1:k+rang2]内的最大值,若rang1和rang2的取值范围内有另一灰度其像素数等于p(k),则取灰度值较小的k为峰值灰度;
p(k)占总像素数比例大于0.2%。
可选的,本实施例还可以执行下述操作:
确定下一次迭代边界[Li,Ri]的过程,具体可以是:若i>[2/m],Li+1=Li,Ri+1=Ri;
若i<=[2/m],则进一步的判断包括:
若Ti<u1,则Li+1=Ti,否则Li+1=u1;
若Tm-(i+1)<u1,则Ri+1=Tm-(i+1),否则Ri+1=u2。
可选的,本实施例还可以执行下述操作:
确定高梯度阈值和低梯度阈值的过程,具体可以是:
以阈值为界限,把灰度图像分为目标和背景图像,设置目标和背景图像的灰度均值为u1和u2;
在canny算子中,使用的八邻域梯度sobel算子为Gy,Gx;
假设小区域内边缘为直边缘,梯度矢量相加后取幅值,表示为公式(1):
其最大幅值表示为公式(2):
Gmax= 4*|u1-u2| (2)
将最大幅值Gmax=4*0.726*|u1-u2|作为高梯度阈值Th,将低梯度阈值Tl设置为0.726*|u1-u2|。
可选的,本实施例还可以执行下述操作:
利用canny算子和计算得到的高、低梯度阈值进行边缘识别的过程,具体可以是计算出边缘像素点的梯度幅度和梯度方向;
根据梯度方向对梯度幅值执行非极大值抑制,其中,每个像素点的八邻域中心像素的梯度幅值与沿着其对应的梯度方向的两个像素的梯度幅值相比,若该八邻域中心像素为最大值,则保留,否则将该中心像素置为0,以得到细化的边缘;
可选的,本实施例还可以执行下述操作:
将梯度幅值大于高梯度阈值Th的像素点作为边缘点,将梯度幅值小于低梯度阈值Tl的像素点作为非边缘点,其余像素点若其八邻域内有边缘点则该像素点为边缘点,否则该像素点为非边缘点。
在实际应用中,本申请实施例提供一种基于自适应梯度阈值canny算子的边缘检测方法,其具体包括:
一、读取SEM图像。
二、对SEM图像进行预处理,具体包括:
1、进行3*3区域内的中值滤波;
2、对图像进行闭运算;
3、对图像进行开运算;
4、进行3*3区域内的高斯滤波。
三、求灰度阈值,其具体包括:
1、获取灰度图像的灰度直方图,其横坐标为灰度值,纵坐标为像素点个数。
2、求得灰度直方图的峰值(极大值)Tm,m是峰值个数,判断条件(假设峰值灰度为k,对应像素点个数为p(k))如下:
(1)p(k)为极大值,即:p(k)>p(k-1)且p(k)>p(k+1);
(2)p(k)为灰度[k-rang1:k+rang2]内的最大值,其中rang1和rang2取值为5~8。若该范围内有另一灰度其像素数等于p(k),则取灰度值较小的k为峰值灰度;
(3)p(k)占总像素数比例大于0.2%。
可见,上述三个条件可用于判断灰度直方图峰值的方法,其保证了能够有效且精准地检测出灰度直方图的峰值,且避免了两峰值间距离较近,峰值过低的问题。
3、设定初始左右边界[Li,Ri](i=0)即L0=0,R0=255,其中i是迭代次数。
4、对灰度图像进行大津法,得到阈值T0。
5、以阈值T0为界限,把灰度图像按灰度分为[Li,Ti]和[Ti,Ri]两部分,记为目标和背景,分别求得这两部分的均值u1i,u2i。
6、确定下一次迭代边界[Li,Ri],方法如下:
(1)若i>[2/m],Li+1=Li,Ri+1=Ri;
(2)若i<=[2/m],进行进一步判断:
A:若Ti<u1,则Li+1=Ti,否则Li+1=u1;
B:若Tm-(i+1)<u1则Ri+1=Tm-(i+1),否则Ri+1=u2。
7、对灰度图像在[Li+1,Ri+1]进行大津法,得到阈值Ti。
8、设定阈值差Tmin,如果|Ti-Ti-1|>=Ti,返回第5步;否则程序终止并输出Ti-1。
四、计算目标、背景灰度均值:
以阈值T为界限,把灰度图按灰度分为[0,T]和[T,255]两部分,记为目标和背景,分别求得这两部分的灰度均值u1,u2。
五、计算高低梯度阈值:
低阈值Tl=0.726*|u1-u2|;高阈值Th=4*0.726*|u1-u2|。
其计算的思路如下:
1、以阈值把图像分为目标和背景,两部分的灰度均值为u1和u2,因此最理想情况下,目标灰度皆为u1,背景灰度皆为u2,如图2所示。
2、在canny算子中,使用的八邻域梯度sobel算子为Gy,Gx,如图3和图4所示:
4、由于滤波影响,会导致边缘附近像素改变,具体如图5-7所示。
因此,如此计算后,的最大值Gmax4*0.726*|u1-u2|,这便确定了高阈值。考虑到低阈值为可能为边缘点的最小值,而|u1-u2|为最小的目标与背景的灰度差异。考虑到滤波导致的边缘模糊,因此将低阈值设置为0.726*|u1-u2|。
六、利用canny算子和高低阈值进行边缘识别,具体步骤如下:
1、高斯滤波,其核大小为3*3。
2、计算梯度幅度和方向,使用算子为八邻域的sobel算子。其中,sobel算子如图2、图3所示,总梯度为x和y方向梯度进行矢量相加后的幅值。
3、根据梯度方向对梯度幅值进行非极大值抑制。其中,每个像素点其八邻域中心像素的梯度幅值与沿着其对应的梯度方向的两个像素的梯度幅值相比,若中心像素为最大值,则保留,否则中心置0,这样可以抑制非极大值像素点,保留局部梯度最大的点,以得到细化的边缘。
4、滞后高低阈值判断与边缘连接。其中,将梯度幅值大于Th的点认为是边缘点,将梯度幅值小于Tl的点认为是非边缘点,其余点若其八邻域内有边缘点则为边缘点,否则为非边缘点。可见,上述高低梯度阈值的计算思路,其考虑到了canny算子的内置方法,并结合高斯滤波后的效果进行阈值选取。
因此,本申请实施例结合了SEM图像的特点,以特征较为明显的灰度直方图作为切入点,避免了分析在大部分情况下呈单峰分布的梯度直方图。灰度阈值方面,利用迭代大津法进行计算,提高了准确性。在灰度阈值基础上,计算目标和背景的灰度均值。并进一步地,考虑canny算子计算梯度的方法,利用灰度均值对梯度阈值进行了合理的估计。此外,由于canny算子中需有一步高斯滤波,其对边缘的模糊作用会影响梯度阈值的选取,本发明也将这一影响考虑在内,有效改进了边缘断裂的问题。
本发明还提供了一种基于自适应梯度阈值canny算子的边缘检测装置,其包括:
图像获取单元,用于获取原始图像;
图像处理单元,用于对原始图像进行预处理,并用中值滤波、高斯滤波对图像去除噪声;
灰度阈值单元,用于将滤波后的图像转化为灰度图像,并获取该灰度图像的灰度直方图,根据灰度直方图计算灰度阈值;
灰度均值单元,用于以灰度阈值T为界限,计算目标和背景的灰度均值;
高低阈值单元,用于基于目标和背景的灰度均值确定高梯度阈值和低梯度阈值;
边缘检测单元,用于利用canny算子和计算得到的高、低梯度阈值进行边缘识别,获得边缘检测图像。
基于上述方案,本发明通过由图像获取单元、图像处理单元、灰度阈值单元、灰度均值单元、高低阈值单元和边缘检测单元所组成的边缘检测装置来实现将图像的灰度分布与梯度分布的内在关联和canny算子的内置方法进行统一,解决现有技术中存在的伪边缘多,边缘提取准确性低,边缘模糊,边缘检测效果不好等问题。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于自适应梯度阈值canny算子的边缘检测方法。
本领域技术人员可以理解,本实施例示出的计算机设备结构,仅仅是与本申请方案相关的部分结构,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比本实施例中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。
Claims (10)
1.一种基于自适应梯度阈值canny算子的边缘检测方法,其特征在于,包括以下步骤:
获取原始图像;
对原始图像进行预处理,并用中值滤波、高斯滤波对图像去除噪声;
将滤波后的图像转化为灰度图像,并获取该灰度图像的灰度直方图,根据灰度直方图计算灰度阈值;
以灰度阈值T为界限,计算目标和背景的灰度均值;
基于目标和背景的灰度均值确定高梯度阈值和低梯度阈值;
利用canny算子和计算得到的高、低梯度阈值进行边缘识别,获得边缘检测图像。
2.根据权利要求1所述的方法,其特征在于,所述对原始图像进行预处理,包括:
对原始图像进行3*3区域内的中值滤波,得到中值滤波处理后的图像;
对滤波处理后的图像进行闭运算;
对滤波处理后的图像进行开运算;
构建高斯滤波函数对开闭运算后的图像进行3*3区域内的再次滤波降噪,得到高斯噪声处理后的图像。
3.根据权利要求1所述的方法,其特征在于,所述计算灰度阈值,包括:
绘制灰度图像的灰度直方图,其横坐标为灰度值,纵坐标为像素点个数;
求得灰度直方图的峰值;
设定初始左右边界[Li,Ri],其中,i是迭代次数,初始时i=0,即L0=0,R0=255;
对灰度图像进行大津法,得到阈值T0。
4.根据权利要求1所述的方法,其特征在于,包括:
以阈值T0为界限,把灰度图像按灰度分为[Li,Ti]和[Ti,Ri]两部分,记为目标和背景,分别求得这两部分的均值u1i,u2i;
确定下一次迭代边界[Li,Ri];
对灰度图像在[Li+1,Ri+1]进行大津法,得到阈值Ti;
设定阈值差为Tmin,判断|Ti-Ti-1|>=Ti,如不是,则程序终止并输出Ti-1。
5.根据权利要求4所述的方法,其特征在于,所述求得灰度直方图的峰值,包括:
假设峰值灰度为k,对应像素点个数为p(k),其包括:
p(k)为极大值,即:p(k)>p(k-1)且p(k)>p(k+1);
p(k)为灰度[k-rang1:k+rang2]内的最大值,若rang1和rang2的取值范围内有另一灰度其像素数等于p(k),则取灰度值较小的k为峰值灰度;
p(k)占总像素数比例大于0.2%。
6.根据权利要求5所述的方法,其特征在于,所述确定下一次迭代边界[Li,Ri],包括:
若i>[2/m],Li+1=Li,Ri+1=Ri;
若i<=[2/m],则进一步的判断包括:
若Ti<u1,则Li+1=Ti,否则Li+1=u1;
若Tm-(i+1)<u1,则Ri+1=Tm-(i+1),否则Ri+1=u2。
7.根据权利要求4所述的方法,其特征在于,确定高梯度阈值和低梯度阈值,包括:
以阈值为界限,把灰度图像分为目标和背景图像,设置目标和背景图像的灰度均值为u1和u2;
在canny算子中,使用的八邻域梯度sobel算子为Gy,Gx;
假设小区域内边缘为直边缘,梯度矢量相加后取幅值,表示为公式(1):
G=√Gx2+Gy2 (1)
其最大幅值表示为公式(2):
Gmax=4*|u1-u2| (2)
将最大幅值Gmax=4*0.726*|u1-u2|作为高梯度阈值Th,将低梯度阈值Tl设置为0.726*|u1-u2|。
8.根据权利要求7所述的方法,其特征在于,所述利用canny算子和计算得到的高、低梯度阈值进行边缘识别,包括:
计算出边缘像素点的梯度幅度和梯度方向;
根据梯度方向对梯度幅值执行非极大值抑制,其中,每个像素点的八邻域中心像素的梯度幅值与沿着其对应的梯度方向的两个像素的梯度幅值相比,若该八邻域中心像素为最大值,则保留,否则将该中心像素置为0,以得到细化的边缘。
9.根据权利要求8所述的方法,其特征在于,包括:
将梯度幅值大于高梯度阈值Th的像素点作为边缘点,将梯度幅值小于低梯度阈值Tl的像素点作为非边缘点,其余像素点若其八邻域内有边缘点则该像素点为边缘点,否则该像素点为非边缘点。
10.一种基于自适应梯度阈值canny算子的边缘检测装置,其特征在于,包括:
图像获取单元,用于获取原始图像;
图像处理单元,用于对原始图像进行预处理,并用中值滤波、高斯滤波对图像去除噪声;
灰度阈值单元,用于将滤波后的图像转化为灰度图像,并获取该灰度图像的灰度直方图,根据灰度直方图计算灰度阈值;
灰度均值单元,用于以灰度阈值T为界限,计算目标和背景的灰度均值;
高低阈值单元,用于基于目标和背景的灰度均值确定高梯度阈值和低梯度阈值;
边缘检测单元,用于利用canny算子和计算得到的高、低梯度阈值进行边缘识别,获得边缘检测图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211553631.7A CN115797300A (zh) | 2022-12-06 | 2022-12-06 | 一种基于自适应梯度阈值canny算子的边缘检测方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211553631.7A CN115797300A (zh) | 2022-12-06 | 2022-12-06 | 一种基于自适应梯度阈值canny算子的边缘检测方法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115797300A true CN115797300A (zh) | 2023-03-14 |
Family
ID=85445901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211553631.7A Pending CN115797300A (zh) | 2022-12-06 | 2022-12-06 | 一种基于自适应梯度阈值canny算子的边缘检测方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115797300A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116385446A (zh) * | 2023-06-06 | 2023-07-04 | 山东德圣源新材料有限公司 | 一种用于勃姆石生产的晶体杂质检测方法 |
CN116630643A (zh) * | 2023-05-23 | 2023-08-22 | 北京拙河科技有限公司 | 一种基于图像物体边界识别的像素拆分方法及装置 |
CN116664457A (zh) * | 2023-08-02 | 2023-08-29 | 聊城市洛溪信息科技有限公司 | 一种用于增强去噪的图像处理方法 |
CN117057377A (zh) * | 2023-10-11 | 2023-11-14 | 青岛冠成软件有限公司 | 码的识别匹配方法 |
CN117576139A (zh) * | 2024-01-17 | 2024-02-20 | 深圳市致佳仪器设备有限公司 | 一种基于双边滤波的边缘及角点检测方法及系统 |
CN118397006A (zh) * | 2024-06-28 | 2024-07-26 | 瑞峰(天津)电子有限公司 | 基于图像识别的电路板焊接不良检测方法及系统 |
-
2022
- 2022-12-06 CN CN202211553631.7A patent/CN115797300A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116630643A (zh) * | 2023-05-23 | 2023-08-22 | 北京拙河科技有限公司 | 一种基于图像物体边界识别的像素拆分方法及装置 |
CN116385446A (zh) * | 2023-06-06 | 2023-07-04 | 山东德圣源新材料有限公司 | 一种用于勃姆石生产的晶体杂质检测方法 |
CN116385446B (zh) * | 2023-06-06 | 2023-08-15 | 山东德圣源新材料有限公司 | 一种用于勃姆石生产的晶体杂质检测方法 |
CN116664457A (zh) * | 2023-08-02 | 2023-08-29 | 聊城市洛溪信息科技有限公司 | 一种用于增强去噪的图像处理方法 |
CN116664457B (zh) * | 2023-08-02 | 2023-10-13 | 聊城市洛溪信息科技有限公司 | 一种用于增强去噪的图像处理方法 |
CN117057377A (zh) * | 2023-10-11 | 2023-11-14 | 青岛冠成软件有限公司 | 码的识别匹配方法 |
CN117057377B (zh) * | 2023-10-11 | 2024-01-12 | 青岛冠成软件有限公司 | 码的识别匹配方法 |
CN117576139A (zh) * | 2024-01-17 | 2024-02-20 | 深圳市致佳仪器设备有限公司 | 一种基于双边滤波的边缘及角点检测方法及系统 |
CN117576139B (zh) * | 2024-01-17 | 2024-04-05 | 深圳市致佳仪器设备有限公司 | 一种基于双边滤波的边缘及角点检测方法及系统 |
CN118397006A (zh) * | 2024-06-28 | 2024-07-26 | 瑞峰(天津)电子有限公司 | 基于图像识别的电路板焊接不良检测方法及系统 |
CN118397006B (zh) * | 2024-06-28 | 2024-09-10 | 瑞峰(天津)电子有限公司 | 基于图像识别的电路板焊接不良检测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115797300A (zh) | 一种基于自适应梯度阈值canny算子的边缘检测方法及其装置 | |
CN108629343B (zh) | 一种基于边缘检测和改进Harris角点检测的车牌定位方法和系统 | |
US9947077B2 (en) | Video object tracking in traffic monitoring | |
US8090214B2 (en) | Method for automatic detection and correction of halo artifacts in images | |
CN111507055B (zh) | 电路设计版图和电镜扫描图像的配准方法及系统、电路设计版图和其成像误差计算方法 | |
US20180068473A1 (en) | Image fusion techniques | |
CN112200826B (zh) | 一种工业弱缺陷分割方法 | |
CN112862753B (zh) | 噪声强度估计方法、装置及电子设备 | |
CN112037287A (zh) | 相机标定方法、电子设备及存储介质 | |
CN113344801A (zh) | 一种应用于燃气计量设施环境下的图像增强方法、系统、终端及存储介质 | |
CN113011433B (zh) | 一种滤波参数调整方法及装置 | |
CN114842213A (zh) | 一种障碍物轮廓检测方法、装置、终端设备和存储介质 | |
CN114998186A (zh) | 基于图像处理的铜始极片表面结疤缺陷检测方法及系统 | |
CN116993609A (zh) | 一种图像降噪方法、装置、设备及介质 | |
US8855401B2 (en) | Methods and systems involving measuring complex dimensions of silicon devices | |
CN111179245A (zh) | 图像质量检测方法、装置、电子设备和存储介质 | |
Chan et al. | Pixel filtering and reallocation with histograms of second-order derivatives of pixel values for electron microscope images | |
CN111415365A (zh) | 图像检测方法及装置 | |
CN113033542B (zh) | 一种文本识别模型的生成方法以及装置 | |
KR20240101589A (ko) | 반도체 전자빔 결함 모니터링을 위한 이미지 처리 방법, 장치 및 시스템 | |
CN112581411B (zh) | 一种图像去雾的方法及终端 | |
CN112652004B (zh) | 一种图像处理方法、装置、设备及介质 | |
CN111476821B (zh) | 基于在线学习的目标跟踪方法 | |
CN115937263B (zh) | 基于视觉的目标跟踪方法、系统、电子设备及存储介质 | |
JP7009253B2 (ja) | 画像処理装置、画像処理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |