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

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

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

背景技术

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

现有技术中,通常仅利用prewitt算子进行图像边缘检测,但prewitt算子对噪声较敏感,图像边缘不清晰,边缘不连续。

因此,如何降低噪声对图像边缘检测的局部干扰,减少图片边缘间断的情况是本领域技术人员目前需要解决的技术问题。



技术实现要素:

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

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

根据所述目标图片中每一像素点的灰度值对所述目标图片进行区域生长,并根据区域生长结果去除所述目标图片的背景得到待检测图片;

利用prewitt算子计算所述待检测图片上每一像素点的8个相邻像素点之间的灰度差,并根据所述灰度差确定所述像素点的新灰度值;

判断所述像素点的新灰度值是否大于预设值;

若是,则将所述像素点设置为边缘点,并根据所有所述边缘点得到所述目标图片的图像边缘。

可选的,利用prewitt算子计算所述待检测图片上与每一像素点相邻的8个像素点之间的灰度差包括:

利用所述prewitt算子计算所述待检测图片上每一像素点的上方3个相邻像素点与下方3个相邻像素点之间的灰度差gi;

利用所述prewitt算子计算所述待检测图片上每一像素点的左侧3个相邻像素点与右侧3个相邻像素点之间的灰度差gj;

其中,gi=|[f(i-1,j-1)+f(i-1,j)+f(i-1,j+1)]-[f(i+1,j-1)+f(i+1,j)+f(i+1,j+1)]|,gj=|[f(i-1,j+1)+f(i,j+1)+f(i+1,j+1)]-[f(i-1,j-1)+f(i,j-1)+f(i+1,j-1)]|,所述像素点的坐标为(i,j),所述相邻像素点的坐标分别为(i+1,j)、(i,j+1)、(i+1,j+1)、(i-1,j)、(i,j-1)、(i-1,j-1)、(i+1,j-1)、(i-1,j+1),f(x,y)为坐标(x,y)处对应的像素点的灰度值,x=i-1,i,i+1;y=j-1,j,j+1。

可选的,根据所述灰度差确定所述像素点的新灰度值包括:

根据所述灰度差确定所述像素点的新灰度值p(i,j);其中,p(i,j)=gi+gj。

可选的,根据所述目标图片中每一像素点的灰度值对所述目标图片进行区域生长,并根据区域生长结果去除所述目标图片的背景得到待检测图片包括:

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

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

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

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

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

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

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

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

区域生长模块,用于根据所述目标图片中每一像素点的灰度值对所述目标图片进行区域生长,并根据区域生长结果去除所述目标图片的背景得到待检测图片;

新灰度值确定模块,用于利用prewitt算子计算所述待检测图片上每一像素点的8个相邻像素点之间的灰度差,并根据所述灰度差确定所述像素点的新灰度值;

边缘判断模块,用于判断所述像素点的新灰度值是否大于预设值;若是,则将所述像素点设置为边缘点,并根据所有所述边缘点得到所述目标图片的图像边缘。

可选的,所述新灰度值确定模块包括:

第一灰度差确定单元,用于利用所述prewitt算子计算所述待检测图片上每一像素点的上方3个相邻像素点与下方3个相邻像素点之间的灰度差gi;

第二灰度差确定单元,用于利用所述prewitt算子计算所述待检测图片上每一像素点的左侧3个相邻像素点与右侧3个相邻像素点之间的灰度差gj;

新灰度确定单元,用于根据所述灰度差确定所述像素点的新灰度值p(i,j);其中,p(i,j)=gi+gj;

其中,gi=|[f(i-1,j-1)+f(i-1,j)+f(i-1,j+1)]-[f(i+1,j-1)+f(i+1,j)+f(i+1,j+1)]|,gj=|[f(i-1,j+1)+f(i,j+1)+f(i+1,j+1)]-[f(i-1,j-1)+f(i,j-1)+f(i+1,j-1)]|,所述像素点的坐标为(i,j),所述相邻像素点的坐标分别为(i+1,j)、(i,j+1)、(i+1,j+1)、(i-1,j)、(i,j-1)、(i-1,j-1)、(i+1,j-1)、(i-1,j+1),f(x,y)为坐标(x,y)处对应的像素点的灰度值,x=i-1,i,i+1;y=j-1,j,j+1。

可选的,所述区域生长模块包括:

关系表建立单元,用于将所述像素点和所述灰度值的对应关系存储至关系对照表中;

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

判断单元,用于判断所述关系对照表中是否存在所述像素点;若是,则启动所述迭代生长单元对应的工作流程。

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

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

本发明提供了一种图像边缘检测的方法,包括根据所述目标图片中每一像素点的灰度值对所述目标图片进行区域生长,并根据区域生长结果去除所述目标图片的背景得到待检测图片;利用prewitt算子计算所述待检测图片上每一像素点的8个相邻像素点之间的灰度差,并根据所述灰度差确定所述像素点的新灰度值;判断所述像素点的新灰度值是否大于预设值;若是,则将所述像素点设置为边缘点,并根据所有所述边缘点得到所述目标图片的图像边缘。

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

附图说明

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

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

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

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

具体实施方式

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

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

具体步骤可以包括:

s101:根据所述目标图片中每一像素点的灰度值对所述目标图片进行区域生长,并根据区域生长结果去除所述目标图片的背景得到待检测图片;

其中,图像边缘检测在图像处理中是一个非常重要的过程,图像分割、数据扫描与识别等过程都需要图像边缘检测的支持。噪声是普遍存在于图像中的干扰信号,图像边缘检测方法需要克服噪声达到高效检测效果。同时,prewitt算子经常会造成边缘点的误判,因为许多噪声点的灰度值也很大,而且对于幅值较小的边缘点,其边缘反而丢失了,这将导致提取的目标边缘出现间断。于是,针对prewitt算子的缺点,本实施例提出了区域生长结合prewitt算子相结合的边缘检测方法。

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

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

s102:利用prewitt算子计算所述待检测图片上每一像素点的8个相邻像素点之间的灰度差,并根据所述灰度差确定所述像素点的新灰度值;

其中,prewitt算子是一种一阶微分算子的边缘检测,利用像素点上下、左右邻点的灰度差,在边缘处达到极值检测边缘,去掉部分伪边缘,对噪声具有平滑作用。其原理是在图像空间利用两个方向模板与图像进行邻域卷积来完成的,这两个方向模板一个检测水平边缘,一个检测垂直边缘。

需要说明的是,此处提到的每一像素点的8个相邻像素点是指,距离该像素点最近的八个像素点。例如:

像素点的坐标为(i,j),8个相邻像素点的坐标分别为(i+1,j)、(i,j+1)、(i+1,j+1)、(i-1,j)、(i,j-1)、(i-1,j-1)、(i+1,j-1)、(i-1,j+1),

对数字图像f(x,y),prewitt算子的定义如下:

gi=|[f(i-1,j-1)+f(i-1,j)+f(i-1,j+1)]-[f(i+1,j-1)+f(i+1,j)+f(i+1,j+1)]|,gj=|[f(i-1,j+1)+f(i,j+1)+f(i+1,j+1)]-[f(i-1,j-1)+f(i,j-1)+f(i+1,j-1)]|

则有,p(i,j)=max(gi+gj)或p(i,j)=gi+gj;

prewitt算子认为:凡新灰度值(即灰度新值)大于或等于阈值的像素点都是边缘点。即选择适当的阈值t,若p(i,j)≥t,则(i,j)为边缘点,p(i,j)为边缘图像。

s103:判断所述像素点的新灰度值是否大于预设值;若是,则进入s104;若否,则结束流程;

s104:将所述像素点设置为边缘点,并根据所有所述边缘点得到所述目标图片的图像边缘。

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

下面请参见图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:利用所述prewitt算子计算所述待检测图片上每一像素点的上方3个相邻像素点与下方3个相邻像素点之间的灰度差gi;

s208:利用所述prewitt算子计算所述待检测图片上每一像素点的左侧3个相邻像素点与右侧3个相邻像素点之间的灰度差gj;

其中,gi=|[f(i-1,j-1)+f(i-1,j)+f(i-1,j+1)]-[f(i+1,j-1)+f(i+1,j)+f(i+1,j+1)]|,gj=|[f(i-1,j+1)+f(i,j+1)+f(i+1,j+1)]-[f(i-1,j-1)+f(i,j-1)+f(i+1,j-1)]|,所述像素点的坐标为(i,j),所述相邻像素点的坐标分别为(i+1,j)、(i,j+1)、(i+1,j+1)、(i-1,j)、(i,j-1)、(i-1,j-1)、(i+1,j-1)、(i-1,j+1),f(x,y)为坐标(x,y)处对应的像素点的灰度值,x=i-1,i,i+1;y=j-1,j,j+1。

s209:根据所述灰度差确定所述像素点的新灰度值p(i,j);其中,p(i,j)=gi+gj。

s210:判断所述像素点的新灰度值是否大于预设值;若是,则进入s211;

s211:将所述像素点设置为边缘点,并根据所有所述边缘点得到所述目标图片的图像边缘。

本申请提出了一种基于区域生长与prewitt算子相结合的边缘检测算法(rgpw)。利用区域生长处理后的图像再利用prewitt算子对图像进行边缘检测。经过区域生长技术建立感兴趣区域,在后续处理图像能有效减少图像处理及真实环境中点的搜索工作量,提高算法运行速度,以达到实时性的要求,并可以有效回避周围环境等复杂图像信对真实环境中工作的影响,提高目标的精确性。再用prewitt算子检测处理后的图像边缘,能很大程度地减少边缘点的误判,很好的检测出图像的边缘,使得边缘信息连续,还有较好的抗噪能力。检测边缘的结果较理想。

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

该系统可以包括:

区域生长模块100,用于根据所述目标图片中每一像素点的灰度值对所述目标图片进行区域生长,并根据区域生长结果去除所述目标图片的背景得到待检测图片;

新灰度值确定模块200,用于利用prewitt算子计算所述待检测图片上每一像素点的8个相邻像素点之间的灰度差,并根据所述灰度差确定所述像素点的新灰度值;

边缘判断模块300,用于判断所述像素点的新灰度值是否大于预设值;若是,则将所述像素点设置为边缘点,并根据所有所述边缘点得到所述目标图片的图像边缘。

进一步的,所述新灰度值确定模块200包括:

第一灰度差确定单元,用于利用所述prewitt算子计算所述待检测图片上每一像素点的上方3个相邻像素点与下方3个相邻像素点之间的灰度差gi;

第二灰度差确定单元,用于利用所述prewitt算子计算所述待检测图片上每一像素点的左侧3个相邻像素点与右侧3个相邻像素点之间的灰度差gj;

新灰度确定单元,用于根据所述灰度差确定所述像素点的新灰度值p(i,j);其中,p(i,j)=gi+gj;

其中,gi=|[f(i-1,j-1)+f(i-1,j)+f(i-1,j+1)]-[f(i+1,j-1)+f(i+1,j)+f(i+1,j+1)]|,gj=|[f(i-1,j+1)+f(i,j+1)+f(i+1,j+1)]-[f(i-1,j-1)+f(i,j-1)+f(i+1,j-1)]|,所述像素点的坐标为(i,j),所述相邻像素点的坐标分别为(i+1,j)、(i,j+1)、(i+1,j+1)、(i-1,j)、(i,j-1)、(i-1,j-1)、(i+1,j-1)、(i-1,j+1),f(x,y)为坐标(x,y)处对应的像素点的灰度值,x=i-1,i,i+1;y=j-1,j,j+1。

进一步的,所述区域生长模块100包括:

关系表建立单元,用于将所述像素点和所述灰度值的对应关系存储至关系对照表中;

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

判断单元,用于判断所述关系对照表中是否存在所述像素点;若是,则启动所述迭代生长单元对应的工作流程。

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

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

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

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

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

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