一种结合凹点与凹边的凸多边形轮廓的图像分割方法与流程

文档序号:23729113发布日期:2021-01-26 19:18阅读:195来源:国知局
一种结合凹点与凹边的凸多边形轮廓的图像分割方法与流程

[0001]
本发明涉及二维凸多边形物体轮廓的图像分割领域,具体涉及一种结合凹点与凹边的凸多边形轮廓的图像分割方法。


背景技术:

[0002]
在生物、医学等领域,细胞、菌落等相似形状的图像中往往会有多个目标靠在一起的情况,这对于分析图像信息带来了极大的困难。针对这一问题,图像处理领域的轮廓分割技术就非常有效。基于凹点匹配的轮廓分割技术是一种寻找凹点、匹配凹点,将轮廓从凹点对处分开的轮廓分割技术,具有运行效率高,应用场景广泛,分割效果好,操作简单等优势。基于凹点匹配的轮廓分割技术主要包括凹点检测和凹点匹配两个部分,采用一定的算法在轮廓上检测出凹点,对于凹点之间进行匹配,将匹配好的凹点对两两连接,就可以实现粘连物体轮廓的分割。
[0003]
轮廓凹点的检测和凹点对的匹配规则对于基于凹点匹配的轮廓分割技术的准确性和速度起到了决定性作用,检测凹点和凹点匹配的方法多种多样。(1)检测凹点的方法。基于距离直方图的轮廓凹点检测方法一般是计算轮廓距离直方图,取直方图上的峰值点作为凹点,计算速率快但凹点检测的准确度不高;基于链码方法的轮廓凹点检测方法一般是将轮廓用链码表示,按照某一方向遍历链码,通过判断可以得到凹点,该方法检测到的凹点较为准确,但是链码的计算较复杂,计算效率较低。(2)凹点匹配的方法。直接在凹点序列中匹配凹点对的方法对于多个物体靠在一起形成内轮廓的复杂情况处理效果不好,而且没有考虑凹点是否在同一凹边下,容易将同一凹边的两个凹点形成匹配对造成分割错误。


技术实现要素:

[0004]
针对现有技术的不足,本发明提出一种结合凹点与凹边的凸多边形轮廓的图像分割方法,该方法能够在在减少计算时间的同时保证高的检测准确率。
[0005]
本发明的目的是通过以下技术方案实现的:一种结合凹点与凹边的凸多边形轮廓的图像分割方法,包括以下步骤:
[0006]
(a)提取物体轮廓,将轮廓分为内轮廓和外轮廓;利用向量叉乘的方法查找外轮廓上的凹点。
[0007]
(b)按照凹点的数量将外轮廓分为四类:第一类,外轮廓上的凹点数目等于0,认为这是一条凸轮廓无需分割;第二类,外轮廓上的凹点数目等于1,认为是误检,不再进行后续分割;第三类,外轮廓上的凹点数目等于2,认为这是两个物体靠在一起形成的轮廓,直接连接这两个凹点将轮廓一分为二,得到两条凸轮廓;第四类,外轮廓上的凹点数目大于2,说明多个物体靠在一起,这种情况需要进一步处理,执行步骤(c)。
[0008]
(c)对于外轮廓上凹点数目大于2的情况,首先计算外轮廓的凸包;外轮廓上的每个点到凸包边的最近距离定义为该点的凸缺陷,将凸缺陷值超过设定阈值的相邻点构成一条凹边,从而得到若干条凹边;然后将获得的凹点划分到对应的凹边下;遍历凹点序列,确
定该凹点对应的凹边,寻找匹配点,如果这条外轮廓有内轮廓,就在其余凹边下的凹点序列和对应内轮廓的点序列中寻找距离最近的点作为该凹点的匹配点,如果这条外轮廓没有内轮廓,则只在其余凹边下的凹点中寻找距离最近的凹点作为匹配点;最后将匹配好的凹点对两两连接起来,即可将原来的轮廓分割为多条凸轮廓。
[0009]
(d)按照步骤(b)和(c)遍历完步骤(a)中查找到的所有外轮廓,即完成轮廓分割。
[0010]
进一步地,所述的步骤(a)具体如下:
[0011]
(1)提取物体的轮廓,将轮廓分为内轮廓和外轮廓,内轮廓记为∑
i
={c
i1
,c
i2
,...,c
im
},外轮廓记为∑
e
={c
e1
,c
e2
,...,c
en
}。
[0012]
(2)在获得的n条外轮廓∑
e
上寻找凹点,即对于每一条外轮廓c
e
,都按照以下步骤查找凹点:从轮廓的任意一点出发沿逆时针方向遍历轮廓,步长记为c
step
,此时的点记为o(x
o
,y
o
),向前间隔c
next
个点取一个点记为p(x
p
,y
p
),向后间隔c
next
个点取一个点记为q(x
q
,y
q
),构造向量和根据两个向量叉积的正负以及大小确定此点是否为外轮廓上的凹点,具体如下:若向量叉积为正,则说明q、o、p三点逆时针排列,即o点为凸点;若向量叉积为负,则说明q、o、p三点顺时针排列,则进一步判断叉积的绝对值是否大于设定的凹点阈值c
th
,若大于c
th
,则o点记为轮廓的凹点,并将记为此凹点的凹点值;按步长c
step
继续遍历轮廓的点,如果若干个相邻点均为凹点,则只保留凹点值最大的凹点作为此凹陷处的凹点;每一条外轮廓的凹点记为s={s1,s2,...,s
k
},所有外轮廓的凹点集合记为s

={s1,s2,...,s
n
}。
[0013]
进一步地,所述的步骤(c)具体如下:
[0014]
(1)计算第n个外轮廓的凸包,即将外轮廓上的点包围起来构成的最小凸多边形,外轮廓上的每个点到凸包边的最近距离定义为该点的凸缺陷,将凸缺陷值超过设定阈值v
th
的相邻点构成一条凹边,从而得到若干条凹边,将该外轮廓的凹边记为v={v1,v2,...,v
l
},将获得的凹点划分到对应的凹边下。
[0015]
(2)遍历第n个外轮廓的凹点序列s
n
,对于每一个凹点s
nk
的匹配步骤具体如下:
[0016]
确定该凹点s
nk
对应的凹边v
nl
,如果这条外轮廓有内轮廓,就在其余凹边{v
n1
,v
n2
,...,v
n(l-1)
,v
n(l+1)
,...,v
nl
}下的凹点序列和对应内轮廓的点序列中寻找距离最近的点作为该凹点的匹配点s
kp
,如果这条外轮廓没有内轮廓,则只在其余凹边{v
n1
,v
n2
,...,v
n(l-1)
,v
n(l+1)
,...,v
nl
}下的凹点中寻找距离最近的凹点作为匹配点s
kp
;将s
nk
和s
kp
作为一对凹点匹配对记录下来。
[0017]
(3)将匹配好的凹点对两两连接起来,即可将原来的轮廓分割为多条凸轮廓。
[0018]
进一步地,步骤(a)中所述的轮廓点遍历步长c
step
取2~5,取点间隔c
next
取3~6,凹点阈值c
th
取8~15。
[0019]
进一步地,步骤(c)中所述的凸缺陷阈值v
th
取2~10。
[0020]
本发明的有益效果如下:
[0021]
(1)相对于其他的轮廓分割方法,本发明方法能够实现对轮廓的准确分割,原理简单,提高了运行效率;
[0022]
(2)本发明方法根据构造向量的叉积结果可以很好的提取轮廓上的凹点;
[0023]
(3)本发明方法根据轮廓的凸包以及凸缺陷找到了轮廓的凹边,将凹点划分到不同的凹边下,在凹点匹配时可以避免匹配到同一凹边下的凹点造成分割错误;
[0024]
(4)本发明方法在凹点匹配时,同时考虑了内轮廓以及凹边,匹配规则更合理,轮廓分割的效果更好;
[0025]
(5)本发明方法不仅可以分割凸多边形物体的轮廓,也适用于类圆形物体轮廓的分割。
附图说明
[0026]
图1为本发明实施例中最初检测到的凸多边形物体靠在一起的轮廓示意图;
[0027]
图2为本发明实施例的凹点检测方法检测到的凹点的图像的示意图;
[0028]
图3为本发明实施例的凸包与凹边检测的图像的示意图;
[0029]
图4为本发明实施例的凹点匹配算法匹配到的凹点对的图像的示意图。
[0030]
图5为本发明实施例的凸多边形物体轮廓分割结果的图像的示意图。
具体实施方式
[0031]
下面根据附图和优选实施例详细描述本发明,本发明的目的和效果将变得更加明显。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0032]
本实施例中设定轮廓点遍历步长c
step
为3,取点间隔c
next
为4,凹点阈值c
th
为13,凸缺陷阈值v
th
为6,设定参数仅为示例不限于此,该结合轮廓凹点与凹边的凸多边形轮廓的图像分割方法,包括以下步骤:
[0033]
1)使用canny检测方法提取物体的轮廓,按照轮廓内部有无轮廓将轮廓划分为外轮廓和内轮廓,图1中显示找到了两条轮廓,其中一条为内轮廓,记为∑
i
={c
i1
},一条为外轮廓,记为∑
e
={c
e1
};
[0034]
2)在外轮廓∑
e
上寻找凹点,即对于外轮廓c
e1
,按照以下步骤查找凹点:从轮廓的任意一点出发沿逆时针方向遍历轮廓,步长记为c
step
,此时的点记为o(x
o
,y
o
),向前间隔c
next
个点取一个点记为p(x
p
,y
p
),向后间隔c
next
个点取一个点记为q(x
q
,y
q
),构造向量和根据两个向量叉积的正负以及大小确定此点是否为外轮廓上的凹点,具体如下:若向量叉积为正,则说明q、o、p三点逆时针排列,即o点为凸点;若向量叉积为负,则说明q、o、p三点顺时针排列,则进一步判断叉积的绝对值是否大于设定的凹点阈值c
th
,若大于c
th
,则o点记为轮廓的凹点,并将记为此凹点的凹点值;按步长c
step
继续遍历轮廓的点,如果若干个相邻点均为凹点,则只保留凹点值最大的凹点作为此凹陷处的凹点,这样做可以去除冗余凹点,在凹点匹配时可以加快计算效率并提高凹点匹配的准确率;如图2中的圆点所示,共找到3个凹点,记为s1={s1,s2,s3};
[0035]
3)判断凹点的数目,外轮廓上的凹点数目大于2,说明这是多个物体粘连在一起形成的外轮廓,首先计算轮廓的凸包,外轮廓上的每个点到凸包边的最近距离定义为该点的
凸缺陷,将凸缺陷值超过设定阈值v
th
的相邻点构成一条凹边,从而得到若干条凹边,如图3所示,共找到3条凹边,将轮廓的凹边记为v={v1,v2,v3};然后将检测到的凹点划分到对应的凹边下,这样处理之后在进行凹点匹配时就可以避免匹配到同一凹边下的凹点对,从而提高了分割的准确率;
[0036]
4)遍历凹点序列s1,对于凹点s1的匹配步骤具体如下:确认此时所在的凹边v1,这条外轮廓有内轮廓,在其余凹边{v2,v3}下的凹点序列{s2,s3}和对应内轮廓序列中寻找距离最近的点作为这个凹点的匹配点s
1p
;将s1和s
1p
作为一对凹点匹配对记录下来;对于其余凹点{s2,s3}同样按照上述方法进行匹配,最终得到3对匹配凹点对{{s1,s
1p
},{s2,s
2p
},{s3,s
3p
}},如图4所示,同一形状的两个点为匹配好的凹点对;
[0037]
5)将匹配好的凹点对两两连接起来,即完成了轮廓分割,分割得到的轮廓如图5所示,共得到三条轮廓,分别为轮廓1、轮廓2和轮廓3。
[0038]
按照本发明的方法获取物体的内外轮廓,然后找到凹点以及对应的凹边,再进行凹点匹配,最后将凹点对两两相连把原轮廓分割为多条凸多边形小轮廓,即可完成轮廓分割。本发明分割方法原理简单、分割效果好且分割速率快。
[0039]
本领域普通技术人员可以理解,以上所述仅为发明的优选实例而已,并不用于限制发明,尽管参照前述实例对发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在发明的精神和原则之内,所做的修改、等同替换等均应包含在发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1