CN114399522A - 一种基于高低阈值的Canny算子的边缘检测方法 - Google Patents

一种基于高低阈值的Canny算子的边缘检测方法 Download PDF

Info

Publication number
CN114399522A
CN114399522A CN202210044131.4A CN202210044131A CN114399522A CN 114399522 A CN114399522 A CN 114399522A CN 202210044131 A CN202210044131 A CN 202210044131A CN 114399522 A CN114399522 A CN 114399522A
Authority
CN
China
Prior art keywords
image
edge
gradient
value
low
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
Application number
CN202210044131.4A
Other languages
English (en)
Inventor
金世俊
陈奕怡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University
Original Assignee
Southeast University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Southeast University filed Critical Southeast University
Priority to CN202210044131.4A priority Critical patent/CN114399522A/zh
Publication of CN114399522A publication Critical patent/CN114399522A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/155Segmentation; Edge detection involving morphological operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20036Morphological image processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)

Abstract

本发明提出了一种基于高低阈值的Canny算子的边缘检测方法,主要步骤如下:1)对源图像进行平滑滤波处理,并用开关中值滤波代替高斯滤波对图像去除噪声;2)对步骤1中平滑滤波处理并去噪声后的图像采用sobel算子计算图像梯度幅值和方向;3)对步骤2得到的梯度幅值进行非极大值抑制得单像素宽度的边缘图像;4)采用k‑means聚类算法得到高、低梯度值的聚类中心;5)otsu算法得到梯度的otsu阈值,在高聚类中心、otsu阈值和低聚类中心之间取高、低阈值;6)利用高、低阈值处理步骤3得到的单像素宽度的边缘图像,并得到二值化边缘;7)采用面积形态学开运算对二值化边缘的干扰边缘进行去除,并得到最终边缘图像。本发明的Canny算法具有定位精度高、自适应性强以及干扰点去除效果好等优点。

Description

一种基于高低阈值的Canny算子的边缘检测方法
技术领域
本发明涉及数字图像处理领域,具体提供一种基于高低阈值的Canny算子的边缘检测方法。
背景技术
边缘特征是图像的基本特征,它能在保留物体形状信息的前提下大大减少所要处理的信息,边缘特征的提取精度影响着后续针对所提取特征处理的精度,因此边缘检测是图像处理和计算机视觉中的基本问题。灰度图像边缘是指图像局部区域灰度变化最显著的部分,图像的灰度变化可以用梯度来表示。当前,常用的边缘提取方法主要分为两类:一阶差分边缘检测算法(如Sobel、Prewitt算法)和二阶差分边缘检测算法(如Laplacian算子)。传统的边缘检测算法如Sobel(可分为检测水平方向和垂直方向的两个算子),Canny,Roberts(利用局部差分的方法寻找的算子),Prewitt(边缘细化的算子),Log等等,但是大多数算子都有其一定的局限性。Sobel算子对边缘定位精度不够,Roberts对边缘定位精确度高但易丢失图像的边缘信息,不利于边缘提取,并且该算子没有对输入图像进行平滑处理,易受噪声影响。Prewitt算子易检测出伪边缘,这对灰度渐变低噪声的图像有较好的检测效果,但是对于混合多复杂噪声的图像,处理效果并不好。而Log算法对噪声比较敏感。与传统的微分算法相比,Canny算法可实现精度更高的边缘提取与定位。
但传统的Canny边缘检测算法存在对噪声图像的去噪效果不佳,以及双阈值需要预先设定等问题。国内外学者针对此提出许多改进方法。例如,陈顺、孟青青等人在改进Otsu算法的基础上,提出一种结合图像增强和改进Canny算子的图像边缘检测算法,降低了影响噪声,增强了图像的对比度。段军、张博等人提出一种采用统计滤波去噪和基于灰度的迭代法计算阈值的边缘检测算法。李凌提出改进的Canny边缘检测算法,采用复合形态滤波取代高斯滤波,保持边缘强度与细节,降低噪声的影响;采用Sobel算子加入45°和135°方向模板来计算梯度幅值,边缘定位效果更佳;为使边缘检测更连续,依据图像的灰度均值和方差选取阈值。刘素行采用自适应中值滤波进行去噪处理,在原有基础上增加45°和135°方向,利用有限差分来计算梯度幅值方向;采用非极大值抑制来细化图像边缘,采用Otsu算法计算图像的高低阈值。
发明内容
本发明的目的在于提出一种基于高低阈值的Canny算子的边缘检测方法,以解决现有技术中所存在的一个或多个技术问题,至少提供一种有益的选择或创造条件。
本发明提出了一种基于Canny的算法构架,首先用开关中值滤波代替高斯滤波对图像去除噪声,对去噪后的图像计算每个像素点的梯度幅值和方向,而后对梯度图像采用非极大值抑制得单像素宽度的边缘图像,然后利用k-means聚类和OTSU算法确定高低阈值并处理图像边缘,最后利用面积形态学开运算处理干扰边缘得到最终的边缘图像。该算法经实验证实,定位精度更高,自适应性强以及干扰点的去除效果更好。
为了实现上述目的,根据本发明的一方面,本发明提出了一种基于高低阈值的Canny算子的边缘检测算法,包括以下步骤:
步骤1,对源图像进行平滑滤波处理,并用开关中值滤波代替高斯滤波对图像去除噪声;
步骤2,对步骤1中平滑滤波处理并去噪声后的图像采用sobel算子计算图像梯度幅值和方向;
步骤3,对步骤2得到的梯度幅值进行非极大值抑制得单像素宽度的边缘图像
步骤4,采用k-means聚类算法得到高、低梯度值的聚类中心;
步骤5,采用otsu算法得到梯度的最佳阈值,在高聚类中心、最佳阈值和低聚类中心之间取高、低阈值;
步骤6,利用高、低阈值处理步骤3得到的单像素宽度的边缘图像,并得到二值化边缘;
步骤7,采用面积形态学开运算对二值化边缘的干扰边缘去除,并得到最终边缘图像。
具体的,在步骤1中,对源图像进行平滑滤波处理,并用开关中值滤波代替高斯滤波对图像去除噪声的方法的具体步骤如下:
步骤1.1:选用二维高斯函数对图像进行平滑滤波处理,高斯函数的计算公式为:
Figure BDA0003471464430000021
其中,H(x,y,σ)是二维高斯函数,σ表示平滑程度,π表示圆周率,x表示中心点的横坐标,y表示中心点的纵坐标;exp(·)表示以自然常数e为底的指数函数。
步骤1.2:对噪声进行检测:
一幅图像v,其椒盐噪声检测的表达式为公式(2):
Figure BDA0003471464430000022
式中:G(i,j)表示v中第i行、第j列像素点的灰度值;amin和amax分别表示以点(i,j)为中心的3X3窗口内的最小灰度均值和最大灰度均值;F(i,j)表示第i行、第j列的像素点是否为噪声点。
步骤1.3:对噪声点进行标记:
当G(i,j)介于amin和amax之间时,标记F(i,j)为1,反之该点为噪声点,标记F(i,j)为0。
步骤1.4:采用开关中值滤波算法对图像进行处理:
根据开关中值滤波的原理,对F(i,j)标记为1的像素点保持其灰度值不变,对F(i,j)标记为0的像素点灰度值使用其所在位置的中值来代替。
具体的,在步骤2中,对基于平滑后的图像采用sobel算子计算图像梯度幅值和方向的方法的具体步骤如下:
步骤2.1:sobel算子结合高斯平滑和微分求导,计算图像灰度的近似梯度。
步骤2.2:sobel算子对水平和垂直两个方向上求导,得X方向和Y方向梯度图像:
水平变化:将图像I与一个奇数大小的内核Gx进行卷积。当内核大小为3时,Gx的计算结果为公式(3):
Figure BDA0003471464430000031
垂直变化:将图像I与一个奇数大小的内核Gy进行卷积。当内核大小为3时,Gy的计算结果为公式(4):
Figure BDA0003471464430000032
步骤2.3:在图像I的每一点上,求出近似梯度:
Figure BDA0003471464430000033
步骤2.4:在图像I的每一点上,求出梯度方向:
Figure BDA0003471464430000034
具体的,在步骤3中,对平滑图像的梯度幅值进行非极大值抑制得单像素宽度的边缘图像的方法的具体步骤如下:
步骤3.1:检测平滑图像中每一个像素点的梯度幅值和梯度方向;
步骤3.2:根据梯度方向,对梯度幅值进行非极大值抑制消除边缘误检,保留相同梯度方向具有最大梯度幅度的像素点的梯度幅值,并将非极大值点的灰度值设置为零,最后得到单像素宽度的边缘图像。
具体的,在步骤4中,采用k-means聚类算法得到高、低梯度值的聚类中心的方法的具体步骤如下:
步骤4.1:在待分类的图像梯度数据中选取k个聚类中心,即c1,c2,...,ck,然后按照待分类的图像梯度数据到k个聚类中心距离的大小分为相应位置所在的类。
步骤4.2:采用误差平方和作为目标函数来衡量分类效果,误差平方和VSSE表达式为公式(7):
Figure BDA0003471464430000041
式中:cs表示第s个聚类中心的值;c0表示第s个聚类中心的数据点。
步骤4.3:使VSSE值最小,则对VSSE求偏导并令其为0,公式如下:
Figure BDA0003471464430000042
由(8)式可得
Figure BDA0003471464430000043
其中ms为第s个聚类中心包含的数据个数。
步骤4.4:当聚类中心的值取该类数据的均值时,可使VSSE的局部值最小,所以将各个类数据的均值作为新的聚类中心的值并重新分类。
然后求解各类数据的均值,重复以上步骤,直到各均值基本不发生变化,此时VSSE值为全局最小值,各均值均为最佳的聚类中心。
具体的,在步骤5中,采用otsu算法得到梯度的otsu阈值,在高聚类中心、otsu阈值和低聚类中心之间取高、低阈值的方法的具体步骤如下:
步骤5.1:将图像分为前景和背景两个部分,分割阈值记为t;
步骤5.2:前景部分的像素点占整个图像的比值标记为v0,平均灰度标记为u0
步骤5.3:背景部分的像素点占整个图像的比值标记为v1,平均灰度标记为u1
步骤5.3:整个图像总平均灰度标记为u,类间方差标记为d;图像中小于阈值t的像素点个数标记为N0,大于阈值t的像素点个数标记为N1
步骤5.4:求解划分图像边缘点和非边缘点的最佳阈值t:
u=v0*u0+v1*u1 (9)
d(t)=v0(t)(u0-u)2+v1(t)(u1-u)2 (10)
将式(9)带入式(10)中,得:
d(t)=v0(t)v1(t)(u0-u1)2 (11)
遍历全图,当d(t)为全局最大值时,t值为最佳阈值。
步骤5.5:步骤4中引入k-means算法得到高低梯度值的聚类中心ch和cl,则高阈值th必在[t,ch]区间中取得,低阈值tl必在[cl,t]区间中取得。
步骤5.6:引入低聚类中心偏移因子ul和高聚类中心偏移因子uh,才可准确得到高、低阈值以达到最佳分离效果,其中ul和uh的取值范围为[0,1],则高、低阈值分别为:
th=ch-uh(ch-t) (12)
tl=cl+ul(t-cl) (13)
具体的,在步骤6中,利用高、低阈值处理图像边缘,并得到二值化边缘的方法的具体步骤如下:
步骤6.1:根据步骤5得到最佳高、低阈值,将梯度值大于高阈值的像素点置为1,梯度值小于低阈值的像素点置为0;
步骤6.2:梯度值处于高、低阈值之间的像素点,查找其8邻域是否存在大于高阈值的梯度值,若存在则置为1,反之置为0,最终得到连接性较好的二值化边缘。
具体的,在步骤7中,采用面积形态学开运算对二值化边缘的干扰边缘进行去除,并得到最终边缘图像的方法的具体步骤如下:
步骤7.1:二值图像中,位置p处的连通域Cg(p)为
Figure BDA0003471464430000051
式中:Pg(p,q)表示去噪后图像g在位置p和位置q之间的连续路径。路径中的连通元素定义为8连通。
步骤7.2:面积形态学开运算的表达式为:
Figure BDA0003471464430000052
式中:|Cg(p)|表示像素值为1且连通的区域面积;S表示设定的面积阈值;
Figure BDA0003471464430000053
表示开运算操作。由式(15)可知,面积形态学开运算的结果是将像素值为1的连通域中面积小于S的像素值置为0。
步骤7.3:边缘检测过程中,因虚假的边缘面积几乎小于100pixel,与真正的边缘面积相差大,所以对连通域面积过小的边缘认定其为干扰边缘,采用面积形态学开运算对二值化边缘的干扰边缘进行去除,并得到最终的边缘图像。
本发明的有益效果是:
本发明提出了一种基于高低阈值的Canny算子的边缘检测方法的构架,在保留图像细节的同时又能很好的去噪,经实验证实,该改进的算法定位精度高、自适应性强以及干扰点去除效果好。
附图说明
通过对结合附图所示出的实施方式进行详细说明,下面描述中的附图仅仅是本发明的一些实施例,在附图中:
图1为本实施例中的基于高低阈值的Canny算子的边缘检测方法的流程图;
图2为本实施例中的不同算法在椒盐噪声的除噪对比图;
图3为本实施例中的不同算法处理得到的二值化边缘图像;
图4为本实施例中的最终边缘检测的图像。
具体实施方式
下面结合附图和具体实施方式,进一步阐明本发明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。
为了实现上述目的,根据本发明的一方面,本发明提出了一种基于高低阈值的Canny算子的边缘检测方法,图1为本实施例中的基于高低阈值的Canny算子的边缘检测方法的流程图,如图1所示,该方法包括以下步骤:
步骤1,对源图像进行平滑滤波处理,并用开关中值滤波代替高斯滤波对图像去除噪声;
步骤2,对步骤1中平滑滤波处理并去噪声后的图像采用sobel算子计算图像梯度幅值和方向;
步骤3,对步骤2得到的梯度幅值进行非极大值抑制得单像素宽度的边缘图像
步骤4,采用k-means聚类算法得到高、低梯度值的聚类中心;
步骤5,采用otsu算法得到梯度的最佳阈值,在高聚类中心、最佳阈值和低聚类中心之间取高、低阈值;
步骤6,利用高、低阈值处理步骤3得到的单像素宽度的边缘图像,并得到二值化边缘;
步骤7,采用面积形态学开运算对二值化边缘的干扰边缘去除,并得到最终边缘图像。
具体的,在步骤1中,对源图像进行平滑滤波处理,并用开关中值滤波代替高斯滤波对图像去除噪声的方法的具体步骤如下:
步骤1.1:选用二维高斯函数对图像进行平滑滤波处理,高斯函数的计算公式为:
Figure BDA0003471464430000061
其中,H(x,y,σ)是二维高斯函数,σ表示平滑程度,π表示圆周率,x表示中心点的横坐标,y表示中心点的纵坐标;exp(·)表示以自然常数e为底的指数函数。
步骤1.2:对噪声进行检测:
一幅图像v,其椒盐噪声检测的表达式为公式(2):
Figure BDA0003471464430000071
式中:G(i,j)表示v中第i行、第j列像素点的灰度值;
amin和amax分别表示以点(i,j)为中心的3X3窗口内最小灰度均值和最大灰度均值;
F(i,j)表示第i行、第j列的像素点是否为噪声点。
步骤1.3:对噪声点进行标记:
当G(i,j)介于amin和amax之间时,标记F(i,j)为1,反之该点为噪声点,标记F(i,j)为0。
步骤1.4:采用开关中值滤波算法对图像进行处理:
根据开关中值滤波的原理,对F(i,j)标记为1的像素点保持其灰度值不变,对F(i,j)标记为0的像素点灰度值使用其所在位置的中值来代替。
具体的,在步骤2中,对基于平滑后的图像采用sobel算子计算图像梯度幅值和方向的方法的具体步骤如下:
步骤2.1:sobel算子结合高斯平滑和微分求导,计算图像灰度的近似梯度。
步骤2.2:sobel算子对水平和垂直两个方向上求导,得X方向和Y方向梯度图像:
水平变化:将图像I与一个奇数大小的内核Gx进行卷积。当内核大小为3时,Gx的计算结果为公式(3):
Figure BDA0003471464430000072
垂直变化:将图像I与一个奇数大小的内核Gy进行卷积。当内核大小为3时,Gy的计算结果为公式(4):
Figure BDA0003471464430000073
步骤2.3:在图像I的每一点上,求出近似梯度:
Figure BDA0003471464430000074
步骤2.4:在图像I的每一点上,求出梯度方向:
Figure BDA0003471464430000081
具体的,在步骤3中,对平滑图像的梯度幅值进行非极大值抑制得单像素宽度的边缘图像的方法的具体步骤如下:
步骤3.1:检测平滑图像中每一个像素点的梯度幅值和梯度方向;
步骤3.2:根据梯度方向,对梯度幅值进行非极大值抑制消除边缘误检,保留相同梯度方向具有最大梯度幅度的像素点的梯度幅值,并将非极大值点的灰度值设置为零,最后得到单像素宽度的边缘图像。
具体的,在步骤4中,采用k-means聚类算法得到高、低梯度值的聚类中心的方法的具体步骤如下:
步骤4.1:在待分类的图像梯度数据中选取k个聚类中心,即c1,c2,...,ck,然后按照待分类的图像梯度数据到k个聚类中心距离的大小分为相应位置所在的类。
步骤4.2:采用误差平方和作为目标函数来衡量分类效果,误差平方和VSSE表达式为:
Figure BDA0003471464430000082
式中:cs表示第s个聚类中心的值;c0表示第s个聚类中心的数据点。
步骤4.3:使VSSE值最小,则对VSSE求偏导并令其为0,公式如下:
Figure BDA0003471464430000083
由(8)式可得
Figure BDA0003471464430000084
其中ms为第s个聚类中心包含的数据个数。
步骤4.4:当聚类中心的值取该类数据的均值时,可使VSSE的局部值最小,所以将各个类数据的均值作为新的聚类中心的值并重新分类。
然后求解各类数据的均值,重复以上步骤,直到各均值基本不发生变化,此时VSSE值为全局最小值,各均值均为最佳的聚类中心。
具体的,在步骤5中,采用otsu算法得到梯度的otsu阈值,在高聚类中心、otsu阈值和低聚类中心之间取高、低阈值的方法的具体步骤如下:
步骤5.1:将图像分为前景和背景两个部分,分割阈值记为t;
步骤5.2:前景部分的像素点占整个图像的比值标记为v0,平均灰度标记为u0;背景部分的像素点占整个图像的比值标记为v1,平均灰度标记为u1
步骤5.3:整个图像总平均灰度标记为u,类间方差标记为d;图像中小于阈值t的像素点个数标记为N0,大于阈值t的像素点个数标记为N1
步骤5.4:求解划分图像边缘点和非边缘点的最佳阈值t:
u=v0*u0+v1*u1 (9)
d(t)=v0(t)(u0-u)2+v1(t)(u1-u)2 (10)
将式(9)带入式(10)中,得:
d(t)=v0(t)v1(t)(u0-u1)2 (11)
遍历全图,当d(t)为全局最大值时,t值为最佳阈值。
步骤5.5:步骤4中引入k-means算法得到高低梯度值的聚类中心ch和cl,则高阈值th必在[t,ch]区间中取得,低阈值tl必在[cl,t]区间中取得。
步骤5.6:引入低聚类中心偏移因子ul和高聚类中心偏移因子uh,才可准确得到高、低阈值以达到最佳分离效果,其中ul和uh的取值范围为[0,1],则高、低阈值分别为:
th=ch-uh(ch-t) (12)
tl=cl+ul(t-cl) (13)
具体的,在步骤6中,利用高、低阈值处理图像边缘,并得到二值化边缘的方法的具体步骤如下:
步骤6.1:根据步骤5得到最佳高、低阈值,将梯度值大于高阈值的像素点置为1,梯度值小于低阈值的像素点置为0;
步骤6.2:梯度值处于高、低阈值之间的像素点,查找其8邻域是否存在大于高阈值的梯度值,若存在则置为1,反之置为0,最终得到连接性较好的二值化边缘。
具体的,在步骤7中,采用面积形态学开运算对二值化边缘的干扰边缘进行去除,并得到最终边缘图像的方法的具体步骤如下:
步骤7.1:二值图像中,位置p处的连通域Cg(p)为
Figure BDA0003471464430000091
式中:Pg(p,q)表示去噪后图像g在位置p和位置q之间的连续路径。路径中的连通元素定义为8连通。
步骤7.2:面积形态学开运算的表达式为:
Figure BDA0003471464430000101
式中:|Cg(p)|表示像素值为1且连通的区域面积;S表示设定的面积阈值;
Figure BDA0003471464430000102
表示开运算操作。由式(15)可知,面积形态学开运算的结果是将像素值为1的连通域中面积小于S的像素值置为0。
步骤7.3:边缘检测过程中,因虚假的边缘面积几乎小于100pixel,与真正的边缘面积相差大,所以对连通域面积过小的边缘认定其为干扰边缘,采用面积形态学开运算对二值化边缘的干扰边缘进行去除,并得到最终的边缘图像。
实验1,步骤1中采用开关中值滤波对图像去除噪声,与采用高斯滤波去噪的处理结果对比如下:在图2中,图2中的(a)为原图,图2中(b)为椒盐噪声图,图2中(c)为高斯滤波去噪图,图2中(d)为开关中值滤波去噪图。
实验2,步骤6中利用高、低阈值处理图像边缘,并得到二值化边缘图像与直接用ostu算法得到的二值化边缘图像如图3(a)和图3(b)所示:由图3可知,otsu算法的阈值选取较本实施例所用的k-means聚类算法得到高、低梯度值的聚类中心,然后在高聚类中心、otsu阈值和低聚类中心之间取高、低阈值的方法而言,图像的边缘细节保留不足,导致目标轮廓不连续且边缘细节信息丢失;而本实施例提出的算法既保留边缘细节,又有较好的适用性,如图3(a)所示。
实验3,在步骤7中采用面积形态学开运算对二值化边缘的干扰边缘进行去除,并得到最终边缘图像如图4所示:在图4中,图4中(a)为原图,图4中(b)为最终边缘图像。
由图4和图3(a)对比可知,对于得到的二值化边缘图像进行干扰边缘的去除,其边缘细节检测效果更好,定位精度更高。
以上所述仅是本发明的实施方式,尽管本发明对几个所述实施例进行描述,但并非旨在局限于这些实施例。对于本技术领域的普通技术人员来说,在不脱离本发明原理的基础上,可对本发明进行改进,所有的改进都列入本发明权力要求的范围内。

Claims (8)

1.一种基于高低阈值的Canny算子的边缘检测方法,其特征在于,所述方法包括以下步骤:
步骤1:对源图像进行平滑滤波处理,并用开关中值滤波代替高斯滤波对图像去除噪声;
步骤2:对步骤1中平滑滤波处理并去噪声后的图像采用sobel算子计算图像梯度幅值和方向;
步骤3:对步骤2得到的梯度幅值进行非极大值抑制得单像素宽度的边缘图像;
步骤4:采用k-means聚类算法得到高、低梯度值的聚类中心;
步骤5:采用otsu算法得到梯度的最佳阈值,在高聚类中心、最佳阈值和低聚类中心之间取高、低阈值;
步骤6:利用高、低阈值处理步骤3得到的单像素宽度的边缘图像,并得到二值化边缘;
步骤7:采用面积形态学开运算对二值化边缘的干扰边缘去除,并得到最终边缘图像。
2.根据权利要求1所述的一种基于高低阈值的Canny算子的边缘检测方法,其特征在于,所述在步骤1中,对源图像进行平滑滤波处理,并用开关中值滤波代替高斯滤波对图像去除噪声的方法的具体步骤如下:
步骤1.1:选用二维高斯函数对图像进行平滑滤波处理,高斯函数的计算公式为公式(1)
Figure FDA0003471464420000011
其中,H(x,y,σ)是二维高斯函数,σ表示平滑程度,π表示圆周率,x表示中心点的横坐标,y表示中心点的纵坐标;exp(·)表示以自然常数e为底的指数函数;
步骤1.2:对噪声进行检测:
一幅图像v,其椒盐噪声检测的表达式为公式(2)
Figure FDA0003471464420000012
式中:G(i,j)表示图像v中第i行、第j列像素点的灰度值;amin和amax分别表示以点(i,j)为中心的3X3窗口内的最小灰度均值和最大灰度均值;F(i,j)表示第i行、第j列的像素点是否为噪声点;
步骤1.3:对噪声点进行标记:
当G(i,j)介于amin和amax之间时,标记F(i,j)为1,反之该点为噪声点,标记F(i,j)为0;
步骤1.4:采用开关中值滤波算法对图像进行处理:
根据开关中值滤波的原理,对F(i,j)标记为1的像素点保持其灰度值不变,对F(i,j)标记为0的像素点灰度值使用其所在位置的中值来代替。
3.根据权利要求1所述的一种基于高低阈值的Canny算子的边缘检测方法,其特征在于,在步骤2中,对基于平滑后的图像采用sobel算子计算图像梯度幅值和方向的方法的步骤为:
步骤2.1:sobel算子结合高斯平滑和微分求导,计算图像灰度的近似梯度;
步骤2.2:sobel算子对水平和垂直两个方向上求导,得X方向和Y方向梯度图像:
水平变化:将图像I与一个奇数大小的内核Gx进行卷积,当内核大小为3时,Gx的计算结果为公式(3):
Figure FDA0003471464420000021
垂直变化:将图像I与一个奇数大小的内核Gy进行卷积,当内核大小为3时,Gy的计算结果为公式(4):
Figure FDA0003471464420000022
步骤2.3:在图像I的每一点上,求出近似梯度:
Figure FDA0003471464420000023
步骤2.4:在图像I的每一点上,求出梯度方向:
Figure FDA0003471464420000024
4.根据权利要求1所述的一种基于高低阈值的Canny算子的边缘检测方法,其特征在于,在步骤3中,对平滑图像的梯度幅值进行非极大值抑制得单像素宽度的边缘图像的方法的步骤为:
步骤3.1:检测平滑图像中每一个像素点的梯度幅值和梯度方向;
步骤3.2:根据梯度方向,对梯度幅值进行非极大值抑制消除边缘误检,保留相同梯度方向具有最大梯度幅度的像素点的梯度幅值,并将非极大值点的灰度值设置为零,最后得到单像素宽度的边缘图像。
5.根据权利要求1所述的一种基于高低阈值的Canny算子的边缘检测方法,其特征在于,在步骤4中,采用k-means聚类算法得到高、低梯度值的聚类中心的方法的步骤为:
步骤4.1:在待分类的图像梯度数据中选取k个聚类中心,即c1,c2,...,ck,然后按照待分类的图像梯度数据到k个聚类中心距离的大小分为相应位置所在的类;
步骤4.2:采用误差平方和作为目标函数来衡量梯度分类效果,误差平方和VSSE表达式为公式(7)
Figure FDA0003471464420000031
式中:cs表示第s个聚类中心的值;c0表示第s个聚类中心的数据点;
步骤4.3:使VSSE值最小,则对VSSE求偏导并令其为0,公式如下:
Figure FDA0003471464420000032
由(8)式可得
Figure FDA0003471464420000033
其中ms为第s个聚类中心包含的数据个数;
步骤4.4:当聚类中心的值取该类数据的均值时,可使VSSE的局部值最小,所以将各个类数据的均值作为新的聚类中心的值并重新分类,然后求解各类数据的均值,重复以上步骤,直到各均值基本不发生变化,此时VSSE值为全局最小值,各均值均为最佳的聚类中心。
6.根据权利要求1所述的一种基于高低阈值的Canny算子的边缘检测方法,其特征在于,在步骤5中,采用otsu算法得到梯度的otsu阈值,在高聚类中心、otsu阈值和低聚类中心之间取高、低阈值的方法的步骤为:
步骤5.1:将图像分为前景和背景两个部分,分割阈值记为t;
步骤5.2:前景部分的像素点占整个图像的比值标记为v0,平均灰度标记为u0
步骤5.3:背景部分的像素点占整个图像的比值标记为v1,平均灰度标记为u1
步骤5.4:整个图像总平均灰度标记为u,类间方差标记为d;图像中小于阈值t的像素点个数标记为N0,大于阈值t的像素点个数标记为N1
步骤5.5:求解划分图像边缘点和非边缘点的最佳阈值t:
u=v0*u0+v1*u1 (9)
d(t)=v0(t)(u0-u)2+v1(t)(u1-u)2 (10)
将式(9)带入式(10)中,得:
d(t)=v0(t)v1(t)(u0-u1)2 (11)
遍历全图,当d(t)为全局最大值时,t值为最佳阈值;
步骤5.6:步骤4中引入k-means算法得到高低梯度值的聚类中心ch和cl,则高阈值th必在[t,ch]区间中取得,低阈值tl必在[cl,t]区间中取得。
步骤5.7:引入低聚类中心偏移因子ul和高聚类中心偏移因子uh才可准确得到高、低阈值以达到最佳分离效果,其中ul和uh的取值范围为[0,1],则高、低阈值分别为:
th=ch-uh(ch-t) (12)
tl=cl+ul(t-cl) (13)。
7.根据权利要求1所述的一种基于高低阈值的Canny算子的边缘检测方法,其特征在于,在步骤6中,利用高、低阈值处理图像边缘,并得到二值化边缘的方法的具体步骤如下:
步骤6.1:根据步骤5得到最佳高、低阈值,将梯度值大于高阈值的像素点置为1,梯度值小于低阈值的像素点置为0;
步骤6.2:梯度值处于高、低阈值之间的像素点,查找其8邻域是否存在大于高阈值的梯度值,若存在则置为1,反之置为0,最终得到连接性较好的二值化边缘。
8.根据权利要求1所述的一种基于高低阈值的Canny算子的边缘检测方法,其特征在于,在步骤7中,采用面积形态学开运算对二值化边缘的干扰边缘进行去除,并得到最终边缘图像的方法的具体步骤如下:
步骤7.1:二值图像中,位置p处的连通域Cg(p)为
Figure FDA0003471464420000051
式中:Pg(p,q)表示去噪后图像g在位置p和位置q之间的连续路径,路径中的连通元素定义为8连通;
步骤7.2:面积形态学开运算的表达式为:
Figure FDA0003471464420000052
式中:|Cg(p)|表示像素值为1且连通的区域面积;S表示设定的面积阈值;
Figure FDA0003471464420000053
表示开运算操作,由式(15)可知,面积形态学开运算的结果是将像素值为1的连通域中面积小于S的像素值置为0;
步骤7.3:边缘检测过程中,因虚假的边缘面积几乎小于100pixel,与真正的边缘面积相差大,所以对连通域面积过小的边缘认定其为干扰边缘,采用面积形态学开运算对二值化边缘的干扰边缘进行去除,并得到最终的边缘图像。
CN202210044131.4A 2022-01-14 2022-01-14 一种基于高低阈值的Canny算子的边缘检测方法 Pending CN114399522A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210044131.4A CN114399522A (zh) 2022-01-14 2022-01-14 一种基于高低阈值的Canny算子的边缘检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210044131.4A CN114399522A (zh) 2022-01-14 2022-01-14 一种基于高低阈值的Canny算子的边缘检测方法

Publications (1)

Publication Number Publication Date
CN114399522A true CN114399522A (zh) 2022-04-26

Family

ID=81231828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210044131.4A Pending CN114399522A (zh) 2022-01-14 2022-01-14 一种基于高低阈值的Canny算子的边缘检测方法

Country Status (1)

Country Link
CN (1) CN114399522A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115035105A (zh) * 2022-08-10 2022-09-09 山东西曼克技术有限公司 一种agv小车转向控制的多维数据融合、决策方法
CN115035050A (zh) * 2022-05-23 2022-09-09 广东人工智能与先进计算研究院 一种电池极片表面缺陷检测方法、装置、设备及产品
CN115082441A (zh) * 2022-07-22 2022-09-20 山东微山湖酒业有限公司 一种基于计算机视觉的酿酒蒸馏工艺中甑料平铺方法
CN115131387A (zh) * 2022-08-25 2022-09-30 山东鼎泰新能源有限公司 基于图像处理的汽油机喷雾撞壁参数自动提取方法及系统
CN115170992A (zh) * 2022-09-07 2022-10-11 山东水发达丰再生资源有限公司 一种废钢料场散落料的图像识别方法及系统
CN115187552A (zh) * 2022-07-14 2022-10-14 南京思飞捷软件科技有限公司 一种基于边缘检测的车身门缝检测方法
CN115791791A (zh) * 2022-11-14 2023-03-14 中国科学院沈阳自动化研究所 一种用于液晶面板装箱搭边的视觉检测方法
CN115953459A (zh) * 2023-03-10 2023-04-11 齐鲁工业大学(山东省科学院) 一种复杂光照条件下的激光条纹中心线提取方法
CN116596802A (zh) * 2023-06-08 2023-08-15 常州市宏发纵横新材料科技股份有限公司 一种复杂背景下的捆绑纱提取方法、装置、设备及介质
CN118014882A (zh) * 2024-04-08 2024-05-10 汉中精测电器有限责任公司 一种基于图像处理的扭矩传感器的钻孔定位方法
CN118522656A (zh) * 2024-07-24 2024-08-20 江苏雷博微电子设备有限公司 一种清洗刻蚀机的智能化清洗方法及系统

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115035050A (zh) * 2022-05-23 2022-09-09 广东人工智能与先进计算研究院 一种电池极片表面缺陷检测方法、装置、设备及产品
WO2024011851A1 (zh) * 2022-07-14 2024-01-18 南京思飞捷软件科技有限公司 一种基于边缘检测的车身门缝检测方法
CN115187552A (zh) * 2022-07-14 2022-10-14 南京思飞捷软件科技有限公司 一种基于边缘检测的车身门缝检测方法
CN115082441A (zh) * 2022-07-22 2022-09-20 山东微山湖酒业有限公司 一种基于计算机视觉的酿酒蒸馏工艺中甑料平铺方法
CN115035105A (zh) * 2022-08-10 2022-09-09 山东西曼克技术有限公司 一种agv小车转向控制的多维数据融合、决策方法
CN115035105B (zh) * 2022-08-10 2022-10-25 山东西曼克技术有限公司 一种agv小车转向控制的多维数据融合、决策方法
CN115131387A (zh) * 2022-08-25 2022-09-30 山东鼎泰新能源有限公司 基于图像处理的汽油机喷雾撞壁参数自动提取方法及系统
CN115131387B (zh) * 2022-08-25 2023-01-24 山东鼎泰新能源有限公司 基于图像处理的汽油机喷雾撞壁参数自动提取方法及系统
CN115170992A (zh) * 2022-09-07 2022-10-11 山东水发达丰再生资源有限公司 一种废钢料场散落料的图像识别方法及系统
CN115791791A (zh) * 2022-11-14 2023-03-14 中国科学院沈阳自动化研究所 一种用于液晶面板装箱搭边的视觉检测方法
CN115953459A (zh) * 2023-03-10 2023-04-11 齐鲁工业大学(山东省科学院) 一种复杂光照条件下的激光条纹中心线提取方法
CN116596802A (zh) * 2023-06-08 2023-08-15 常州市宏发纵横新材料科技股份有限公司 一种复杂背景下的捆绑纱提取方法、装置、设备及介质
CN116596802B (zh) * 2023-06-08 2023-10-24 常州市宏发纵横新材料科技股份有限公司 一种复杂背景下的捆绑纱提取方法、装置、设备及介质
CN118014882A (zh) * 2024-04-08 2024-05-10 汉中精测电器有限责任公司 一种基于图像处理的扭矩传感器的钻孔定位方法
CN118014882B (zh) * 2024-04-08 2024-06-04 汉中精测电器有限责任公司 一种基于图像处理的扭矩传感器的钻孔定位方法
CN118522656A (zh) * 2024-07-24 2024-08-20 江苏雷博微电子设备有限公司 一种清洗刻蚀机的智能化清洗方法及系统

Similar Documents

Publication Publication Date Title
CN114399522A (zh) 一种基于高低阈值的Canny算子的边缘检测方法
CN107808378B (zh) 基于垂直纵横线轮廓特征的复杂结构铸件潜在缺陷检测方法
CN110349207B (zh) 一种复杂环境下的视觉定位方法
Nandi Detection of human brain tumour using MRI image segmentation and morphological operators
CN109242853B (zh) 一种基于图像处理的pcb缺陷智能检测方法
CN111833366A (zh) 一种基于Canny算法的边缘检测方法
CN107169979A (zh) 一种改进Canny算子的图像边缘检测方法
WO2021109697A1 (zh) 字符分割方法、装置以及计算机可读存储介质
Jiang et al. Mathematical-morphology-based edge detectors for detection of thin edges in low-contrast regions
CN105139391B (zh) 一种雾霾天气交通图像边缘检测方法
Jahedsaravani et al. Development of a new algorithm for segmentation of flotation froth images
CN111739058B (zh) 一种基于高斯滤波的分水岭算法的自由液面识别和提取的方法
CN111127498B (zh) 一种基于边缘自生长的Canny边缘检测方法
CN112435235A (zh) 一种基于图像分析的籽棉含杂率检测方法
CN110648330A (zh) 摄像头玻璃的缺陷检测方法
CN116524269A (zh) 一种视觉识别检测系统
Bhagya et al. Analysis of image segmentation algorithms for the effective detection of leukemic cells
CN115147613A (zh) 一种基于多向融合的红外小目标检测方法
Chandra et al. A survey on advanced segmentation techniques in image processing applications
Reddy et al. Canny scale edge detection
CN114581658A (zh) 一种基于计算机视觉的目标检测方法及装置
CN113850792A (zh) 一种基于计算机视觉的细胞分类计数方法及系统
CN108596928A (zh) 基于改进高斯-拉普拉斯算子的噪声图像边缘检测方法
Tao Enhanced Canny Algorithm for Image Edge Detection in Print Quality Assessment
Li et al. Multi-scale morphologic tracking approach for edge detection

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