图像模板匹配方法、存储介质和计算机与流程

文档序号:31126653发布日期:2022-08-13 03:42阅读:83来源:国知局
图像模板匹配方法、存储介质和计算机与流程

1.本发明涉及图像处理技术领域,尤其涉及一种图像模板匹配方法、存储介质和计算机。


背景技术:

2.随着人工智能产业链的崛起和飞速发展,图像识别技术在人工智能领域应用非常广泛,然而在图像识别技术的研究应用中,通过应用模板匹配技术,有利于推动图像识别的进一步发展,因此,从不同的角度和方向来研究模板匹配技术意义非凡。
3.模板匹配技术主要是通过使用数学函数将被搜索对象和模板图像特征值进行对比,找出对应坐标关系的一种方式。模板匹配技术包含了模糊数学、微分数学、矩阵分析、自适应控制等技术,它具有运算速度快,计算量小,算法简单,识别效率高等特点。
4.因此,有必要提出一种新的图像模板匹配方案。


技术实现要素:

5.本发明的目的在于提供一种图像模板匹配方法、存储介质和计算机,其具有较快的匹配速度。
6.为实现发明目的,根据本发明的一个方面,本发明提供一种图像模板匹配方法,其包括:计算输入图像的坐标方向导数得到所述输入图像的x方向和y方向的坐标方向导数图像;根据所述输入图像的x方向和y方向的坐标方向导数图像计算所述输入图像的梯度方向图;对所述输入图像的梯度方向图进行朝向量化和归一化得到所述输入图像的量化角度图像;将所述输入图像的量化角度图像进行扩散得到所述输入图像的扩散角度图像;计算所述扩散角度图像的每个朝向的朝向响应图;对每个朝向的朝向响应图进行线性化得到每个朝向的线性化响应图;通过训练好的模板的特征点坐标和朝向来查找所述输入图像中对应位置和相应的线性化响应图像,进而求得相似性图像;和通过所述相似性图像的信息获取模板匹配结果,将所述模板匹配结果标注在该输入图像上。
7.根据本发明的另一个方面,本发明提供一种存储介质,其存储有程序指令,在所述程序执行被运行上文所述的图像模板匹配方法。
8.根据本发明的再一个方面,本发明提供一种计算机,其包括处理器和存储器,所述存储器中存储有程序指令,所述处理器运行所述程序指令以执行上文所述的图像模板匹配方法。
9.与现有技术相比,本发明得到了输入图像的多个朝向的线性化响应图,通过训练好的模板的特征点坐标和朝向来查找所述输入图像中对应位置和相应的线性化响应图像,进而求得相似性图像,进而得到模板匹配结果,速度快。
附图说明
10.图1为本发明中的图像模板匹配方法在一个实施例中的流程示意图。
具体实施方式
11.为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如下。
12.本发明提供一种图像模板匹配方法,其可以提高模板匹配的速度。所述图像模板匹配方法通过使用c语言,来计算输入图像的坐标方向导数,求取各个像素对应的梯度方向,将梯度方向离散化为16个朝向,再将16个朝向归一化为8个朝向,以计算后的朝向与模板匹配特征点的朝向进行余弦计算,依次获取匹配分数,完成输入图像的模板匹配,速度更快。
13.图1为本发明中的图像模板匹配方法100在一个实施例中的流程示意图。如图1所示的,所述图像模板匹配方法100包括如下步骤。
14.步骤110,计算输入图像的坐标方向导数得到所述输入图像的x方向和y方向的坐标方向导数图像。
15.所述输入图像可以是rgb三通道的图像,其可以为多张。
16.在一个实施例中,所述步骤110包括:将所述输入图像进行高斯模糊;
17.使用sobel(索贝尔)算子求得所述输入图像的x方向和y方向的倒坐标方向数,从而得到输入图像的x方向的坐标方向导数图像以及y方向的坐标方向导数图像sobel_3x和sobel_3y。这里,将所述输入图像进行高斯模糊,可以消除图像噪声对模板匹配的干扰。
18.步骤120,根据所述输入图像的x方向和y方向的坐标方向导数图像计算所述输入图像的梯度方向图。
19.在一个实施例中,所述步骤120包括:利用所述输入图像的x方向和y方向的坐标方向导数图像,来计算所述输入图像的每个像素在每个通道对应的2范数;对每个像素计算得到的各个通道的2范数值进行对比,求得2范数最大的通道;将2范数最大的通道的方向导数赋值给该通道对应的像素上,得到每个像素的单通道方向导数,进而得到单通道方向导数图sobel_x和sobel_y;利用每个像素的单通道方向导数来获取对应的像素的梯度方向,进而得到所述输入图像的梯度方向图sobel_ang。
20.步骤130,对所述输入图像的梯度方向图进行朝向量化和归一化得到所述输入图像的量化角度图像。
21.在一个实施例中,所述步骤130包括:将所述梯度方向图的角度的取值范围等分为m个朝向,基于m个朝向将所述梯度方向图量化得到具有m个朝向的量化临时图像quantized_temp;将具有m个朝向的量化临时图像归一化为具有n个朝向的量化角度图像quantized_angle,其中n、m为正整数,n=m/2。
22.具体的,在一个示例中,n=8,m=16,梯度方向图sobel_ang中角度的取值范围为[0,360],通过将角度值分割为16等分,使用0~15序号来表示。
[0023]
为了消除边缘极性的影响,将量化角度图像quantized_angle中每个朝向与7进行按位或运算,将朝向归一化为0~7共8个朝向,以此得到具有8个朝向的量化角度图像。
[0024]
步骤140,将所述输入图像的量化角度图像进行扩散得到所述输入图像的扩散角度图像。
[0025]
在一个实施例中,所述步骤140包括:将所述量化角度图像的每个朝向进行扩散操作,具体为:记录所述量化角度图像的每个像素的3*3邻域中出现频率最高的朝向,如果该
朝向出现的次数超过预定阈值,则将该朝向赋值给该像素,这样可以得到所述输入图像的扩散角度图像spread-angle。
[0026]
步骤150,计算所述扩散角度图像的每个朝向的朝向响应图。
[0027]
为了避免在后续模板匹配时,每次都计算输入图像朝向与模板中特征朝向余弦最大值,先计算所述输入图像与所述扩散角度图像的每个朝向的朝向响应图,后续在进行上述操作时,只需进行查表操作即可,这样可以提升模板匹配效率,该步骤得到8张朝向响应图response_map。
[0028]
步骤160,对每个朝向的朝向响应图进行线性化得到每个朝向的线性化响应图。
[0029]
在一个实施例中,所述步骤150包括:将每个朝向的朝向响应图按照采样预定步长t进行线性化,得到每个朝向的线性化响应图。比如,输入图像为m*n,则按采样步长t线性化后的图像为(t*t)*(m*n/t/t)。
[0030]
步骤170,通过训练好的模板的特征点坐标和朝向来查找所述输入图像中对应位置和相应的线性化响应图像,进而求得相似性图像similarity。
[0031]
所述相似性图像similarity中像素对应值为匹配得分情况,根据图像可获取模板匹配情况。
[0032]
收集模板图像作为数据集c,将数据集c通过模板训练算法工具,进行训练,最后得到训练好的模板temp_match.ehd,并求得该模板的特征点坐标和朝向。
[0033]
步骤180,通过所述相似性图像的信息获取模板匹配结果,将所述模板匹配结果标注在该输入图像上。
[0034]
在该输入图像上若有多个模板匹配结果,则按照匹配到的优先顺序将匹配到的特征区域进行标记,最后把标记完的信息显示在输入图像上。
[0035]
在本发明中,基于c语言计算输入图像的朝向,模板匹配特征点的朝向进行余弦计算,依次来获取匹配分数,然后通过计算的分数值,来测算图像的模板匹配程度,从而达到模板匹配的效果。
[0036]
测试示例1
[0037]
为了验证与c++语言编写的模板匹配,运算效率的高低。本次测验用例,做了如下准备:1)收集待匹配图像作为数据集a;2)收集模板图像作数据集c,针对数据集c,通过使用模板训练算法工具进行训练,得到训练好的模板文件temp_match.ehd;3)准备两种模板匹配模块,第一种模块是使用c++语言编写完成的算法工具,第二种是使用c语言编写完成的模板匹配工具。
[0038]
测试方法:通过搭建流程图的方式进行测试。1)搭建一个输入图像模块,在输入模块中选择输入源,选取图片作为数据集a。2)搭建两个模板匹配模块,第一个是本方案通过c语言编写的模块,模板匹配1,第二个是c++语言编写的模块,模板匹配2。在两个模板匹配模块中,都添加了此模块的运行时间。通过查看模板匹配的运行时间来判断模块的运算效率。最后运行模块,查看测试结果。
[0039]
测试结果:通过测试后发现,使用基于c语言的模板匹配技术,比使用c++语言模板匹配技术,计算运算速度又明显提升。
[0040]
根据本发明的另一个方面,本发明提供一种存储介质,其存储有程序指令,在所述程序执行被运行以执行上文所述图像模板匹配方法100。为了简便,图像模板匹配方法100
的具体内容在此处不再重复。
[0041]
根据本发明的另一个方面,本发明提供一种计算机,其包括处理器和存储器,所述存储器中存储有程序指令,所述处理器运行所述程序指令以执行上文所述图像模板匹配方法100。为了简便,所述图像目标匹配定位方法的具体内容在此处不再重复。
[0042]
在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,除了包含所列的那些要素,而且还可包含没有明确列出的其他要素。
[0043]
在本文中,所涉及的前、后、上、下等方位词是以附图中零部件位于图中以及零部件相互之间的位置来定义的,只是为了表达技术方案的清楚及方便。应当理解,所述方位词的使用不应限制本技术请求保护的范围。
[0044]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0045]
本技术是参照根据本技术实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理装置的处理器以产生一个机器,使得通过计算机或其他可编程数据处理装置的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0046]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理装置以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0047]
这些计算机程序指令也可装载到计算机或其他可编程数据处理装置上,使得在计算机或其他可编程装置上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程装置上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0048]
尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1