文档库 最新最全的文档下载
当前位置:文档库 › 基于模板匹配算法的数字识别讲解

基于模板匹配算法的数字识别讲解

基于模板匹配算法的数字识别讲解
基于模板匹配算法的数字识别讲解

中南民族大学

毕业论文(设计)

学院: 计算机科学学院

专业: 软件工程年级:2009 题目: 基于模板匹配算法的数字识别学生姓名: 李成学号:09065093指导教师姓名: 李波职称: 讲师

2013年5月

中南民族大学本科毕业论文(设计)原创性声明

本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。

作者签名:2013年月日

摘要 (1)

Abstract (1)

1 绪论 (2)

1.1 研究目的和意义 (2)

1.2 国内外研究现状 (2)

2 本文基本理论介绍 (3)

2.1 位图格式介绍 (3)

2.2 二值化 (3)

2.3 去噪 (3)

2.4 细化 (4)

2.5 提取骨架 (4)

3 图像的预处理 (5)

3.1 位图读取 (5)

3.2 二值化及去噪声 (5)

3.3 提取骨架 (6)

4 基于模板匹配的字符识别 (8)

4.1 样本训练 (8)

4.2 特征提取 (8)

4.3 模板匹配 (9)

4.4 加权特征模板匹配 (10)

4.5 实验流程与结果 (10)

5 结论 (16)

5.1 小结 (16)

5.2 不足 (16)

6 参考文献 (17)

基于模板匹配算法的数字识别

摘要

数字识别已经广泛的应用到日常生活中,典型的数字自动识别系统由图像采集、预处理、二值化、字符定位、字符分割和字符识别等几部分组成, 这些过程存在着紧密的联系。传统的模板匹配算法因为图像在预处理之后可能仍然存在较大的干扰,数字笔画粗细不均匀,有较大的噪声,识别效率不高。本文采的主要思想就是对字符进行分类,之后对字符进行细化,提取细化后字符的特征矢量,与模板的特征矢量进行加权匹配,误差最小的作为识别结果。本文在模板匹配法的基础上, 采用了特征值加权模板匹配法, 并且改进了匹配系数的求法。应用该法取得了满意的效果, 提高了识别率。

关键词:模板匹配;数字识别;特征值加权;字符识别;

Template matching algorithm-based digital identification

Abstract

Digital identification has been widely applied to daily life, the typical digital automatic identification system by the image acquisition, pre-processing, binarization, character positioning, character segmentation and character recognition several parts, there is a close link these processes. Traditional template matching algorithm because the image may still exist after pre-greater interference, digital strokes uneven thickness, the noise, the identification efficiency is not high. Adopted herein main idea is to classify the character after character refinement, the characters feature vector extraction refinement, and the template feature vector is weighted matching, the minimum error as a recognition result. Template matching method based on feature weighted template matching method, and improve the matching coefficient method. The application of the method to obtain satisfactory results, to improve the recognition rate.

Key words:Template matching; digital identification; characteristic value weighted; character recognition;

1 绪论

1.1研究目的和意义

字符是我们进行信息交流的重要工具,实现计算机的手写字符识别是加快社会信息化进程的关键所在. 由于阿拉伯数字是唯一的被世界各国通用的符号,手写字符识别的研究一直以阿拉伯数字为主导. 在识别算法方面,目前常用的字符识别方法有模板匹配法、几何分类法、人工神经网络识别法和支持向量机( SVM)识别法. 从原理上分析,模板匹配法实现较为简单,但常用的模板匹配法在模板数量很大时计算量很大.本文将研究对象局限于特定图像数字,采用模板匹配法进行识别,根据数字特征先找出最佳特征值,再进行识别取得了较好的效果. 下面是实验中涉及的有关算法.

1.2国内外研究现状

图像匹配在近几十年来一直是人们研究的热点和难点,最早的研究是在70年代美国从事飞行器辅助导航系统等军事应用研究中提出来的。经历了10多年的发展从年代以后其应用逐步从原来单纯的军事应用扩大到其它领域。

国内外现阶段对图像匹配研究主要是以提高匹配的精度和速度为主,同时对匹配方法的通用性及鲁棒性也有一定要求。已研究比较多的匹配方法主要分为基于图像灰度的匹配方法和基于图像特征的匹配方法。

基于灰度相关的图像匹配方法,主要处理不存在旋转的匹配对象,且已经提出了各种各样针对灰度匹配的方法,如:Leese与1971年提出的MAD算法,Bamea D I和Silverman 和于1972年提出了序贯相似性检测法——SSDA,紧接着又提出了归一化积相关算法——NCC,这些方法在时问复杂度或匹配精度上均存在一定问题,不适应于实际的匹配应用。对各种匹配快速算法的研究,主要是从尽可能减少匹配运算量或搜索的位置数这两个角度入手。文献[1]分别对MAS、NCC和SSDA等经典模板匹配算法进行改进以提高匹配速度;文献[2]提出新的匹配方法,即基于图像灰度值编码的匹配方法,较传统匹配算法在速度上提高了一个数量级,但其仅适应于矩形匹配对象,且对局部光照变化非常敏感,从而影响匹配准确度。但在实际应用当中,一般以不规则匹配对象居多,且环境的光照变化也是非常不稳定因素,因此算法设计过程中必须考虑这几个因素。典型的还有在搜索策略上进行改进的一系列方法,分层搜索技术、遗传算法、最小二乘、模拟退火、能量最小、削减搜索分支、多子区域相关匹配等。匹配速度主要从两个方面来分析,一方面分析在同样硬件环境下,同样匹配精度和要求下,比较所研究方法和其它方法的实际运算时间;另一方面分析算法,进行算法时间复杂度的比较。

由于基于灰度相关的图像匹配方法,不能解决匹配对象存在旋转情况下的匹配问题,所以继续研究基于特征的图像匹配方法,主要是针对匹配对象存在旋转情况下的匹配方法。常使用的特征包括边缘、区域、曲率、面积、线交叉点、质心等,其中以边缘和区域边界最常用,它们可由边缘检测方法和图像分割方法得到。

从上述分析可知,一方面匹配问题是研究热点,另一方面也说明匹配问题仍然有许多技术难题没有解决且急需解决。在上千种算法中,匹配问题在准确性、鲁棒性两方面几乎找不到通用的、一劳永逸的算法。

2本文基本理论介绍

2.1位图格式介绍

本文位图格式是BMP格式。

BMP是一种与硬件设备无关的图像文件格式,使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BblP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。

由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows 环境中运行的图形图像软件都支持BMP图像格式。

典型的BMP图像文件由三部分组成:位图文件头数据结构,它包含BMP图像文件的类型、显示内容等信息;位图信息数据结构,它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息。

2.2 二值化

图像二值化(binary image),就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果。

将256个亮度等级的灰度图像通过适当的阈值选取而获得仍然可以反映图像整体和局部特征的二值化图像。在数字图像处理中,二值图像占有非常重要的地位,首先,图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。其次,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像。

所有灰度大于或等于阀值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。

2.3 去噪

图像在生成和传输过程中常常因受到各种噪声的干扰和影响而使图像降质,这对后续图像的处理(如分割、压缩和图像理解等)将产生不利影响。噪声种类很多,如:电噪声、机械噪声、信道噪声和其他噪声。在图像处理中,图像去噪是一个永恒的主题,为了抑制噪声,改善图像质量,便于更高层次的处理,必须对图像进行去噪预处理。

本文是根据噪声能量一般集中于高频而图像频谱则分布于一个有限区间的这一特点,采用低通滤波方式来进行去噪。低通滤波是频率域滤波的一种,频率域滤波是将图像从空间或时间域转换到频率域,再利用变换系数反映某些图像特征的性质进行图像滤波的方法。傅立叶变换是一种常用的变换。在傅立叶变换域,频谱的直流分量正比于图像的平均亮度,噪声对应于频率较高的区域,图像实体位于频率较低的区域。图像在变换具有的这些内在特性可被用于图像滤波。可以构造一个低通滤波器,使低频分量顺利通过而有效地阻于高频分量,即可滤除图像的噪声,再经过反变换来取得平滑的图像。

2.4 细化

图像处理中物体的形状信息是十分重要的,为了便于描述和抽取图像特定区域的特征,对那些表示物体的区域通常需要采用细化算法处理,得到与原来物体区域形状近似的由简单的弧或曲线组成的图形,这些细线处于物体的中轴附近,这就是所谓的图像的细化。通俗的说图像细化就是从原来的图像中去掉一些点,但仍要保持目标区域的原来形状,通过细化操作可以将一个物体细化为一条单像素宽的线,从而图形化的显示出其拓补性质。

2.5 提取骨架

实际上,图像细化就是保持原图的骨架。所谓骨架,可以理解为图象的中轴,例如一个长方形的骨架是它的长方向上的中轴线;正方形的骨架是它的中心点;圆的骨架是它的圆心,直线的骨架是它自身,孤立点的骨架也是自身。对于任意形状的区域,细化实质上是腐蚀操作的变体,细化过程中要根据每个像素点的八个相邻点的情况来判断该点是否可以剔除或保留。

3 图像的预处理

首先在模板匹配之前要对图像进行预处理,去除图像中的噪声,对图像进行细化,提取其骨架

3.1 位图读取

位图是一种应用非常广泛的图像格式,所以在图像处理时也通常将模拟图像转化成位图的形式。数字图像处理的基本方法有中值滤波、灰度值计算、图像分割、孤点滤波等。但是在作这些工作之前,首先也是最基本的必须正确的读取位图,在此基础上实现图像的平移、旋转、滚动,满足图像处理对图像的要求。对于位图的读取和图像平移、旋转等基本操作已经不再是新鲜话题。本文采取的方法是利用已有的API 函数实现位图的读取,运用计算机图形学知识实现对位图的基本操作

3.2 二值化及去噪声

本文采用的是自适应阈值二值化方法,使用迭代法求出灰度阀值,高于该阀值灰度设为255,低于该阀值灰度设为0

迭代法是基于逼近的思想,其步骤如下:

(1)求出图象的最大灰度值和最小灰度值,分别记为Rmax 和Rmin,令阈值θ=(Rmax+Rmin)/2。

(2)根据阈值θ将图象的平均灰度值分成两组R1和R2。

(3)分别求出两组的平均灰度值μ1和μ2。

(4)求出新阈值θ=(μ1+μ2)/2。

()y x f ,'是二值化后输出的图像,通过阀值(设为θ)来二值化图像的公式为

()()(){时

,当时,当θθ≥<='y x f y x f y x f ,1,0, 公式 3-1

其效果如图3-1,图3-2

图 3-1(待识别字符图片)

图 3-2(二值化图片)

再对二值化的图像进行去噪,本文采用低通滤波来进行。

低通的数学表达式如下式所示:

()()()v u H v u F v u G ,,,= (3-2)

式中()v u F ,一含有噪声的原图像的傅立叶变换; ()v u H ,一为传递函数,也称转移函数(即低通滤波器);()v u G ,一为经低通滤波后输出图像的傅立叶变换。H 滤波滤去高频成分,而低频信息基本无损失地通过。滤波后,经傅立叶变换反变换可得平滑图像。

3.3 提取骨架

细化即将二值化的数字图像按一定的规律缩小到成单像素点构成,但保持源图像的结构特征。

细化算法依据是否使用迭代运算可以分为两类:第一类是非迭代算法,一次即产生骨架,如基于距离变换的方法,游程长度编码细化等。第二类是迭代算法,即重复删除图像边缘满足一定条件的像素,最终得到单像素宽带骨架。迭代方法依据其检查像素的方法又可以再分成串行算法和并行算法,在串行算法中,是否删除像素在每次迭代的执行中是固定顺序的,它不仅取决于前次迭代的结果,也取决于本次迭代中已处理过像素点分布情况,而在并行算法中,像素点删除与否与像素值图像中的顺序无关,仅取决于前次迭代的结果。

在细化一幅图像X 时应满足两个条件:

第一,在细化的过程中,X 应该有规律地缩小;

第二,在X 逐步缩小的过程中,应当使X 的连通性质保持不变。

对设已知目标点标记为1,背景点标记为0。边界点是指本身标记为1而其8连通邻域中至少有一个标记为0的点。

本文采用串行的迭代算法对一幅图像的所有边界点即一个3×3区域都进行如下检验和操作:

考虑以边界点为中心的8邻域,设p1 为中心点,对其邻域的8个点逆时针绕中心点分别标记为p2,p3,…,p9,其中p2 位于p1 的上方。如果p1=1(即黑点)时,下面4个条件同时满足,则删除p1(p1=0):①2≤N(p1)≤6,其中N(p1)是p1 的非零邻点的个数;②S(p1)=1,其中S(p1)是以p2,p3,p4,…,p9为序时这些点的值从0到1变化的次数;③p2p4p6=0 或者S(p1)≠ 1;④p4p6p8=0 或者S(p1)≠1。

P3 P2 P9

P4 P1 P8

P5 P6 P7

图3-3(9像素图)

(1)同第(1)步,仅将③中的条件改为p2p4p8=0,④中的条件改为p2p6p8=0。同样当对所有边界点都检验完毕后,将所有满足条件的点删除。以上两步操作构成一次迭代。

(2)算法反复迭代,直至没有点再满足标记删除的条件,这时剩下的点就组成区域的骨架。

图表3-3所示的8个模板反应了图像的边缘像素点分布特点

图3-4边界点像素点分布

对图表3-2的图像进行细化提取骨架后得到的细化图片如图表3-3

图3-5 骨架图

4基于模板匹配的字符识别

将预处理完成的灰度二值化图片按模板匹配的方法识别出来,将图片信息转化为数字信息,供后续使用,下文将介绍模板匹配算法的原理

4.1样本训练

本文在在建立标准的字符模板库时需要手动将样本输入,建立临时标准的字符模板库,然后保存,这就需要在之前已经有模板样本,进行必要的样本训练。

样本训练的过程也是提取样本图像字符的特征值的过程,方便之后匹配时使用。

4.2特征提取

特征提取的目的是从原数字图像文件中抽取出能用于区分其与其他字符不同类型的本质特征,对研究对象本质的,固有的重要特征和属性进行量测并将结果数值化,形成特征矢量,对图像的识别,学习过程都要非常重要。

能描述对象本质特征的元素有很多,但是为了节约资源,有时更是为了可行性,在保证分类识别正确率的前提下,尽量选择识别作用较大的特征,使得用较少的特征就能完成分类识别任务,有一种简单的方法就是减少特征矢量的维数或符号字符数,本文中采用对待识别数字图像进行行列扫描与数字起点结合的方法提取特征。

结构特征提取的算法如下:

1)对细化后的数字图像取竖直的三条直线,分别取在5 /12,1 /2,7 /12 处,记下这三条竖直直线与数字笔段的交点数。

2)再取水平三条直线,分别取在1 /3,1 /2,2 /3 处,分别记下这三条水平直线与数字笔段的交点数。

3)再取对角两条直线,分别记下这两条对角直线与数字笔段的交点数。

如图表4-1所示

图4-1 待识别字符特征提取

经细化后的数字图像其特征较为稳定,且笔划简单,因此对其抽取的基本结构组件能反映数字的本质特征, 从而可快速有效地识别数字符号,并达到较好的分类效果。

提取笔划特征的算法如下:

1)按从上到下,从左到右的顺序扫描预处理后图像并选择黑像素点P ;

2)计算像素 P 的 8———领域之和 N ;

3)若N =1,则像素P 为端点,端点计数器加1;

4)重复步骤(1)-(3),直到遍历整个图像。

依据上述特征提取方法, 本系统中的特征矢量由9 个分量组成,其排列如下所示: DA TA =[水平1 / 3 处交点数,水平中线交点数,水平2 / 3 处交点数,竖直5 / 12 处交点数,竖直中线交点数,竖直7 / 12 处交点数,左对角线交点数,右对角线交点数,端点数

]

图 4-2 模板特征提取

4.3 模板匹配

获取一组少而精的分类特征是特征提取的目的,即获取一组分类错误概率小而且特征数目少的特征向量。在此识别算法应用之前,要求已存在一个在之前就学习的基础上建立起的标准的字符模板库,这个模板库是一个树状结构,它是根据每个模板中的矢量线段数和交叉矢量线段数而建立的,里面主要存储着标准字符的特征表。该算法将需要识别字符的特征表与已建立的模板库中的标准字符的特征表逐个比较,如果发现标准模板库中某一字符的特征表与之相匹配时,则判断该被其识别的字符为该标准字符。如果在模板库中没有一个能与该被识别字符的特征表相匹配的标准字符存在,则系统会显示拒识的信息。如果该字符被据识,可以把被拒识的字符的特征表当作另外的标准模板加入到模板库中去,并记录该特征表与字符匹配关系,方便以后再遇到具有这种特征的字符的识别。

模板匹配是字符识别的基本方法之一。其数学描述为:

()()()[]2

11,,,∑∑==-'=M m N n n m F n m F j i D (4-1)

式中,()j i D ,为两个字符的欧氏距离,F '(m ,n)为待识别样本,F (m ,n )为知识库中的模板,在识别开始时,要求分别计算待识别图像与标准模板库中的每个模板的距离,标准模板库中一共有10个数字,则只需与10 个数字逐个比较,()j i D ,越小,表示此待识别样本与标准模板的匹配程度越好,为零则说明两者完全匹配,这种方法虽然最简单,而且容易实现,但该算法的计算量会随着图像所含像素增加而快速增加,而且执行匹配运算次数随着原图的增大而增多,匹配效率不高。为此,我们提出采用提取特征矢量来进行数字识别。

4.4 加权特征模板匹配

在实际数字特征提取过程中,有些数字外形存在很大的相似性,可能会造成不同的数字提取的9 个特征矢量的区别不大,比如,6和0,3 和5 等,为了提高算法识别数字的正确率,拉大各数字特征矢量间的区别,本文提出另一种改进的算法,该算法在提取了字符的9 个特征的基础上,再根据某些特征矢量的重要程度,对9个特征进行加权匹配,这样使得数字识别的准确率大大提高。

依据上面提取出的特征矢量,进行模板匹配,其数学描述如下:

()()()()k F k F k A i D k -'?=∑=9

1 (4-2)

式中,()k A 为第k 个特征的权值,()k F '与()k F 分别为模板库中某个模板与待匹配字符的第k 个特征,()i D 为匹配值,表示匹配字符的特征与模板字符的特征的差异程度,匹配值越小,两个字符特征越一致。其中,加权系数需要不断的实验来确定,以达到较好的分类效果。

算法描述如下:

设i =0,j =0;

1)取第i 个字符与模板库中的第j 个模板进行比较;

2)比较第1,4,6 个特征,()k A 取值为2;比较第2,5,9 个特征,()k A 取值为0.5, 比较第3,7,8 个特征,()k A 取值为1 。“j ++”,如果全部模板匹配完毕,进入步骤(3)执行,否则回到步骤(1)执行。

3)取出最小的模板匹配值,以该模板字符作为与当前字符匹配成功的字符。“i ++,j =0”,回到步骤(1)执行。

4.5 实验流程与结果

实验操作流程图如下:

标准字符图示意:

待识别样本示意图:

图4-4 待识别样本(数字0)

图 4-5 待识别样本(数字9) 开始

得到待识别字符

识别成功?图像预处理

输出识别结果加权识别

结束

Y

N Y

基本模板匹配

图 4-3 实验流程图

为验证该算法的可行性,本实验采用了270张数字图片进行实验,用Visual C++6.0编程,在Inter(R) Core(TM) i3-2350M 2.3GHz 4.00G内存的微机上进行仿真,整体识别率达到94%,识别时间0.5S,满足实际应用要求。以数字6为例,数字6在形态上和数字0相似,基本模板匹配识别结果为0,如图2-4所示,通过加权匹配,拉大了类间距离,正确识别为6,流程如下:

样本训练阶段:

图4-4 样本训练

图4-5 样本训练样本识别阶段:

算法改进前将6错误识别为0

改进算法后,正确识别为6

图4-7 识别正确

5结论

5.1小结

本文通过将数字图像进行二值化,是图像处理更加方便,便于图像的识别,进而对数字图像进行细化操作,以提高系统的运算速度,然后分析数字图像的特点,提取图像的特征矢量,在基本模板匹配的识别的基础上,对某些特殊而重要的特征矢量进行加权,然后再匹配,提高了系统正确的识别率。实验结果表明,两者的结合使系统有较高的识别正确率与识别速度,达到了预期的效果。

5.2不足

虽然本文采取特征值加权算法使识别率大大提高,但是本文在图像二值化和提取骨架过程中使用迭代算法,在去噪声过程中使用傅里叶变换,这样使得算法在时间复杂度上有些不足,在今后的研究中,要在这几处深入研究,找到一个更优化的算法。

6参考文献

[1]姜凯,陈海霞,汤建华.一种快速图像匹配算法的设计与实现.计算机工程与应用,2004

[2]李强,张钹.一种基于图像灰度的快速匹配算法.软件工程报,2006

[3]马驷良,马洪波,董险峰.数字图像的一种快速细化方法.吉林大学自然科学学报,2001.10

[4]匿名.图像去噪处理毕业论文.百度文库,2006

[5]崔政,李壮.两种改进的模板匹配识别算法.计算机工程与设计,2006.03

[6]邹明明,卢迪.基于改进模板匹配的车牌字符识别算法实现.哈尔滨理工大学电气学院,2010.01

[7]刘洋洋,嵇启春.一种改进的模板匹配的数字识别算法.西安建筑科技大学信息与控制工程学院,2006

[8]吴小艳,王维庆,杨春祥,何山,王小龙.几种基于模板匹配法的数字图像识别算法分析.百度文库,2006

[9]张志,田凯,李文秀.数字图像处理中位图读取和基本操作.哈尔滨工程大学自动化学院,2002

[13]刘静,周静华,苏俊连,付佳.基于模板匹配的车牌字符识别算法实现.河北工程大学信电学院通信与信息工程系,2004(04)

[14]李新良.基于模板匹配法的字符识别算法研究.湖南娄底职业技术学,2012(02)[15]张志,田凯,李文秀.数字图像处理中位图读取和基本操作.哈尔滨工程大学自动化学院,2002

[16]李鹏举,于瑞华,王九洁.一种基于改进模板匹配方法的车牌字符识别研究[J].中国安防,2010年Z1期

[17]孔金生,张小凤,王璇.基于轮廓特征的模板匹配方法及其应用[J].计算机工程与应用,2008(22)

[18]石伟.ITS中车辆信息采集与处理技术研究[D].南京航空航天大学,2010

[19]康华光,华中工学院电子学教研室、电子技术基础(第三版)[M】.北京:高等教育出版社,1999

[20]胡爱明,周孝宽.车牌图像的快速匹配识别方法.计算机工程与应用,2003(07)

[18] Aurélio Campilho.Image analysis and recognition[C].湖南文艺出版社,2006(12)

[19] J. P. Lewis.Fast Template Matching[C].Industrial Light & Magic P.O. Box 2459 San Rafael CA 94912 U.S.A.1995

[20] Koji YAMAGUCHI,Yasushi NAGAYA,Koji UEDA,Hiroyuki NEMOTO, Makoto NAKAGAWA,A Method for Identifying Specific Vehicles Using Template Matching.Tokyo Metropolitan Police Department,2003

Halcon中模板匹配方法的总结归纳

Halcon中模板匹配方法的总结归纳 基于组件的模板匹配: 应用场合:组件匹配是形状匹配的扩展,但不支持大小缩放匹配,一般用于多个对象(工件)定位的场合。 算法步骤: 1.获取组件模型里的初始控件gen_initial_components() 参数: ModelImage [Input] 初始组件的图片 InitialComponents [Output] 初始组件的轮廓区域 ContrastLow [Input] 对比度下限 ContrastHigh [Input] 对比度上限 MinSize [Input] 初始组件的最小尺寸 Mode[Input] 自动分段的类型 GenericName [Input] 可选控制参数的名称 GenericValue [Input] 可选控制参数的值 2.根据图像模型,初始组件,训练图片来训练组件和组件相互关系train_model_components() 3.创建组件模型create_trained_component_model() 4.寻找组件模型find_component_model() 5.释放组件模型clear_component_model() 基于形状的模板匹配: 应用场合:定位对象内部的灰度值可以有变化,但对象轮廓一定要清晰平滑。 1.创建形状模型:create_shape_model() 2.寻找形状模型:find_shpae_model() 3.释放形状模型:clear_shape_model() 基于灰度的模板匹配: 应用场合:定位对象内部的灰度值没有大的变化,没有缺失部分,没有干扰图像和噪声的场合。 1.创建模板:create_template() 2.寻找模板:best_match() 3.释放模板:clear_template() 基于互相关匹配: 应用场合:搜索对象有轻微的变形,大量的纹理,图像模糊等场合,速度快,精度低。 1.创建模板:create_ncc_model() 2.寻找模板:find_ncc_model() 3.释放模板:clear_ncc_model() 基于变形匹配: 应用场合:搜索对象有轻微的变形。 1.创建模板:create_local_deformable_model() 2.寻找模板:find_local_deformable_model() 3.释放模板:clear_deformable_model()

基于模板匹配算法的数字识别讲解

中南民族大学 毕业论文(设计) 学院: 计算机科学学院 专业: 软件工程年级:2009 题目: 基于模板匹配算法的数字识别学生姓名: 李成学号:09065093指导教师姓名: 李波职称: 讲师 2013年5月

中南民族大学本科毕业论文(设计)原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。 作者签名:2013年月日

摘要 (1) Abstract (1) 1 绪论 (2) 1.1 研究目的和意义 (2) 1.2 国内外研究现状 (2) 2 本文基本理论介绍 (3) 2.1 位图格式介绍 (3) 2.2 二值化 (3) 2.3 去噪 (3) 2.4 细化 (4) 2.5 提取骨架 (4) 3 图像的预处理 (5) 3.1 位图读取 (5) 3.2 二值化及去噪声 (5) 3.3 提取骨架 (6) 4 基于模板匹配的字符识别 (8) 4.1 样本训练 (8) 4.2 特征提取 (8) 4.3 模板匹配 (9) 4.4 加权特征模板匹配 (10) 4.5 实验流程与结果 (10) 5 结论 (16) 5.1 小结 (16) 5.2 不足 (16) 6 参考文献 (17)

基于模板匹配算法的数字识别 摘要 数字识别已经广泛的应用到日常生活中,典型的数字自动识别系统由图像采集、预处理、二值化、字符定位、字符分割和字符识别等几部分组成, 这些过程存在着紧密的联系。传统的模板匹配算法因为图像在预处理之后可能仍然存在较大的干扰,数字笔画粗细不均匀,有较大的噪声,识别效率不高。本文采的主要思想就是对字符进行分类,之后对字符进行细化,提取细化后字符的特征矢量,与模板的特征矢量进行加权匹配,误差最小的作为识别结果。本文在模板匹配法的基础上, 采用了特征值加权模板匹配法, 并且改进了匹配系数的求法。应用该法取得了满意的效果, 提高了识别率。 关键词:模板匹配;数字识别;特征值加权;字符识别; Template matching algorithm-based digital identification Abstract Digital identification has been widely applied to daily life, the typical digital automatic identification system by the image acquisition, pre-processing, binarization, character positioning, character segmentation and character recognition several parts, there is a close link these processes. Traditional template matching algorithm because the image may still exist after pre-greater interference, digital strokes uneven thickness, the noise, the identification efficiency is not high. Adopted herein main idea is to classify the character after character refinement, the characters feature vector extraction refinement, and the template feature vector is weighted matching, the minimum error as a recognition result. Template matching method based on feature weighted template matching method, and improve the matching coefficient method. The application of the method to obtain satisfactory results, to improve the recognition rate. Key words:Template matching; digital identification; characteristic value weighted; character recognition;

模板匹配MATLAB实现及算法优化

模板匹配MATLAB实现及算法优化

一、引言 现代社会已进入信息时代,随着计算机技术、通信技术和数学的发展,图像信息处理能力和水平也不断提高,相应的也得到和更多关注、研究和更加广泛的应用。图像匹配是图像处理的一项关键技术,可广泛用于目标识别与跟踪、立体视觉、变化检测、车场车牌识别、人脸识别、机器人导航、测绘、等领域,已成为一门新兴的分支学科。由于拍摄时间、拍摄角度、自然环境的变化、多种传感器的使用和传感器本身的缺陷,使拍摄的图像不仅受噪声的影响,而且存在严重的灰度失真和几何畸变。在这种条件下,如何有效地进行图像匹配一直是人们研究的热点和难点。 要研究模板匹配,首先必须明确模板匹配的定义:模板匹配是指通过一定的匹配算法在两幅或多幅图像之间识别同名点,如二维图像匹配中通过比较目标区和搜索区中相同大小的窗口的相关系数,取搜索区中相关系数最大所对应的窗口中心点作为同名点。其实质是在基元相似性的条件下,运用匹配准则的最佳搜索问题。简单的讲就是,要判读一幅大图像中是否存在某种已知的图案,则以一幅与该图案有着相同尺寸和方向的小图像为模板,通过一定的算法可以在图中找到目标,确定其坐标位置。 那么如何实现模板与原图像的匹配呢?下面将结合一个具体例子说明模板匹配的实现过程。 二、问题描述及解决方法 1.问题描述 现有模板如下图: 原图如下图: 问题:如何在原图中找到模板所处的位置,并把该位置标记出来。 2.解决方法

首先必须建立判断模板与原图相应位置相似程度的准则。对于彩色图像,是基于图像的特征匹配;而灰度图像,则是基于相关函数。本实验的处理对象主要是灰度图片。 相关函数又分成两类: (1) 差值测度。计算公式如下: max |(,)(,)|f x y g x y ε=- |(,)(,)|D f x y g x y dxdy ε=-?? 22[(,)(,)]D f x y g x y dxdy ε=-?? (2) 相关测度。计算公式如下: 1222(,)(,)(,)[(,)(,)]D D D f x y g x y dxdy p x y f x y dxdy g x y dxdy = ??????? 显然,上式中的p(x,y)取值范围是0到1。越接近于0,表示两图像相差越大;越接近于1,表示两图像越相似。 有了描述相似程度的数学模型,接下来就可以用MATLAB 编程实现模板匹配,从而解决上述问题了。 三、 MATLAB 实现 要实现这个程序,必须有三个重要组成部分: 1. 模板循环 功能:实现模板扫过原图的每一个像素点。 语句: for i=1:M-m for j=1:N-n end end 描述:以模板左上角第一个点为标志点,使其依次从左到右、从上到下扫过原图每一个像素点。 2. 相似性判断 功能:在每一次循环时,计算模板与覆盖的原图区域的相似程度,并判断两图像是否相似。 语句: temp=imcrop(im,[j,i,n-1,m-1]);

基于HALCON的模板匹配方法总结.

基于HALCON的模板匹配方法总结 基于HALCON的模板匹配方法总结 HDevelop开发环境中提供的匹配的方法主要有三种,即Component-Based、Gray-Value-Based、Shape-Based,分别是基于组件(或成分、元素)的匹配,基于灰度值的匹配和基于形状的匹配。这三种匹配的方法各具特点,分别适用于不同的图像特征,但都有创建模板和寻找模板的相同过程。这三种方法里面,我主要就第三种-基于形状的匹配,做了许多的实验,因此也做了基于形状匹配的物体识别,基于形状匹配的视频对象分割和基于形状匹配的视频对象跟踪这些研究,从中取得较好的效果。在VC下往往针对不同的图像格式,就会弄的很头疼,更不用说编写图像特征提取、模板建立和搜寻模板的代码呢,我想其中间过程会很复杂,效果也不一定会显著。下面我就具体地谈谈基于HALCON的形状匹配算法的研究和心得总结。 1. Shape-Based matching的基本流程 HALCON提供的基于形状匹配的算法主要是针对感兴趣的小区域来建立模板,对整个图像建立模板也可以,但这样除非是对象在整个图像中所占比例很大,比如像视频会议中人体上半身这样的图像,我在后面的视频对象跟踪实验中就是针对整个图像的,这往往也是要牺牲匹配速度的,这个后面再讲。基本流程是这样的,如下所示: ⑴ 首先确定出ROI的矩形区域,这里只需要确定矩形的左上点和右下点的坐标即可,gen_rectangle1()这个函数就会帮助你生成一个矩形,利用 area_center()找到这个矩形的中心;

⑵ 然后需要从图像中获取这个矩形区域的图像,reduce_domain()会得到这个ROI;这之后就可以对这个矩形建立模板,而在建立模板之前,可以先对这个区域进行一些处理,方便以后的建模,比如阈值分割,数学形态学的一些处理等等; ⑶ 接下来就可以利用create_shape_model()来创建模板了,这个函数有许多参数,其中金字塔的级数由Numlevels指定,值越大则找到物体的时间越少,AngleStart和AngleExtent决定可能的旋转范围,AngleStep指定角度范围搜索的步长;这里需要提醒的是,在任何情况下,模板应适合主内存,搜索时间会缩短。对特别大的模板,用Optimization来减少模板点的数量是很有用的;MinConstrast将模板从图像的噪声中分离出来,如果灰度值的波动范围是10,则MinConstrast应当设为10;Metric参数决定模板识别的条件,如果设为’use_polarity’,则图像中的物体和模板必须有相同的对比度;创建好模板后,这时还需要监视模板,用inspect_shape_model()来完成,它检查参数的适用性,还能帮助找到合适的参数;另外,还需要获得这个模板的轮廓,用于后面的匹配,get_shape_model_contours()则会很容易的帮我们找到模板的轮廓; ⑷ 创建好模板后,就可以打开另一幅图像,来进行模板匹配了。这个过程也就是在新图像中寻找与模板匹配的图像部分,这部分的工作就由函数 find_shape_model()来承担了,它也拥有许多的参数,这些参数都影响着寻找模板的速度和精度。这个的功能就是在一幅图中找出最佳匹配的模板,返回一个模板实例的长、宽和旋转角度。其中参数SubPixel决定是否精确到亚像素级,设为’interpolation’,则会精确到,这个模式不会占用太多时间,若需要更精确,则可设为’least_square’,’lease_square_high’,但这样会增加额外的时间,因此,这需要在时间和精度上作个折中,需要和实际联系起来。比较重要的两个参数是MinSocre和Greediness,前一个用来分析模板的旋转对称和它们之间的相似度,值越大,则越相似,后一个是搜索贪婪度,这个值在很大程度上影响着搜索速度,若为0,则为启发式搜索,很耗时,若为1,则为不安全搜索,但最快。在大多数情况下,在能够匹配的情况下,尽可能的增大其值。 ⑸ 找到之后,还需要对其进行转化,使之能够显示,这两个函数 vector_angle_to_rigid()和affine_trans_contour_xld()在这里就起这个作用。前一个是从一个点和角度计算一个刚体仿射变换,这个函数从匹配函数的

图像处理技术--模板匹配

图像处理技术——模板匹配算法 左力2002.3. 认知是一个把未知与已知联系起来的过程。对一个复杂的视觉系统来说,它的内部常同时存在着多种输入和其它知识共存的表达形式。感知是把视觉输入与事前已有表达结合的过程,而识别也需要建立或发现各种内部表达式之间的联系。 匹配就是建立这些联系的技术和过程。建立联系的目的是为了用已知解释未知。 章毓晋《图像工程下册》P.163 一.模板匹配的基本概念 模板就是一幅已知的小图像。模板匹配就是在一幅大图像中搜寻目标,已知该图中有要找的目标,且该目标同模板有相同的尺寸、方向和图像,通过一定的算法可以在图中找到目标,确定其坐标位置。 以8位图像(其1个像素由1个字节描述)为例,模板T( m ? n个像素)叠放在被搜索图S( W ? H个像素)上平移,模板覆盖被搜索图的那块区域叫子图Sij。i,j为子图左上角在被搜索图S上的坐标。搜索范围是: 1 ≤ i ≤ W – M 1 ≤ j ≤ H – N 通过比较T和Sij的相似性,完成模板匹配过程。 注意:图像的数据是从下到上、从左到右排列的。 可以用下式衡量T和Sij相似性: ∑∑ = =- = N n ij M m n m T n m S j i D 12 1 )] , ( ) , ( [ ) ,(被搜索图 S 模板 T m i {

∑∑ ∑∑ ∑∑ ======+?-=N n M m N n ij M m N n ij M m n m T n m T n m S n m S 1 2 1 1 1 1 2 1 )] ,([),(),(2)],([ 上式的第一项为子图的能量,第三项为模板的能量,都与模板匹配无关。第二项是模板和子图的互相关,随( i, j )而改变。当模板和子图匹配时,该项有极大值。将其归一化,得模板匹配的相关系数: ∑∑∑∑∑∑======?= N n M m N n ij M m N n ij M m n m T n m S n m T n m S j i R 1 2 1 1 2 1 1 1 )] ,([)],([) ,(),(),( 当模板和子图完全一样时,相关系数R( i, j ) = 1。在被搜索图S 中完成全部搜索后,找出R 的最大值Rmax( im, jm ),其对应的子图Simjm 即为匹配目标。显然,用这种公式做图像匹配计算量大、速度较慢。 另一种算法是衡量T 和Sij 的误差,其公式为: ∑∑ ==-=N n ij M m n m T n m S j i E 1 1 |),(),(|),( E( i, j )为最小值处即为匹配目标。为提高计算速度,取一个误差阈值E 0,当E( i, j )> E 0时就停止该点的计算,继续下一点计算。 试验结果如下: 注:以上试验是在赛扬600 PC 机上用VC6.0进行的。 结果表明:被搜索图越大,匹配速度越慢;模板越小,匹配速度越快。误差法速度较快,阈值的大小对匹配速度影响大,和模板的尺寸有关。 二.改进模板匹配算法 我在误差算法的基础上设计了二次匹配误差算法: 第一次匹配是粗略匹配。取模板的隔行隔列数据,即四分之一的模板数据,在被搜索图上进行隔行隔列扫描匹配,即在原图的四分之一范围内匹配。由于数据量大幅度减少,匹配速度显著提高。 为了合理的给出一个误差阈值E0,我设计了一个确定误差阈值E0的准则: E 0 = e 0 * (m+1)/2 * (n+1)/2

基于HALCON的模板匹配方法总结--蓝云杨的机器视觉之路

基于HALCON的模板匹配方法总结--蓝云杨的机器视觉之路 蓝云杨的机器视觉之路https://www.wendangku.net/doc/1a1744659.html,/blog/user1/8/index.html 首页相册 标签机器视觉(64)图像处理(11)视频压缩(12)小波分析(5)三峡(3)生活随笔(32)HALCON(7)编程感悟(18)哲思慧语(32) 基于HALCON的模板匹配方法总结 2006-8-16 16:34:00 4 推荐很早就想总结一下前段时间学习HALCON的心得,但由于其他的事情总是抽不出时间。去年有过一段时间的集中学习,做了许多的练习和实验,并对基于HDevelop 的形状匹配算法的参数优化进行了研究,写了一篇《基于HDevelop的形状匹配算法参数的优化研究》文章,总结了在形状匹配过程中哪些参数影响到模板的搜索和匹配,又如何来协调这些参数来加快匹配过程,提高匹配的精度,这篇paper放到了中国论文在线了,需要可以去下载。 德国MVTec公司开发的HALCON机器视觉开发软件,提供了许多的功能,在这里我主要学习和研究了其中的形状匹配的算法和流程。HDevelop开发环境中提供的匹配的方法主要有三种,即Component-Based、Gray-Value-Based、Shape-Based,分别是基于组件(或成分、元素)的匹配,基于灰度值的匹配和基于形状的匹配。这三种匹配的方法各具特点,分别适用于不同的图像特征,但都有创建模板和寻找模板的相同过程。这三种方法里面,我主要就第三种-基于形状的匹配,做了许多的实验,因此也做了基于形状匹配的物体识别,基于形状匹配的视频对象分割和基于形状匹配的视频对象跟踪这些研究,从中取得较好的效果,简化了用其他工具,比如VC++来开发的过程。在VC下往往针对不同的图像格式,就会弄的很头疼,更不用说编写图像特征提取、模板建立和搜寻模板的代码呢,我想其中间过程会很复杂,效果也不一定会显著。下面我就具体地谈谈基于HALCON的形状匹配算法的研究和心得总结。 1. Shape-Based matching的基本流程 HALCON提供的基于形状匹配的算法主要是针对感兴趣的小区域来建立模板,对整个图像建立模板也可以,但这样除非是对象在整个图像中所占比例很大,比如像视频会议中人体上半身这样的图像,我在后面的视频对象跟踪实验中就是针对整个图像的,这往往也是要牺牲匹配速度的,这个后面再讲。基本流程是这样的,如下所示: ⑴ 首先确定出ROI的矩形区域,这里只需要确定矩形的左上点和右下点的坐标即可,gen_rectangle1()这个函数就会帮助你生成一个矩形,利用area_center()找到这个矩形的中心; ⑵ 然后需要从图像中获取这个矩形区域的图像,reduce_domain()会得到这个ROI;这之后就可以对这个矩形建立模板,而在建立模板之前,可以先对这个区域进行一些处理,方便以后的建模,比如阈值分割,数学形态学的一些处理等等; ⑶ 接下来就可以利用create_shape_model()来创建模板了,这个函数有许多参数,其中金字塔的级数由Numlevels指定,值越大则找到物体的时间越少,AngleStart 和AngleExtent决定可能的旋转范围,AngleStep指定角度范围搜索的步长;这里需要提醒的是,在任何情况下,模板应适合主内存,搜索时间会缩短。对特别大的模板,用Optimization

模板匹配

halcon模板匹配 * 在一个图片中获取ROI并在此图片中匹配 dev_close_window () dev_open_window (0, 0, 600, 600, 'black', WindowHandle) * 窗口语句 read_image(Image,'L:/Halcon test/mk2.jpg') *read_image(Image,'L:/Halcon test/mk3.jpg') *read_image(Image,'L:/Halcon test/mk4.jpg') * 这里有4张图片,每一张都说明一个小问题,附图分析。 gen_rectangle1 (ROI1, 57.8333, 49.5, 181.167, 342.833) * 画一个矩形选择ROI,矩形在左上角,覆盖一个完整的,无变形规定尺寸的商标,作为模板。 reduce_domain(Image,ROI1,ImageReduced1) * 大图和这个矩形的ROI相减就会得到一个左上角的商标的图案作为模板,命名ImageReduced。 create_shape_model(ImageReduced1,0,0,rad(360),0,'no_pregeneration','use_polarity',40,10,ModelID1) * 创建一个比例不变(1:1)的匹配的轮廓模型。具体参数下个帖子说明,也可见[Halcon算子学习交流区] Halcon模版匹配算子解析。 find_shape_model(Image,ModelID1,0,rad(360),0.7,13,0.5,'interpolation',0,0.9,Row,Column,Angle,Score) * 寻找与模板的大小尺寸必须是一比一匹配的,只是角度的不同而已,若大小发生变化,则不能匹配 get_shape_model_contours(ModelContours1,ModelID1,1) * 在大图中获取匹配。 for i := 0 to |Row|-1 by 1 vector_angle_to_rigid(0,0,0,Row【i】,Column【i】,Angle【i】,HomMat2D) affine_trans_contour_xld(ModelContours2,ContoursAffinTrans,HomMat2D) endfor * 获取匹配。 disp_message (WindowHandle, '总共匹配了' + |Row| + '个商标', 'window', 12, 12, 'red', 'true') * 输出数量统计。 clear_shape_model(ModelID1) stop()

模板匹配

图像模式识别中模板匹配的基本概念以及基本算法 认知是一个把未知与已知联系起来的过程。对一个复杂的视觉系统来说,他的内部常同时存在着多种输入和其他知识共存的表达形式。感知是把视觉输入与事先已有表达结合的过程,而识别与需要建立或发现各种内部表达式之间的联系。匹配就是建立这些联系的技术和过程。建立联系的目的是为了用已知解释未知。(摘自章毓晋《图像工程》) 1、模板匹配法: 在机器识别事物的过程中,常常需要把不同传感器或同一传感器在不同时间、不同成像条件下对同一景象获取的两幅或多幅图像在空间上对准,或根据已知模式到另一幅图像中寻找相应的模式,这就叫匹配。在遥感图像处理中需要把不同波段传感器对同一景物的多光谱图像按照像点对应套准,然后根据像点的性质进行分类。如果利用在不同时间对同一地面拍摄的两幅照片,经套准后找到其中特征有了变化的像点,就可以用来分析图中那些部分发生了变化;而利用放在一定间距处的两只传感器对同一物体拍摄得到两幅图片,找出对应点后可计算出物体离开摄像机的距离,即深度信息。 一般的图像匹配技术是利用已知的模板利用某种算法对识别图像进行匹配计算获得图像中是否含有该模板的信息和坐标; 2、基本算法: 我们采用以下的算式来衡量模板T(m,n)与所覆盖的子图Sij(i,j)的关系,已知原始图像S(W,H),如图所示: 利用以下公式衡量它们的相似性: 上述公式中第一项为子图的能量,第三项为模板的能量,都和模板匹配无关。第二项是模板和子图的互为相关,随(i,j)而改变。当模板和子图匹配时,该项由

最大值。在将其归一化后,得到模板匹配的相关系数: 当模板和子图完全一样时,相关系数R(i,j) = 1。在被搜索图S中完成全部搜索后,找出R的最大值Rmax(im,jm),其对应的子图Simjm即位匹配目标。显然,用这种公式做图像匹配计算量大、速度慢。我们可以使用另外一种算法来衡量T和Sij的误差,其公式为: 计算两个图像的向量误差,可以增加计算速度,根据不同的匹配方向选取一个误差阀值E0,当E(i,j)>E0时就停止该点的计算,继续下一点的计算。 最终的实验证明,被搜索的图像越大,匹配的速度越慢;模板越小,匹配的速度越快;阀值的大小对匹配速度影响大; 3、改进的模板匹配算法 将一次的模板匹配过程更改为两次匹配; 第一次匹配为粗略匹配。取模板的隔行隔列数据,即1/4的模板数据,在被搜索土上进行隔行隔列匹配,即在原图的1/4范围内匹配。由于数据量大幅减少,匹配速度显著提高。同时需要设计一个合理的误差阀值E0: E0 = e0 * (m + 1) / 2 * (n + 1) / 2 式中:e0为各点平均的最大误差,一般取40~50即可; m,n为模板的长宽; 第二次匹配是精确匹配。在第一次误差最小点(imin, jmin)的邻域内,即在对角点为(imin -1, jmin -1), (Imin + 1, jmin + 1)的矩形内,进行搜索匹配,得到最后结果。

基於HALCON的模板匹配方法总结

基於HALCON的模板匹配方法總結 基於HALCON的模板匹配方法總結 很早就想總結一下前段時間學習HALCON的心得,但由於其他的事情總是抽不出時間。去年有過一段時間的集中學習,做了許多的練習和實驗,並對基於HDevelop的形狀匹配算法的參數優化進行了研究,寫了一篇《基於HDevelop的形狀匹配算法參數的優化研究》文章,總結了在形狀匹配過程中哪些參數影響到模板的搜索和匹配,又如何來協調這些參數來加快匹配過程,提高匹配的精度,這篇paper放到了中國論文在線了,需要可以去下載。 德國MVTec公司開發的HALCON機器視覺開發軟件,提供了許多的功能,在這裡我主要學習和研究了其中的形狀匹配的算法和流程。HDevelop開發環境中提供的匹配的方法主要有三種,即Component-Based、Gray-Value-Based、Shape-Based,分別是基於組件(或成分、元素)的匹配,基於灰度值的匹配和基於形狀的匹配。這三種匹配的方法各具特點,分別適用於不同的圖像特征,但都有創建模板和尋找模板的相同過程。這三種方法裡面,我主要就第三種-基於形狀的匹配,做了許多的實驗,因此也做了基於形狀匹配的物體識別,基於形狀匹配的視頻對象分割和基於形狀匹配的視頻對象跟蹤這些研究,從中取得較好的效果,簡化了用其他工具,比如VC++來開發的過程。在VC下往往針對不同的圖像格式,就會弄的很頭疼,更不用說編寫圖像特征提取、模板建立和搜尋模板的代碼呢,我想其中間過程會很復雜,效果也不一定會顯著。下面我就具體地談談基於HALCON的形狀匹配算法的研究和心得總結。 1. Shape-Based matching的基本流程 HALCON提供的基於形狀匹配的算法主要是針對感興趣的小區域來建立模板,對整個圖像建立模板也可以,但這樣除非是對象在整個圖像中所佔比例很大,比如像視頻會議中人體上半身這樣的圖像,我在後面的視頻對象跟蹤實驗中就是針對整個圖像的,這往往也是要犧牲匹配速度的,這個後面再講。基本流程是這樣的,如下所示: ⑴首先確定出ROI的矩形區域,這裡只需要確定矩形的左上點和右下點的坐標即可, gen_rectangle1()這個函數就會幫助你生成一個矩形,利用area_center()找到這個矩形的中心; ⑵然後需要從圖像中獲取這個矩形區域的圖像,reduce_domain()會得到這個ROI;這之後就可以對這個矩形建立模板,而在建立模板之前,可以先對這個區域進行一些處理,方便以後的建模,比如閾值分割,數學形態學的一些處理等等; ⑶接下來就可以利用create_shape_model()來創建模板了,這個函數有許多參數,其中金字塔的級數由Numlevels指定,值越大則找到物體的時間越少,AngleStart和AngleExtent 決定可能的旋轉范圍,AngleStep指定角度范圍搜索的步長;這裡需要提醒的是,在任何情

模板匹配详解

模板匹配? 目标? 在这节教程中您将学到: ?使用OpenCV函数matchTemplate在模 板块和输入图像之间寻找匹配,获得匹配结 果图像 ?使用OpenCV函数minMaxLoc在给定的 矩阵中寻找最大和最小值(包括它们的位 置). 原理? 什么是模板匹配?? 模板匹配是一项在一幅图像中寻找与另一幅模板图像最匹配(相似)部分的技术. ?我们需要2幅图像: 1. 原图像(I):在这幅图像里,我们希望 找到一块和模板匹配的区域 2. 模板(T):将和原图像比照的图像 块 我们的目标是检测最匹配的区域:

?为了确定匹配区域, 我们不得不滑动模板图像和原图像进行比较: ?通过滑动, 我们的意思是图像块一次移动一个像素(从左往右,从上往下). 在每一个位置, 都进行一次度量计算来表明它是“好” 或“坏” 地与那个位置匹配(或者说块图像和原图像的特定区域有多么相似). ?对于T覆盖在I上的每个位置,你把度量值保存到结果图像矩阵(R)中. 在R 中的每个位置都包含匹配度量值:

上图就是TM_CCORR_NORMED方法 处理后的结果图像R . 最白的位置代表最 高的匹配. 正如您所见, 红色椭圆框住的位 置很可能是结果图像矩阵中的最大数值, 所以这个区域(以这个点为顶点,长宽和模 板图像一样大小的矩阵) 被认为是匹配的. 实际上, 我们使用函数minMaxLoc来定 位在矩阵R中的最大值点(或者最小值, 根据函数输入的匹配参数) . 问得好. OpenCV通过函数matchTemplate实现了模板匹配算法. 可用的方法有6个: 1. 平方差匹配method=CV_TM_SQDIFF 这类方法利用平方差来进行匹配,最好匹配为0.匹配越差,匹配值越大. b. 标准平方差匹配 method=CV_TM_SQDIFF_NORMED

模板匹配,ncc

竭诚为您提供优质文档/双击可除 模板匹配,ncc 篇一:ncc计算公式 ncc是基于相似度度量的匹配算法,因为对线性光照不敏感,在目标识别和工业检测领域得到了广泛的应用。传统的ncc算法计算公式如下: {[i(x+i,y+j)-i(x,y)][t(i,j)-t]} mnncc(x,y)=其中i为目标图像;t为模板图像,模板大小为m*n 篇二:基于halcon的模板匹配方法总结 基于halcon的模板匹配方法总结 分类:halcon学习20xx-06-2616:0247人阅读评论(0)收藏举报 德国mVtec公司开发的halcon机器视觉开发软件,提供了许多的功能,在这里我主要学习和研究了其中的形状匹配的算法和流程。hdevelop开发环境中提供的匹配的方法主要有三种,即component-based、gray-Value-based、shape-based,分别是基于组件(或成分、元素)的匹配,基于灰度值的匹配和基于形状的匹配。这三种匹配的方法各具

特点,分别适用于不同的图像特征,但都有创建模板和寻找模板的相同过程。这三种方法里面,我主要就第三种-基于形状的匹配,做了许多的实验,因此也做了基于形状匹配的物体识别,基于形状匹配的视频对象分割和基于形状匹配的视频对象跟踪这些研究,从中取得较好的效果,简化了用其他工具,比如Vc++来开发的过程。在Vc下往往针对不同的图像格式,就会弄的很头疼,更不用说编写图像特征提取、模板建立和搜寻模板的代码呢,我想其中间过程会很复杂,效果也不一定会显著。下面我就具体地谈谈基于halcon的形状匹配算法的研究和心得总结。 1.shape-basedmatching的基本流程 halcon提供的基于形状匹配的算法主要是针对感兴趣 的小区域来建立模板,对整个图像建立模板也可以,但这样除非是对象在整个图像中所占比例很大,比如像视频会议中人体上半身这样的图像,我在后面的视频对象跟踪实验中就是针对整个图像的,这往往也是要牺牲匹配速度的,这个后面再讲。基本流程是这样的,如下所示: ⑴首先确定出Roi的矩形区域,这里只需要确定矩形的左上点和右下点的坐标即可,gen_rectangle1()这个函数就会帮助你生成一个矩形,利用area_center()找到这个矩形的中心;⑵然后需要从图像中获取这个矩形区域的图像,reduce_domain()会得到这个Roi;这之后就可以对这个矩形

HALCON形状匹配总结

HALCON形状匹配总结 Halcon有三种模板匹配方法:即Component-Based、Gray-Value-Based、Shaped_based,分别是基于组件(或成分、元素)的匹配,基于灰度值的匹配和基于形状的匹配, 此外还有变形匹配和三维模型匹配也是分属于前面的大类 本文只对形状匹配做简要说明和补充: Shape_Based匹配方法: 上图介绍的是形状匹配做法的一般流程及模板制作的两种 方法。 先要补充点知识:形状匹配常见的有四种情况一般形状匹配模板shape_model、线性变形匹配模板 planar_deformable_model、局部可变形模板 local_deformable_model、和比例缩放模板Scale_model 第一种是不支持投影变形的模板匹配,但是速度是最高的, 第二种和第四种是支持投影变形的匹配,第三种则是支持局 部变形的匹配。 一般形状匹配模板是最常用的,模板的形状和大小一经制作 完毕便不再改变,在查找模板的过程中,只会改变模板的方 向和位置等来匹配目标图像中的图像。这个方法查找速度很 快,但是当目标图像中与模板对应的图像存在比例放大缩小

或是投影变形如倾斜等,均会影响查找结果。涉及到的算子 通常为create_shape_model 和find_shape_model 线性变形匹配模板planar_deformable_model是指模板在行列方向上可以进行适当的缩放。行列方向上可以分别独立的 进行一个适当的缩放变形来匹配。主要参数有行列方向查找 缩放比例、图像金字塔、行列方向匹配分数(指可接受的匹 配分数,大于这个值就接受,小于它就舍弃)、设置超找的角度、已经超找结果后得到的位置和匹配分数 线性变形匹配又分为两种:带标定的可变形模板匹配和不带 标定的可变形模板匹配。涉及到的算子有: 不带标定的模板:创建和查找模板算子 create_planar_uncalib_deformable_model和 find_planar_uncalib_deformable_model 带标定模板的匹配:先读入摄像机内参和外参 read_cam_par 和read_pose 创建和查找模板算子create_planar_calib_deformable_model和 find_planar_calib_deformable_model 局部变形模板是指在一张图上查找模板的时候,可以改变 模板的尺寸,来查找图像上具有局部变形的模板。例如包装 纸袋上图案查找。参数和线性变形额差不多 算子如下:create_local_deformable_model和 find_local_deformable_model

模板匹配算法

1、模板匹配法: 在机器识别事物的过程中,常常需要把不同传感器或同一传感器在不同时间、不同成像条件下对同一景象获取的两幅或多幅图像在空间上对准,或根据已知模式到另一幅图像中寻找相应的模式,这就叫匹配。在遥感图像处理中需要把不同波段传感器对同一景物的多光谱图像按照像点对应套准,然后根据像点的性质进行分类。如果利用在不同时间对同一地面拍摄的两幅照片,经套准后找到其中特征有了变化的像点,就可以用来分析图中那些部分发生了变化;而利用放在一定间距处的两只传感器对同一物体拍摄得到两幅图片,找出对应点后可计算出物体离开摄像机的距离,即深度信息。 一般的图像匹配技术是利用已知的模板利用某种算法对识别图像进行匹配计算获得图像中是否含有该模板的信息和坐标; 2、基本算法: 我们采用以下的算式来衡量模板T(m,n)与所覆盖的子图Sij(i,j)的关系,已知原始图像S(W,H),如图所示: 利用以下公式衡量它们的相似性: 上述公式中第一项为子图的能量,第三项为模板的能量,都和模板匹配无关。第二项是模板和子图的互为相关,随(i,j)而改变。当模板和子图匹配时,该项由最大值。在将其归一化后,得到模板匹配的相关系数: 当模板和子图完全一样时,相关系数R(i,j) = 1。在被搜索图S中完成全部搜索后,找出R的最大值Rmax(im,jm),其对应的子图Simjm即位匹配目标。显然,用这种公式做图像匹配计算量大、速度慢。我们可以使用另外一种算法来衡量T和Sij的误差,其公式为:

计算两个图像的向量误差,可以增加计算速度,根据不同的匹配方向选取一个误差阀值E0,当E(i,j)>E0时就停止该点的计算,继续下一点的计算。 最终的实验证明,被搜索的图像越大,匹配的速度越慢;模板越小,匹配的速度越快;阀值的大小对匹配速度影响大; 3、改进的模板匹配算法 将一次的模板匹配过程更改为两次匹配; 第一次匹配为粗略匹配。取模板的隔行隔列数据,即1/4的模板数据,在被搜索土上进行隔行隔列匹配,即在原图的1/4范围内匹配。由于数据量大幅减少,匹配速度显著提高。同时需要设计一个合理的误差阀值E0: E0 = e0 * (m + 1) / 2 * (n + 1) / 2 式中:e0为各点平均的最大误差,一般取40~50即可; m,n为模板的长宽; 第二次匹配是精确匹配。在第一次误差最小点(imin, jmin)的邻域内,即在对角点为(imin -1, jmin -1), (Imin + 1, jmin + 1)的矩形内,进行搜索匹配,得到最后结果。

基于图像灰度的模板匹配方法

基于图像灰度的模板匹配方法 图像匹配技术是数字图像信息处理和计算机视觉领域中 的—个基本问题,并在卫星遥感、空间飞行器的自动导航、武器 投射系统的末制导和寻的、光学和雷达的图像目标跟踪、地球 资源分析与检测、气象预报、医疗诊断、文字读取以及景物分析 中的变化检测等许多领域中得到广泛应用㈣。 一般来说,由于图像在不同时间、不同传感器、不同视角获得的成像条件不同,因此即使是对同一物体,在图像中所表现出来的几何特性、光学特性、空间位置都会有很大的不同,如果考虑到噪声、干扰等影响会使图像发生很大差异, 图像匹配就是通过这些不同之处找到它们的相同点。 图像匹配算法主要分为两类口:一类是基于灰度匹配的方 法;另一类是基于特征匹配的方法。前者主要用空间的一维或 二维滑动模板进行图像匹配,不同算法的区别主要在模板及相 关准则的选择方面,这类方法一般匹配率高,但计算量大,速度 较慢;后者则通过在原始图像中提取点、线、区域等显著特征作 为匹配基元,进而用于特征匹配,一般匹配速度较陕,但匹配精 度不一定高。 1.概念解释: ①数字图像:数字图像是由被称做像素的小块区域组成的二维像素矩阵。一般把图像分成3种形式:单色图像,灰度图像和彩色图像。 ②像素:表示图像颜色的最小单位 ③灰度图像:灰度图是指只含亮度信息,不含色彩信息的图像,就像平时看到的黑白照片:亮度由暗到明,变化是连续的。灰度图的每个像素的亮度用一个数值来表示,通常数值范围在0—255之间,即可用一个字节来表示,0表示黑,255表示白,而其他表示灰度。 ④点阵图:显示器的屏幕由可以发光的像素点组成. 并且从几何位置看, 所用这 些像素点构成一个矩形的阵列.利用计算机控制各像素点按我们指定的要求发光,

几种图像的检测和模板匹配方法

几种图像的检测和模板匹配方法 图象的分割与检测(识别)实际上是一项非常困难的工作。很难说清楚为什么图象应该分割成这样而不是那样。人类的视觉系统是非常优越的,它不仅包含了双眼,还包括了大脑,可以从很复杂的景物中分开并识别每个物体,甚至可以毫不费力的跟上每秒好几十帧变化的图象。举两个例子来说明一下人类视觉系统的优越性: 图1是单词THE,这一点很容易看出来,但仔细观察一下,就会发现,图中少了很多线条。在我们人类看来很简单的一件事,让计算机来做就很困难了。 图2中尽管没有任何线条,但我们还是可以很容易的看出中间存在着一个白色三角形。计算机却很难发现。 由于人类在观察图象中应用了大量的知识,所以没有任何一台计算机在分割和检测真实图象时,能达到人类视觉系统的水平。正因为如此,对于大部分图象应用来说,自动分割与检测还是一个将来时,目前只有少数的几个领域(如印刷体识别OCR)自动识别达到了实用的水平。假想在一场足球比赛的录象中,我们希望可以输入命令,由计算机自动搜索出所有射门的镜头并显示在屏幕上,但目前,我们能从一幅图象中获得的信息只是每个像素的颜色或灰度值,除此以外别无其它,完成上述功能实在是太困难了。所以说解决图象分割和检测最根本的方法是在编码(成像)时就给予考虑。这也正是MPEG4及未来的视频压缩编码标准的主要工作。 针对上述困难,现在提出了三种算法:投影法,差影法和模板匹配。 1、投影法 怎样从华盛顿纪念碑图中自动检测到水平方向上纪念碑的位置。 仔细观察,不难发现,纪念碑上像素的灰度都差不多而且与众不同,如果我们选取合适的阈值,做削波处理(这里选175到220),将该图二值化,如下图所示: 图1. 削波处理,将图二值化图2. 图4做竖直方向投影

相关文档