一种图像边缘检测的方法、系统及相关组件与流程

文档序号:16435156发布日期:2018-12-28 20:26阅读:189来源:国知局
一种图像边缘检测的方法、系统及相关组件与流程

本发明涉及图像处理技术领域,特别涉及一种图像边缘检测的方法、系统、一种计算机可读存储介质及一种图像处理装置。

背景技术

边缘是图像的最基本特征,它包含了用于识别的有用信息,为人们描述或识别目标以及解释图像提供了一个重要的特征参数。边缘检测是图像处理、图像分析和计算机视觉领域中最经典的研究内容之一,是进行模式识别和图像信息提取的基本手段。主要是利用边缘检测算子提取边缘点集,由于检测中存在噪声、图像模糊以及边缘间断等情况。在图像中,边界表明一个特征区域的终结和另一个特征区域的开始,边界所分开区域的内部特征或属性是一致,而不同区域内部的特征是不同的,边缘检测正是利用物体和背景在某种图像特征上的差异来实现,这些差异包括灰度、颜色或者纹理特征。

现有技术中,通常仅利用蚁群算法进行图像边缘检测,但蚁群算法容易过早收敛、易陷于局部最优、对边缘定位不准确,受到背景噪声干扰较大。

因此,如何降低噪声对图像边缘检测的局部干扰,提升边缘检测的效果是本领域技术人员目前需要解决的技术问题。



技术实现要素:

本申请的目的是提供一种图像边缘检测的方法、系统、一种计算机可读存储介质及一种图像处理装置,能够降低噪声对图像边缘检测的局部干扰,提升边缘检测的效果。

为解决上述技术问题,本申请提供一种图像边缘检测的方法,该方法包括:

按照灰度值从大到小的顺序依次选择目标图片中的像素点进行区域生长,并根据区域生长结果去除所述目标图片的背景得到待检测图片;

利用混沌蚁群算法在所述待检测图片中随机投放预设数量只蚂蚁,并根据所有所述蚂蚁产生的最终信息素矩阵计算图像阈值;

根据所述图像阈值确定所述目标图片的图像边缘。

可选的,利用混沌蚁群算法在所述待检测图片中随机投放预设数量只蚂蚁包括:

获取所述待检测图片的图片尺寸,并利用所述混沌蚁群算法在所述待检测图片中随机投放预设数量只蚂蚁;其中,所述预设数量根据所述图片尺寸确定。

可选的,根据所有所述蚂蚁产生的最终信息素矩阵计算图像阈值包括:

将所有所述蚂蚁停止转移后得到的信息素矩阵作为所述最终信息素矩阵;

根据所述最终信息素矩阵计算初代图像阈值,并对所述初代图像阈值进行迭代更新操作得到所述图像阈值。

可选的,按照灰度值从大到小的顺序依次选择目标图片中的像素点进行区域生长,并根据区域生长结果去除所述目标图片的背景得到待检测图片包括:

步骤一:将所述像素点和所述灰度值的对应关系存储至关系对照表中;

步骤二:从所述关系对照表中选择所述灰度值最大的像素点作为种子点进行区域生长操作得到种子区域,并删除所述关系对照表中与所述种子区域对应的像素点;

步骤三:判断所述关系对照表中是否存在所述像素点;若是,则进入所述步骤二;若否,则进入步骤四;

步骤四:将所述目标图片的背景对应的种子区域设置为背景种子区域,并根据除所述背景种子区域之外的所有所述种子区域得到所述待检测图片。

可选的,从所述关系对照表中选择所述灰度值最大的像素点作为种子点进行区域生长操作得到种子区域包括:

从所述关系对照表中选择所述灰度值最大的像素点作为所述种子点;

采用八邻域连通或四邻域连通的方法根据所述种子点进行区域生长操作得到种子区域;其中,所述种子区域中除所述种子点之外的其他像素点的灰度值i满足目标公式,所述目标公式为|iseed-i|<λ|imax-imin|,iseed为所述种子点的灰度值,λ为可调参数,imax为所述目标图片的灰度最大值,imin为所述目标图片的灰度最小值。

本申请还提供了一种图像边缘检测的系统,该系统包括:

区域生长模块,用于按照灰度值从大到小的顺序依次选择目标图片中的像素点进行区域生长,并根据区域生长结果去除所述目标图片的背景得到待检测图片;

图像阈值确定模块,用于利用混沌蚁群算法在所述待检测图片中随机投放预设数量只蚂蚁,并根据所有所述蚂蚁产生的最终信息素矩阵计算图像阈值;

边缘确定模块,用于根据所述图像阈值确定所述目标图片的图像边缘。

可选的,所述图像阈值确定模块包括:

蚂蚁投放单元,用于获取所述待检测图片的图片尺寸,并利用所述混沌蚁群算法在所述待检测图片中随机投放预设数量只蚂蚁;其中,所述预设数量根据所述图片尺寸确定;

阈值确定单元,用于根据所有所述蚂蚁产生的最终信息素矩阵计算图像阈值。

可选的,所述阈值确定单元包括;

信息素矩阵确定子单元,用于将所有所述蚂蚁停止转移后得到的信息素矩阵作为所述最终信息素矩阵;

迭代子单元,用于根据所述最终信息素矩阵计算初代图像阈值,并对所述初代图像阈值进行迭代更新操作得到所述图像阈值。

本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述图像边缘检测的方法执行的步骤。

本申请还提供了一种图像处理装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述图像边缘检测的方法执行的步骤。

本发明提供了一种图像边缘检测的方法,包括按照灰度值从大到小的顺序依次选择目标图片中的像素点进行区域生长,并根据区域生长结果去除所述目标图片的背景得到待检测图片;利用混沌蚁群算法在所述待检测图片中随机投放预设数量只蚂蚁,并根据所有所述蚂蚁产生的最终信息素矩阵计算图像阈值;根据所述图像阈值确定所述目标图片的图像边缘。

本申请区域生长技术将目标图片进行初步的划分得到的种子区域,由于区域生长能够有效地去除目标图片的背景,减少背景中能够的影响,因此本申请只需对经过区域生长后的待检测图片的像素点利用混沌蚁群算法检测即可快速得到图像阈值,进而根据图像阈值确定图像边缘。待检测图片相对于目标图片来说,去除了原有图片的背景,因此本申请在利用混沌蚁群算法进行边缘检测时,仅对待检测图片的像素点进行检测,有效的减少了回避噪声对边缘检测效果的影响,可以得到边缘信息连续、边缘清晰的检测结果。本申请能够降低噪声对图像边缘检测的局部干扰,提升边缘检测的效果。本申请同时还提供了一种图像边缘检测的系统、一种计算机可读存储介质和一种图像处理装置,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例所提供的一种图像边缘检测的方法的流程图;

图2为本申请实施例所提供的另一种图像边缘检测的方法的流程图;

图3为本实施例的实验结果示意图;

图4为本申请实施例所提供的一种图像边缘检测的系统的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

下面请参见图1,图1为本申请实施例所提供的一种图像边缘检测的方法的流程图。

具体步骤可以包括:

s101:按照灰度值从大到小的顺序依次选择目标图片中的像素点进行区域生长,并根据区域生长结果去除所述目标图片的背景得到待检测图片;

其中,图像边缘检测在图像处理中是一个非常重要的过程,图像分割、数据扫描与识别等过程都需要图像边缘检测的支持。噪声是普遍存在于图像中的干扰信号,图像边缘检测方法需要克服噪声达到高效检测效果。

先经过区域生长处理后的图片,在后续图像处理中大大节省了计算代价,加快了边缘检测的速度,可实现实时在线的图像边缘检测;相对于蚁群算法,本实施例提供的边缘检测方法引入了混沌蚁群算法,混沌蚁群算法在搜索图像边缘方面具有良好的性能,从而改进蚁群算法容易过早收敛、易陷于局部最优、对边缘定位不准确等问题。

区域生长是指将成组的像素或区域发展成更大区域的过程。从种子点的集合开始,从这些点的区域增长是通过将与每个种子点有相似属性像强度、灰度级、纹理颜色等的相邻像素合并到此区域。

本步骤的目的在于将目标图片进行初步的分割,即,将背景与图像区分开来,由于进行图像边缘检测是针对目标图片中的图像的边缘进行的检测,因此可以通过区域生长的方式确定混沌蚁群算法进行边缘检测时感兴趣的部位。用区域生长方法对图像进行初始划分,主要是利用图像区域或像素之间的连续性与邻接性来进行处理。根据事前定义的规则将像素或子区域聚合成更大的区域。区域生长的基本思路是从一个或多个种子点出发,不断地加入满足相似性规则的邻居点来生长出图像区域。区域生长的具体操作将在下一实施例中进行介绍,总之本申请对目标图片进行区域生长处理之后得到的待检测图片是目标图片去除背景后的图片。需要说明的是,按照灰度值从大到小的顺序依次选择目标图片中的像素点进行区域生长的具体操作请见下一实施例中的介绍。

s102:利用混沌蚁群算法在所述待检测图片中随机投放预设数量只蚂蚁,并根据所有所述蚂蚁产生的最终信息素矩阵计算图像阈值;

其中,混沌蚁群算法是一种基于自然界的优化算法,根据蚂蚁释放信息素在地面上寻找最佳路径,以便后续蚂蚁的行动跟踪。由于边缘是图像中的重要信息,将混沌蚁群算法用于图像的边缘检测,就是把表征在图像中的边缘抽取出来。基于混沌蚁群算法的边缘检测是利用蚂蚁在待检测图片上移动,通过建立信息素矩阵来寻找待检测图片的边缘。信息素矩阵的每个输入代表图像像素所在处的边缘信息。

具体的,利用混动蚁群算法确定图像阈值的操作包括以下步骤:

步骤1:在m×n的待检测图片内随机投放只蚂蚁,利用蚂蚁随机搜索路径时,图像灰度值的变化情况不断更新信息素矩阵,利用蚁群算法的正反馈性,最终产生的信息素矩阵计算图像的阈值,从而确定图像的边缘位置。初始的信息素矩阵τi,j不能为0,否则无法启动蚂蚁转移,因此产生一个随机矩阵作为信息素矩阵初始化。蚂蚁下一步要走的位置,由转移概率决定,

其中,(i,j)是蚂蚁当前位置(l,m)的一个相邻像素点;ω(l,m)是所有相邻像素点的集合;τi,j是像素点(i,j)处信息素矩阵;ηi,j是像素点(i,j)处的启发引导函数;α,β是像素点(i,j)处积累的信息素强度和启发式引导函数选择像素过程中的影响因子。

启发式引导函数ηi,j为

其中,ii,j是像素点(i,j)的灰度值;函数vc(ii,j)是计算蚂蚁所在像素点的边缘信息的强度值,其值由所在像素点周围区域的值决定,如下面公式所示;z是一个标准化参数,

其中:

var=|ii-2,j-1-ii+2,j+1|+|ii-2,j+1-ii+2,j-1|+|ii-1,j-2-ii+1,j+2|+|ii-1,j-1-ii+1,j+1|+|ii-1,j-ii+1,j|+|ii-1,j+1-ii+1,j-1|+|ii-1,j+2-ii+1,j-2|+|ii,j-1-ii,j+1|

令nc=0(nc为迭代次数),进行混沌初始化,可以选择典型的混沌系统——logistics映射作为混沌变量,按以下公式进行迭代,zi,j(t+1)=μzi,z(t)[1-zi,j(t)];

式中,μ为控制参数,当μ=4、0≤zi,j(0)≤1时,logistics映射完全处于混沌状态。利用全排列理论,每一个混沌量对应一个像素点上的信息素值,即每个像素点上的信息素初始值根据混沌量而给出。

算法中信息素有两处更新。第一次更新是在每只蚂蚁走完一步之后,信息素矩阵的更新根据公式:

(1-ρ)为信息素的蒸发率,ρ∈(0,1);表示第k只蚂蚁在经过点时所留下的信息素,其值由启发式矩阵ηi,j所决定,即zi,j(t)是混沌变量,由式zi,j(t+1)=μzi,z(t)[1-zi,j(t)]迭代得到,q1为系数。

第二次更新是在进行完一次迭代之后,其公式如下:

其中,为信息素的衰减系数。

步骤2:当所有的蚂蚁转移完毕后,可以根据得到最终的信息素矩阵得到初始化图像阈值t(l),l=0,l为迭代次数,当l=0时表示该阈值为初代阈值。

其中,为最终的信息素矩阵。

需要说明的是,图像阈值是指图像的分割基准,基于此可完成图像的二值化。

进一步的,根据阈值t(l)可以将信息素矩阵划分为大于t(l)和小于t(l)的两部分,分别计算这两部分的平均值

其中:

设置迭代系数l=l+1更新图像阈值t(l)

步骤3:若|t(l)-t(l-1)|>ω则继续进行步骤2中对图像阈值的迭代操作;若|t(l)-t(l-1)|≤ω则输出t(l),ω为允许的误差范围,通常设为1。

在上述得到图像阈值的操作中,先利用混沌蚁群算法使随机投放于待检测图片的蚂蚁随机移动,并根据蚂蚁移动得到的最终的信息素矩阵。根据信息素矩阵对初代图像阈值进行迭代操作最终得到满足预设条件的图像阈值。

s103:根据所述图像阈值确定所述目标图片的图像边缘。

其中,在s102得到图像阈值的基础上,可以根据阈值对图片进行划分,即,将的位置设置为1,的位置设置为0,实现待检测图片的划分,而设置为1的部分与设置为0的部分的交接处就是图像边缘。

本申请区域生长技术将目标图片进行初步的划分得到的种子区域,由于区域生长能够有效地去除目标图片的背景,减少背景中能够的影响,因此本申请只需对经过区域生长后的待检测图片的像素点利用混沌蚁群算法检测即可快速得到图像阈值,进而根据图像阈值确定图像边缘。待检测图片相对于目标图片来说,去除了原有图片的背景,因此本申请在利用混沌蚁群算法进行边缘检测时,仅对待检测图片的像素点进行检测,有效的减少了回避噪声对边缘检测效果的影响,可以得到边缘信息连续、边缘清晰的检测结果。本申请能够降低噪声对图像边缘检测的局部干扰,提升边缘检测的效果。

下面请参见图2,图2为本申请实施例所提供的另一种图像边缘检测的方法的流程图;

具体步骤可以包括:

s201:将所述像素点和所述灰度值的对应关系存储至关系对照表中;

s202:从所述关系对照表中选择所述灰度值最大的像素点作为所述种子点;

其中,关系对照表中存储着目标图片中所有的像素点及像素点对应的灰度值的对应关系。区域生长为根据像素点的灰度值进行区域分割的操作,具体的,可以每次选择关系对照表中灰度值最大的像素点作为种子点进行区域生长。

s203:采用八邻域连通或四邻域连通的方法根据所述种子点进行区域生长操作得到种子区域;其中,所述种子区域中除所述种子点之外的其他像素点的灰度值i满足目标公式,所述目标公式为|iseed-i|<λ|imax-imin|,iseed为所述种子点的灰度值,λ为可调参数,imax为所述目标图片的灰度最大值,imin为所述目标图片的灰度最小值。

s204:删除所述关系对照表中与所述种子区域对应的像素点;

需要说明的是,种子区域中可以对应多个像素点,当确定某些像素点已经“归属”某个种子区域后,该像素点在后续的区域生长中不便可以作为种子点进行区域生长操作,因此在本步骤中删除了关系对照表中种子区域对应的像素点,或可以理解为删除了关系对照表中与所述种子区域对应的像素点及其灰度值得对应关系。

s205:判断所述关系对照表中是否存在所述像素点;若是,则进入所述s202;若否,则进入s206;

具体的,本实施例中s202、s203、s204和s205这四步操作可以用下面的实际应用中的实施例来进一步解释:

步骤1:在种子点的选择上,每次选择具有灰度值最大的像素点作为种子点进行区域生长。

步骤2:在空间上采用八邻域连通或四领域连通方案对邻接的相似像素进行搜索。

步骤3:在相似性准则的选取上,定义如下的公式用于选择邻近的像素:

|iseed-i|<λ|imax-imin|(1)

其中:i表示像素的灰度值;iseed表示种子点的灰度值;imax与imin分别表示图像中的最大灰度值与最小灰度值;λ是可调节的参数,用来控制像素之间的相似度门限,将满足此公式的邻接像素点加入到种子区域。

步骤4:生长的过程中当没有像素满足加入某个种子区域的条件时,区域生长中止。

在实现上,可以程序递归地调用该步骤1至4描述的算法直到所有的像素都被划分区域。当区域生长完成时,输出的是一系列空间上连续的种子区域。本实施例在区域生长完后将一些过于琐碎的区域(例如,总像素点数量少于10)简单地并入到与其邻接的相似度最接近的一个区域中,因为这些区域的数量比较多,这样做可以避免复杂的计算量;同时也不影响图像中的主要信息。

s206:将所述目标图片的背景对应的种子区域设置为背景种子区域,并根据除所述背景种子区域之外的所有所述种子区域得到所述待检测图片。

s207:获取所述待检测图片的图片尺寸,并利用所述混沌蚁群算法在所述待检测图片中随机投放预设数量只蚂蚁;其中,所述预设数量根据所述图片尺寸确定。

其中,蚂蚁的数量是根据图片储存设置的,例如图片尺寸为m×n,则可以投放只蚂蚁。

s208:将所有所述蚂蚁停止转移后得到的信息素矩阵作为所述最终信息素矩阵;

s209:根据所述最终信息素矩阵计算初代图像阈值,并对所述初代图像阈值进行迭代更新操作得到所述图像阈值。

s210:根据所述图像阈值确定所述目标图片的图像边缘。

本实施例提出了一种基于区域生长与混沌蚁群算法相结合的边缘检测算法(rgcac)。相对于蚁群算法,本实施例引入了混沌蚁群算法,该算法在搜索图像边缘方面具有良好的性能,从而改进蚁群算法容易过早收敛、易陷于局部最优、对边缘定位不准确等问题,同时先经过区域生长处理后的图片,在后续图像处理中大大节省了计算代价,加快了边缘检测的速度,而且完整的保持了图像的边缘信息,具有良好的抗噪性能可实现实时在线的图像边缘检测。请参见图3,图3为本实施例的实验结果示意图,图中为目标照片的边缘检测结果,目标照片为边缘检测示例中的常见图片,目标图片的网址为http://breckon.eu/toby/fundipbook/materials/gallery/cameraman.jpg。

请参见图4,图4为本申请实施例所提供的一种图像边缘检测的系统的结构示意图;

该系统可以包括:

区域生长模块100,用于按照灰度值从大到小的顺序依次选择目标图片中的像素点进行区域生长,并根据区域生长结果去除所述目标图片的背景得到待检测图片;

图像阈值确定模块200,用于利用混沌蚁群算法在所述待检测图片中随机投放预设数量只蚂蚁,并根据所有所述蚂蚁产生的最终信息素矩阵计算图像阈值;

边缘确定模块300,用于根据所述图像阈值确定所述目标图片的图像边缘。

可选的,所述图像阈值确定模块200包括:

蚂蚁投放单元,用于获取所述待检测图片的图片尺寸,并利用所述混沌蚁群算法在所述待检测图片中随机投放预设数量只蚂蚁;其中,所述预设数量根据所述图片尺寸确定;

阈值确定单元,用于根据所有所述蚂蚁产生的最终信息素矩阵计算图像阈值。

可选的,所述阈值确定单元包括;

信息素矩阵确定子单元,用于将所有所述蚂蚁停止转移后得到的信息素矩阵作为所述最终信息素矩阵;

迭代子单元,用于根据所述最终信息素矩阵计算初代图像阈值,并对所述初代图像阈值进行迭代更新操作得到所述图像阈值。

由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请还提供了一种图像处理装置,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述图像处理装置还可以包括各种网络接口,电源等组件。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1