一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于模板边缘评分的模板匹配方法、系统、设备及介质与流程

2022-11-30 21:52:29 来源:中国专利 TAG:


1.本发明涉及模板匹配技术领域,特别是涉及一种基于模板边缘评分的模板匹配方法、系统、计算机设备及存储介质。


背景技术:

2.模板匹配是一种常用的模式识别方法,用于分析识别某一特定对象的图案位于检测图像的具体位置,进而识别出特定对象的对象匹配问题解决方法,应用较为广泛。
3.然而,现有模板匹配具有自身的应用局限性:(1)它只能进行平行移动,应用于原图像中的匹配目标发生旋转、大小变化、或匹配目标中间有损坏或者灰度值改变场景时,会出现匹配失效,进而严重影响匹配效果;(2)匹配过程中必须对匹配模板内所有像素点进行匹配,导致所需匹配的像素点数量较大,匹配效率低;(3)由于匹配模板中的灰度值固定,无法有效应对环境光线明暗变化导致匹配目标的灰度值变化问题,匹配结果受环境光线影响较大。
4.因此,亟需提供一种能够有效提高目标前景与背景的灰度值差异较大的应用场景的匹配精准度,且能增强泛化能力和提升匹配效率的模板匹配方法。


技术实现要素:

5.本发明的目的是提供一种基于模板边缘评分的模板匹配方法,通过基于模板图像边缘内外两侧评分的模板匹配方法解决现有模板匹配的应用缺陷,能够简单高效的针对各种形状的目标轮廓进行模板匹配,不仅能够有效提高前背景灰度值差异较大应用场景的匹配精准度,而且能增强模板匹配的泛化能力,还能在保证匹配精度的同时提升匹配效率。
6.为了实现上述目的,有必要针对上述技术问题,提供了一种基于模板边缘评分的模板匹配方法、系统、计算机设备及存储介质。
7.第一方面,本发明实施例提供了一种基于模板边缘评分的模板匹配方法,所述方法包括以下步骤:
8.根据待检测图像制作模板图像,并确定所述模板图像的中边缘、内边缘和外边缘;
9.分别获取所述模板图像的中边缘、内边缘和外边缘对应的像素点坐标,并绘制得到对应的中边缘线、内边缘线和外边缘线;
10.根据所述待检测图像的尺寸大小,分别对所述中边缘线、内边缘线和外边缘线进行尺寸变换,并根据变换后的中边缘线、内边缘线和外边缘线,生成边缘图像;
11.根据所述边缘图像对所述待检测图像进行模板匹配,得到匹配结果。
12.进一步地,所述根据待检测图像制作模板图像的步骤包括:
13.识别所述待检测图像的感兴趣区域,并根据所述感兴趣区域的外边缘,得到所述模板图像。
14.进一步地,所述确定所述模板图像的中边缘、内边缘和外边缘的步骤包括:
15.获取所述模板图像的各个角点坐标,并根据各个角点坐标,得到模板图像的中边
缘;
16.通过对所述模板图像进行膨胀和腐蚀处理,得到所述模板图像的内边缘和外边缘。
17.进一步地,所述通过对所述模板图像进行膨胀和腐蚀处理,得到所述模板图像的内边缘和外边缘的步骤包括:
18.若所述模板图像为黑色背景图,则通过膨胀处理得到外边缘,并通过腐蚀膨胀处理得到内边缘,反之,则通过膨胀处理得到内边缘,并通过腐蚀膨胀处理得到外边缘。
19.进一步地,所述根据所述待检测图像的尺寸大小,分别对所述中边缘线、内边缘线和外边缘线进行尺寸变换,并根据变换后的中边缘线、内边缘线和外边缘线,生成边缘图像的步骤包括:
20.分别获取所述外边缘线的外边缘宽和外边缘高,并将所述外边缘线平移至第一预设位置后,根据所述待检测图像的尺寸大小,按照第一比例变换公式进行比例变换;所述第一预设位置为外边缘线的最左上角点坐标为原点,最右下角点坐标为(外边缘宽,外边缘高);
21.所述第一比例变换公式为:
[0022][0023]
其中,(x
out
,y
out
)和分别表示外边缘线上任一点的比例变换前坐标和比例变换后坐标;m和n分别表示待检测图像的宽度和高度;m
out
和n
out
分别表示外边缘线的宽度和高度;
[0024]
分别获取所述内边缘线的内边缘宽和内边缘高,并将所述内边缘线平移至第二预设位置后,根据所述待检测图像的尺寸大小,按照第二比例变换公式进行比例变换,以及将变换后的内边缘线按照第一平移公式进行平移;所述第二预设位置为内边缘线的最左上角点坐标为原点,最右下角点坐标为(内边缘宽,内边缘高);所述第二比例变换公式为:
[0025][0026]
其中,(x
inner
,y
inner
)和分别表示外边缘线上任一点的比例变换前坐标和比例变换后坐标;
[0027]
所述第一平移公式为:
[0028][0029]
其中,(x
inner,tran
,y
inner,tran
)和分别表示比例变换后内边缘线上任一点的平移前坐标和平移后坐标;(a
inner
,b
inner
)和(a
out
,b
out
)分别表示内边缘线和外边缘线的尺寸变换前的最左上角点坐标;
[0030]
分别获取所述中边缘线的中边缘宽和中边缘高,并将所述中边缘线平移至第三预设位置后,根据所述待检测图像的尺寸大小,按照第三比例变换公式进行比例变换,以及将变换后的中边缘线按照第二平移公式进行平移;所述第三预设位置为中边缘线的最左上角
点坐标为原点,最右下角点坐标为(中边缘宽,中边缘高);所述第三比例变换公式为:
[0031][0032]
其中,(x
mid
,y
mid
)和分别表示外边缘线上任一点的比例变换前坐标和比例变换后坐标;
[0033]
所述第二平移公式为:
[0034][0035]
其中,(x
mid,tran
,y
mid,tran
)和分别表示比例变换后的内边缘线上任一点的平移前坐标和平移后坐标;(a
mid
,b
mid
)表示中边缘线尺寸变换前的最左上角点坐标;
[0036]
将所述外边缘线、中边缘线和内边缘线集结至与待检测图像尺寸大小相同的空白图像,得到所述边缘图像。
[0037]
进一步地,所述根据所述边缘图像对所述待检测图像进行模板匹配,得到匹配结果的步骤包括:
[0038]
根据预设的坐标变化步长和比例变换步长,对所述边缘图像中内边缘线和外边缘线进行嵌套循环变化,并在各个嵌套循环步骤根据内边缘线和外边缘线的像素点灰度值统计对应的循环匹配分数,以及根据所述循环匹配分数更新最高匹配分数并记录对应的外边缘线变化信息;所述外边缘变化信息包括外边缘线的左上角点坐标初始值、模板x轴变化比例和模板y轴变化比例;
[0039]
根据所述最高匹配分数,获取对应的外边缘线变化信息,并根据所述外边缘线变化信息,对所述边缘图像的中边缘线进行相应变换,得到匹配边缘;所述中边缘线的变换公式为:
[0040][0041]
其中,和分别表示中边缘线按照最高匹配分数对应的外边缘变化信息变换前后的坐标;k
x
和ky分别表示最高匹配分数对应的模板x轴变化比例和模板y轴变化比例;(a
s,out
,b
s,out
)表示最高匹配分数对应的左上角点坐标;
[0042]
根据所述匹配边缘,得到所述待检测图像的匹配结果。
[0043]
进一步地,所述在各个嵌套循环步骤根据像素点灰度值统计对应的循环匹配分数的步骤包括:
[0044]
根据各个嵌套循环步骤对应外边缘线的各个像素点坐标,获取所述待检测图像上对应的灰度值,统计得到外边缘分数;所述外边缘分数表示为:
[0045]sl,out
=g
l,out
/(255
·
num
l,out
)
[0046]
其中,s
l,out
、g
l,out
和num
l,out
表示第l轮嵌套循环的外边缘分数、外边缘灰度累加值和外边缘点数;
[0047]
根据各个嵌套循环步骤对应内边缘线的各个像素点坐标,获取所述待检测图像上
对应的灰度值,统计得到内边缘分数;所述外边缘分数表示为:
[0048]sl,inner
=g
l,inner
/(255
·
num
l,inner
)
[0049]
其中,s
l,inner
、g
l,inner
和num
l,inner
分别表示第l轮嵌套循环的内边缘分数、内边缘灰度累加值和内边缘点数;
[0050]
根据外边缘分数和内边缘分数,得到所述循环匹配分数;所述循环匹配分数表示为:
[0051]sl
=|s
l,inner-s
l,out
|
[0052]
其中,s
l
表示第l轮嵌套循环的循环匹配分数。
[0053]
第二方面,本发明实施例提供了一种基于模板边缘评分的模板匹配系统,所述系统包括:
[0054]
模板制作模块,用于根据待检测图像制作模板图像,并确定所述模板图像的中边缘、内边缘和外边缘;
[0055]
边缘线获取模块,用于分别获取所述模板图像的中边缘、内边缘和外边缘对应的像素点坐标,并绘制得到对应的中边缘线、内边缘线和外边缘线;
[0056]
边缘图生成模块,用于根据所述待检测图像的尺寸大小,分别对所述中边缘线、内边缘线和外边缘线进行尺寸变换,并根据变换后的中边缘线、内边缘线和外边缘线,生成边缘图像;
[0057]
边缘匹配模块,用于根据所述边缘图像对所述待检测图像进行模板匹配,得到匹配结果。
[0058]
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
[0059]
第四方面,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
[0060]
上述本技术提供了一种基于模板边缘评分的模板匹配方法、系统、计算机设备及存储介质,通过所述方法,实现了根据待检测图像制作模板图像,并确定模板图像的中边缘、内边缘和外边缘,以及分别获取中边缘、内边缘和外边缘对应的像素点坐标,并绘制得到对应的中边缘线、内边缘线和外边缘线后,根据待检测图像的尺寸大小,分别对中边缘线、内边缘线和外边缘线进行尺寸变换,并根据变换后的中边缘线、内边缘线和外边缘线生成边缘图像,再根据边缘图像对待检测图像进行模板匹配得到匹配结果的技术方案。与现有技术相比,该基于模板边缘评分的模板匹配方法,能够简单高效的针对各种形状的目标轮廓进行模板匹配,不仅能够有效提高前背景灰度值差异较大应用场景的匹配精准度,而且能增强模板匹配的泛化能力,还能在保证匹配精度的同时提升匹配效率。
附图说明
[0061]
图1是本发明实施例中基于模板边缘评分的模板匹配方法的应用场景示意图;
[0062]
图2是本发明实施例中基于模板边缘评分的模板匹配方法的流程示意图;
[0063]
图3是本发明实施例中待检测图像的示意图;
[0064]
图4是图3中待检测图像的模板图像示意图;
[0065]
图5是图4中模板图像的内边缘、中边缘和外边缘的示意图;
[0066]
图6是本发明实施例中生成的边缘图像示意图;
[0067]
图7是本发明实施例中外边缘线的左上角点初始点为原点的初始匹配示意图;
[0068]
图8是本发明实施例中外边缘线的左上角点初始点不为原点的初始匹配示意图;
[0069]
图9是根据图6的边缘图像对图3的待检测图像进行模板匹配的匹配结果示意图;
[0070]
图10是本发明实施例中另一模板匹配的匹配结果示意图;
[0071]
图11是本发明实施例中基于模板边缘评分的模板匹配系统的结构示意图;
[0072]
图12是本发明实施例中计算机设备的内部结构图。
具体实施方式
[0073]
为了使本技术的目的、技术方案和有益效果更加清楚明白,下面结合附图及实施例,对本发明作进一步详细说明,显然,以下所描述的实施例是本发明实施例的一部分,仅用于说明本发明,但不用来限制本发明的范围。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0074]
本发明提供的基于模板边缘评分的模板匹配方法,可以应用于如图1所示的终端或服务器上。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。服务器可根据本发明基于模板边缘评分的模板匹配方法实现对特定形状目标图像的匹配识别,并将匹配识别结果用于服务器后续的应用服务或反馈至终端用户查看使用;下述实施例将对本发明的一种基于模板边缘评分的模板匹配方法进行详细说明。
[0075]
在一个实施例中,如图2所示,提供了一种基于模板边缘评分的模板匹配方法,包括以下步骤:
[0076]
s11、根据待检测图像制作模板图像,并确定所述模板图像的中边缘、内边缘和外边缘;其中,模板图像可理解为根据待检测图像中检测目标的边缘生成图像,例如待检测图像中的检测目标为图3所示的白色区域外边缘,则得到图4所示前景白色背景黑色的模板图像;具体地,所述根据待检测图像制作模板图像的步骤包括:
[0077]
识别所述待检测图像的感兴趣区域,并根据所述感兴趣区域的外边缘,得到所述模板图像;其中,感兴趣区域可使用深度学习图像处理方法或图像金字塔方法等加速方法获取,此处不作具体限制;
[0078]
通过上述方法得到模板图像后,就可以根据模板图像自身的边缘,以及对模板图像膨胀、腐蚀得到的边缘,得到本发明模板匹配所使用的中边缘、内边缘和外边缘;具体的,所述确定所述模板图像的中边缘、内边缘和外边缘的步骤包括:
[0079]
获取所述模板图像的各个角点坐标,并根据各个角点坐标,得到模板图像的中边缘;其中,模板图像的各个角点坐标的获取可采用opencv库的find_contours函数获取,还可根据获取的角点坐标使用draw_contours函数绘制出对应边缘;
[0080]
通过对所述模板图像进行膨胀和腐蚀处理,得到所述模板图像的内边缘和外边缘;其中,内边缘和外边缘与膨胀和腐蚀处理的对应关系与根据模板图像的前景和背景灰度值有关;具体的,所述通过对所述模板图像进行膨胀和腐蚀处理,得到所述模板图像的内边缘和外边缘的步骤包括:
[0081]
若所述模板图像为黑色背景图,则通过膨胀处理得到外边缘,并通过腐蚀膨胀处理得到内边缘,反之,则通过膨胀处理得到内边缘,并通过腐蚀膨胀处理得到外边缘;即对于图4所示的黑色背景模板,可得到如图5所示的外边缘(白色线条)、内边缘(黑色线条)及位于外边缘和内边缘中间的中边缘(模板图像中的白色前景区域的边缘)。
[0082]
本发明方法是对边缘的所有像素点坐标对应的灰度值进行匹配,因此,需要利用已获得的内边缘、中边缘、外边缘的角点坐标逐点延伸与记录,以获得内边缘、中边缘、外边缘所有的像素点坐标。
[0083]
s12、分别获取所述模板图像的中边缘、内边缘和外边缘对应的像素点坐标,并绘制得到对应的中边缘线、内边缘线和外边缘线;其中,中边缘、内边缘和外边缘对应的像素点坐标的获取方式相同,下面统一以边缘来代替中边缘、内边缘和外边缘,对获取步骤进行详细说明:
[0084]
1)为了让draw_contours函数能够根据边缘所有的像素点画出的边缘与根据角点坐标画出的边缘一致,需要创建一个与存储边缘的角点坐标相同格式的空向量用于储存边缘所有的像素点坐标,以下将该空向量表述为新向量;
[0085]
2)利用for循环逐一对每一对相邻角点进行逐个像素点坐标获取,每获取完一对相邻角点间所有的像素点坐标就将其记录至新向量中;例如获取相邻点(1,1)到点(1,10)(这两个点仅用于举例说明如何循环,不代表这两个点在以上模板图像中是角点),则获取依次(1,1)、(1,2)、(1,3)、...、(1,10);需要说明的是,首次使用find_contours函数获取的边缘角点不会出现差距过大的相邻角点斜边,即不会直接出现(2,2)、(10,10)的情形,根据函数机制最终获得的是(2,2)、(3,3)、(4,4)、...、(10,10);因此,即使有斜边、圆弧等也可以正确地获取到所有的像素点坐标;
[0086]
3)执行完步骤2)后最终获取到记录着边缘所有像素点的向量,使用draw_contours函数绘制出的边缘与原本利用角点绘制出的边缘保持一致;以下所有步骤所使用的皆为记录着边缘所有像素点坐标的新向量以及用该新向量所绘制出的边缘线。
[0087]
通过上述方法得到中边缘线、内边缘线和外边缘线,即通过尺寸变换和平移变换采用下述方法生成可用于边缘匹配的边缘图像。
[0088]
s13、根据所述待检测图像的尺寸大小,分别对所述中边缘线、内边缘线和外边缘线进行尺寸变换,并根据变换后的中边缘线、内边缘线和外边缘线,生成边缘图像;其中,中边缘线和内边缘线的尺寸变换与外边缘线的尺寸变换保持一致,有效保证边缘图像的有效性;具体的,所述根据所述待检测图像的尺寸大小,分别对所述中边缘线、内边缘线和外边缘线进行尺寸变换,并根据变换后的中边缘线、内边缘线和外边缘线,生成边缘图像的步骤包括:
[0089]
分别获取所述外边缘线的外边缘宽和外边缘高,并将所述外边缘线平移至第一预设位置后,根据所述待检测图像的尺寸大小,按照第一比例变换公式进行比例变换;所述第一预设位置为外边缘线的最左上角点坐标为原点,最右下角点坐标为(外边缘宽,外边缘高);
[0090]
所述第一比例变换公式为:
[0091]
[0092]
其中,(x
out
,y
out
)和分别表示外边缘线上任一点的比例变换前坐标和比例变换后坐标;m和n分别表示待检测图像的宽度和高度;m
out
和n
out
分别表示外边缘线的宽度和高度;
[0093]
上述对外边线进行尺寸变换的过程可理解为:1)获取外边缘线所有点坐标中x的最小值与y的最小值作为外边缘最左上角点坐标,所有点坐标中x的最大值与y的最大值作为外边缘最右下角点坐标;2)将外边缘线最右下角坐标点的x坐标值减去最左上角坐标点的x坐标值,获得外边缘宽,以及将最右下角坐标点的y坐标值减去最左上角坐标点的y坐标值,获得外边缘高;3)外边缘线做平移:(外边缘所有点的x坐标值-外边缘最左上角点坐标的x坐标值)、(外边缘所有点的y坐标值-外边缘最左上角点坐标的y坐标值),使得外边缘最左上角点坐标变为原点(0,0),最右下角点坐标变为(外边缘宽,外边缘高);4)对平移后的外边缘线做比例变化:外边缘线所有点的x坐标值*(待检测图像的宽/外边缘宽)、外边缘线所有点的y坐标值*(待检测图像的高/外边缘高);
[0094]
分别获取所述内边缘线的内边缘宽和内边缘高,并将所述内边缘线平移至第二预设位置后,根据所述待检测图像的尺寸大小,按照第二比例变换公式进行比例变换,以及将变换后的内边缘线按照第一平移公式进行平移;所述第二预设位置为内边缘线的最左上角点坐标为原点,最右下角点坐标为(内边缘宽,内边缘高);所述第二比例变换公式为:
[0095][0096]
其中,(x
inner
,y
inner
)和分别表示外边缘线上任一点的比例变换前坐标和比例变换后坐标;
[0097]
所述第一平移公式为:
[0098][0099]
其中,(x
inner,tran
,y
inner,tran
)和分别表示比例变换后内边缘线上任一点的平移前坐标和平移后坐标;(a
inner
,b
inner
)和(a
out
,b
out
)分别表示内边缘线和外边缘线的尺寸变换前的最左上角点坐标;
[0100]
上述内边缘线的尺寸变换过程可理解为:首先重复外边缘线尺寸变换的步骤1)和步骤2)分别获取内边缘宽和内边缘高;然后,重复步骤3),使内边缘最左上角点平移至原点、最右下角点平移至对应的(内边缘宽,内边缘高);然后,再将内边缘线做与外边缘线同比例的比例变化:内边缘线所有点的x坐标值*(待检测图像的宽/外边缘宽)、内边缘所有点的y坐标值*(待检测图像的高/外边缘高);最后,将内边缘线所有像素点做平移变化,使得内边缘线处于外边缘线内部的中间,内边缘线所有像素点的x坐标的平移值=(模板图像内边缘线最左上角点x坐标值-模板图像外边缘线最左上角点x坐标值)*(待检测图像的高/外边缘高),内边缘线所有点的y坐标的平移值=(模板图像内边缘线最左上角点y坐标值-模板图像外边缘线最左上角点y坐标值)*(待检测图像的高/外边缘高);
[0101]
分别获取所述中边缘线的中边缘宽和中边缘高,并将所述中边缘线平移至第三预设位置后,根据所述待检测图像的尺寸大小,按照第三比例变换公式进行比例变换,以及将
变换后的中边缘线按照第二平移公式进行平移;所述第三预设位置为中边缘线的最左上角点坐标为原点,最右下角点坐标为(中边缘宽,中边缘高);所述第三比例变换公式为:
[0102][0103]
其中,(x
mid
,y
mid
)和分别表示外边缘线上任一点的比例变换前坐标和比例变换后坐标;
[0104]
所述第二平移公式为:
[0105][0106]
其中,(x
mid,tran
,y
mid,tran
)和分别表示比例变换后的内边缘线上任一点的平移前坐标和平移后坐标;(a
mid
,b
mid
)表示中边缘线尺寸变换前的最左上角点坐标;
[0107]
上述中边缘线的尺寸变换过程可理解为:首先重复外边缘线尺寸变换的步骤1)和步骤2)分别获取中边缘宽和中边缘高;然后,重复步骤3),使中边缘最左上角点平移至原点、最右下角点平移至对应的(中边缘宽,中边缘高);然后,再将中边缘线做与外边缘线同比例的比例变化:中边缘线所有点的x坐标值*(待检测图像的宽/外边缘宽)、中边缘所有点的y坐标值*(待检测图像的高/外边缘高);最后,将中边缘线所有像素点做平移变化,使得中边缘线处于外边缘线内部的中间,中边缘线所有像素点的x坐标的平移值=(模板图像中边缘线最左上角点x坐标值-模板图像外边缘线最左上角点x坐标值)*(待检测图像的高/外边缘高),中边缘线所有点的y坐标的平移值=(模板图像中边缘线最左上角点y坐标值-模板图像外边缘线最左上角点y坐标值)*(待检测图像的高/外边缘高);
[0108]
将所述外边缘线、中边缘线和内边缘线集结至与待检测图像尺寸大小相同的空白图像,得到所述边缘图像;如图6所示,边缘图像中三条白色封闭线由内到外分别对应内边缘线、中边缘线、外边缘线,且外边缘线最左上角点坐标为(0,0),边缘图像尺寸等于待检测图像尺寸。
[0109]
s14、根据所述边缘图像对所述待检测图像进行模板匹配,得到匹配结果;其中,模板匹配过程为:基于边缘图像中内、外边缘线的各个像素点坐标,根据自设参数(包括:外边缘线最左上角点点坐标的初始值、外边缘线最左上角点的x坐标值的最大值、x坐标变化step、外边缘线最左上角点的y坐标值的最大值、y坐标变化step、模板x轴变化比例的最大值和最小值、x轴比例变化step,模板y轴变化比例的最大值和最小值、y轴比例变化step)进行变化;分别设置四个初始值为0的double型变量,其中两个变量记录待检测图像对应内、外边缘线坐标的灰度累加值,剩余两个变量分别用于统计内、外边缘线各自的像素点个数;再设置三个初始值为0的变量分别用于记录内边缘线评分、外边缘线评分和循环匹配分数;然后根据自设参数使各个参数使用嵌套循环进行循环变化匹配与评分,直至循环结束得到最高匹配分数后,将中边缘线按照与最高匹配分数对应的内、外边缘线相同的平移和比例变化进行一致性变化处理,得到所匹配出来的目标图像的边缘。
[0110]
模板匹配所使用的边缘图像中外边缘线的最左上角点坐标为原点(0,0)时,与待检测图像的初始匹配位置关系如图7所示,边缘线外恰好在待检测图像的最边上,而对于如图8所示的外边缘线的初始坐标(30,20)不为原点时,边缘图像内外边缘右下部分就有可能
会超出匹配图像的范围,出现越界,此时需要采用下述变换公式进行比例变换使得到边缘图像的外边缘线左上角点坐标为使用者自行设置的初始坐标,最右下角点坐标为待检测图像最右下角的坐标值(以下所有外边缘线都表示左上角点的初始坐标在原点上的外边缘线):
[0111]
外边缘线各个像素点的x坐标值=[(外边缘线各个像素点x坐标值/待检测图像的宽)*(待检测图像宽-自设的初始点x坐标值) 自设的初始点x坐标值];
[0112]
外边缘线各个像素点的y坐标值=[(外边缘线各个像素点y坐标值/待检测图像的高)*(待检测图像的高-自设的初始点y坐标值) 自设的初始点y坐标值];
[0113]
内边缘线的变化方式和使用参数与上述外边缘线变化一致,只需要将上述公式的外边缘线所各个像素点x坐标值和y坐标值换为内边缘线各个像素点x坐标值和y坐标值即可;最终获得的外边缘线称为初始点适应变化外边缘线、获得的内边缘线称为初始点适应变化内边缘线;
[0114]
通过上述方法确保边缘图像的外边缘线左上角点坐标在原点后,即可进行嵌套循环匹配;具体地,所述根据所述边缘图像对所述待检测图像进行模板匹配,得到匹配结果的步骤包括:
[0115]
根据预设的坐标变化步长和比例变换步长,对所述边缘图像中内边缘线和外边缘线进行嵌套循环变化,并在各个嵌套循环步骤根据内边缘线和外边缘线的像素点灰度值统计对应的循环匹配分数,以及根据所述循环匹配分数更新最高匹配分数并记录对应的外边缘线变化信息;所述外边缘变化信息包括外边缘线的左上角点坐标初始值、模板x轴变化比例和模板y轴变化比例;其中,所述坐标变化步长包括外边缘线的x轴变化步长和y轴变化步长;所述比例变换步长包括模板图像的x轴变换比例步长和y轴变换比例步长;具体的,所述在各个嵌套循环步骤根据像素点灰度值统计对应的循环匹配分数的步骤包括:
[0116]
根据各个嵌套循环步骤对应外边缘线的各个像素点坐标,获取所述待检测图像上对应的灰度值,统计得到外边缘分数;所述外边缘分数表示为:
[0117]sl,out
=g
l,out
/(255
·
num
l,out
)
[0118]
其中,s
l,out
、g
l,out
和num
l,out
表示第l轮嵌套循环的外边缘分数、外边缘灰度累加值和外边缘点数;
[0119]
根据各个嵌套循环步骤对应内边缘线的各个像素点坐标,获取所述待检测图像上对应的灰度值,统计得到内边缘分数;所述外边缘分数表示为:
[0120]sl,inner
=g
l,inner
/(255
·
num
l,inner
)
[0121]
其中,s
l,inner
、g
l,inner
和num
l,inner
分别表示第l轮嵌套循环的内边缘分数、内边缘灰度累加值和内边缘点数;
[0122]
根据外边缘分数和内边缘分数,得到所述循环匹配分数;所述循环匹配分数表示为:
[0123]sl
=|s
l,inner-s
l,out
|
[0124]
其中,s
l
表示第l轮嵌套循环的循环匹配分数,其最小值为0,最大值为1,内边缘线与外边缘线平均灰度值的差值越大,循环匹配分数就越高,中边缘线是目标边缘的可能性就越高;
[0125]
根据所述最高匹配分数,获取对应的外边缘线变化信息,并根据所述外边缘线变
化信息,对所述边缘图像的中边缘线进行相应变换,得到匹配边缘;所述中边缘线的变换公式为:
[0126][0127]
其中,和分别表示中边缘线按照最高匹配分数对应的外边缘变化信息变换前后的坐标;k
x
和ky分别表示最高匹配分数对应的模板x轴变化比例和模板y轴变化比例;(a
s,out
,b
s,out
)表示最高匹配分数对应的左上角点坐标;
[0128]
根据所述匹配边缘,得到所述待检测图像的匹配结果;
[0129]
上述嵌套循环匹配过程可理解为:
[0130]
1)根据边缘图像上初始内、外边缘线的所有像素点坐标,直接在待检测图像上获取每个坐标的对应灰度值,并累加到设置的变量中;如:使用for循环获取内边缘线各个像素点对应坐标的灰度值时,每获取一个像素点的灰度值,内边缘像素点总数变量就自加1、内边缘灰度值总值就加上所获取到像素点的灰度数值(比如:假设外边缘起始坐标(2,2)的灰度值为10,下一个坐标为(2,3)的灰度值为20,则首先获取起始坐标的灰度值,然后内边缘像素点总数变量自加1等于1、内边缘灰度值总值自加10等于10;然后利用循环进入下一个坐标,内边缘像素点总数变量自加1等于2,内边缘灰度值总值自加20等于30;以此规律一直循环至记录完内边缘线上所有像素点对应的灰度值与像素点个数);外边缘的步骤同理,此处不再赘述。内、外边缘线记录完成后即可根据上述的外边缘分数、内边缘分数和循环匹配分数计算公式得到每轮嵌套循环的最终分数,若计算出的分数比现有的最高分数(最终分数初始值为0,此次为第一次获取分数,因此现有最高分数为0)高,则记录最新分数、最新的左上角点坐标、最新的模板变化比例(比例大于0,且最大为1,防止模板边缘坐标超出匹配图像的范围);后续每次边缘变化评分后都与当前最高分数进行一次比较,只要得到新的最高分数就立刻进行一次更新记录,然后再进行下一次边缘变化的评分;
[0131]
2)根据各个step让变化变量(包括:外边缘线最左上角点的x坐标值,外边缘线最左上角点的y坐标值,模板x轴变化比例,模板y轴变化比例)进行嵌套循环变化:比如,先变化模板x轴变化比例并评分,x轴变化比例根据step重复变化并评分直至达到自行设置的极限时,变化y轴变化比例并将x变化比例设回到初始值,然后继续上述的x变化比例变化并评分,同理当y轴变化比例也到极限时,变化外边缘最左上角点x坐标值并把y轴变化比例、x轴变化比例设回到初始值,然后继续上述的y轴变化比例、x轴变化比例的调整并评分;对应嵌套循环中外边缘变化公式为:
[0132]
外边缘线各个像素点的x坐标值=(外边缘线各个像素点的x坐标值/待检测图像的宽)*(待检测图像的宽-外边缘线左上角起始点x坐标值)*x轴变化比例 外边缘线左上角起始点x坐标值;
[0133]
外边缘各个像素点的y坐标值=(外边缘线各个像素点的y坐标值/待检测图像的高)*(待检测图像的高-外边缘线左上角起始点y坐标值)*y轴变化比例 外边缘左上角起始点y坐标值;
[0134]
内边缘线变化公式所做的变化与外边缘线变化一致,根据外边缘线变化公式,只
需要把外边缘线变化公式的外边缘线各个像素点的x坐标值和y坐标值换为内边缘线各个像素点的x坐标值和y坐标值即可得到内边缘线变化公式;
[0135]
需要说明的是,上述内外边缘线变化公式的本质就是对获得的初始点适应变化对应的初始外边缘线和内边缘线进行多尺度变换;每次循环都进行一次评分,并把评分与当前高评分相比较,如果大于当前最高评分,则记录外边缘变化信息(包括:外边缘最左上角的初始点坐标,x轴变化比例和y轴变化比例):
[0136]
多层嵌套循环执行完毕后,得到最高匹配分数以及所记录的获得最高匹配分数时的外边缘变化信息,并根据最高匹配分数时的外边缘变化信息,对边缘图像的中边缘线进行变化,其变化方式、参数与获得最高匹配分数时的内、外边缘线的变化保存一致,即,根据内、外边缘线变化公式可得中边缘线变化公式为:
[0137]
中边缘各个像素点的x坐标值=(中边缘各个像素点的x坐标值/待检测图像的宽)*(待检测图像的宽-最高匹配分数对应的外边缘线左上角起始点x坐标值)*最高匹配分数对应的x轴变化比例 最高匹配分数对应的外边缘左上角起始点x坐标值;
[0138]
中边缘各个像素点坐标的y坐标值=(中边缘各个像素点的y坐标值/待检测图像的高)*(待检测图像的高-最高匹配分数对应的外边缘线左上角起始点y坐标值)*最高匹配分数对应的y轴变化比例 最高匹配分数对应的外边缘左上角起始点y坐标值。
[0139]
最终得到的匹配结果如图9所示,待检测目标在灰色线框选的区域内,实现了精准匹配;对应的参数为:外边缘线最左上角初始坐标=(0,0),x坐标值最大值=待检测图像的宽/2,y坐标值最大值=待检测图像的高/2,x坐标值变化step=2,y坐标值变化step=2,x轴和y轴的变化比例最大值=1,比例最小值=0.8,比例变化step=0.05);类似的实物图像检测应该过程如图10所示,进一步验证了本发明方法可实现各种规则或不规则待检测目标的精准匹配。
[0140]
本技术实施例通过基于模板图像生成边缘图像,并基于边缘图像的内外边缘线的预设嵌套循环规则对待检测图像进行遍历匹配评分,根据得到最高匹配分数对应的边缘图像的中边缘线作为待识别图像的边缘得到匹配结果的模板匹配方法,能够简单高效的针对各种形状的目标轮廓进行模板匹配,不仅能够有效提高前背景灰度值差异较大应用场景的匹配精准度,而且能增强模板匹配的泛化能力,还能在保证匹配精度的同时提升匹配效率。
[0141]
需要说明的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。
[0142]
在一个实施例中,如图11所示,提供了一种基于模板边缘评分的模板匹配系统,所述系统包括:
[0143]
模板制作模块1,用于根据待检测图像制作模板图像,并确定所述模板图像的中边缘、内边缘和外边缘;
[0144]
边缘线获取模块2,用于分别获取所述模板图像的中边缘、内边缘和外边缘对应的像素点坐标,并绘制得到对应的中边缘线、内边缘线和外边缘线;
[0145]
边缘图生成模块3,用于根据所述待检测图像的尺寸大小,分别对所述中边缘线、内边缘线和外边缘线进行尺寸变换,并根据变换后的中边缘线、内边缘线和外边缘线,生成边缘图像;
[0146]
边缘匹配模块4,用于根据所述边缘图像对所述待检测图像进行模板匹配,得到匹配结果。
[0147]
关于一种基于模板边缘评分的模板匹配系统的具体限定可以参见上文中对于一种基于模板边缘评分的模板匹配方法的限定,在此不再赘述。上述一种基于模板边缘评分的模板匹配系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0148]
图12示出一个实施例中计算机设备的内部结构图,该计算机设备具体可以是终端或服务器。如图12所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示器和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于模板边缘评分的模板匹配方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0149]
本领域普通技术人员可以理解,图12中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有同的部件布置。
[0150]
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法的步骤。
[0151]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法的步骤。
[0152]
综上,本发明实施例提供的基于模板边缘评分的模板匹配方法及系统,其基于模板边缘评分的模板匹配方法实现了根据待检测图像制作模板图像,并确定模板图像的中边缘、内边缘和外边缘,以及分别获取中边缘、内边缘和外边缘对应的像素点坐标,并绘制得到对应的中边缘线、内边缘线和外边缘线后,根据待检测图像的尺寸大小,分别对中边缘线、内边缘线和外边缘线进行尺寸变换,并根据变换后的中边缘线、内边缘线和外边缘线生成边缘图像,再根据边缘图像对待检测图像进行模板匹配得到匹配结果的技术方案,该基于模板边缘评分的模板匹配方法,能够简单高效的针对各种形状的目标轮廓进行模板匹配,不仅能够有效提高前背景灰度值差异较大应用场景的匹配精准度,而且能增强模板匹配的泛化能力,还能在保证匹配精度的同时提升匹配效率。
[0153]
本说明书中的各个实施例均采用递进的方式描述,各个实施例直接相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。需要说明的是,上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0154]
以上所述实施例仅表达了本技术的几种优选实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本技术的保护范围。因此,本技术专利的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献