一种固定比例图形的归类方法与流程

文档序号:18476155发布日期:2019-08-20 21:06阅读:317来源:国知局
一种固定比例图形的归类方法与流程
本发明属于图形归类
技术领域
,具体涉及一种固定比例图形的归类方法。
背景技术
:传统图形识别,主要有模板匹配法、神经网络法等。这些方法需要一个宽度、高度都固定的矩形输入模板,待识别的图形都要通过这个输入模板进入到识别模块去进行识别,要求待识别的图形与模板匹配,即宽度、高度都相等,旋转角度要很小。这些对图形获取设备与被拍摄的物体之间的距离、夹角、光照要求都较高,如果不能满足这些条件,识别率就会大大降低,很难工业化应用。例如,如图1所示,图1包含7个图形,编号从0到7,0号图形是11*23(宽*高)的输入模板,1号图形是与模板匹配的图形,2号图形是宽度不变高度变小的待识别图形,3号图形是高度不变宽度变小的图形,4、5号图形均是有污点的图形,6、7号图形是逆时针、顺时针旋转了的图形。在传统识别方法中,如果待识别图形在高度、宽度方向上不匹配模板0号图形,要通过缩放图形来匹配模板,如图1中的2、3号图形;可是对于有污点的图形,尽管宽度高度可以缩放到模板要求的宽度高度,如图1中的4、5号图形,但图形已经变形,模板匹配的识别准确率就会大大降低;对于旋转了的图形,如图1中的6、7号图形,也属于图形变形,模板匹配的识别准确率也会大大降低;理论上,神经网络法可以解决图1中5、6、7号图形的问题,但是需要大量的样本图形来训练复杂的神经网络,实际上是办不到的,因为需要的神经元太多了。技术实现要素:本发明提供一种固定比例图形的归类方法,抗图形中心偏移能力很强,抗噪声能力很强。为了解决上述技术问题,本发明采用如下技术方案:一种固定比例图形的归类方法,包括以下步骤:(1)固定比例图形是内部比例不变的图形,待归类的固定比例图形tt为平面二值图形,将图形tt用x列y行个行列点表示;用水平线段来表示通过x列y行个行列点所表示的图形tt中每一行的线段的开始坐标→结束坐标、线段数,进而得到纵线段表;用垂直线段来表示通过x列y行个行列点所表示的图形tt中每一列的线段的开始坐标→结束坐标、线段数,进而得到横线段表;(2)在步骤(1)的纵线段表中从上到下对具有相同线段数的相邻行进行合并成为纵块,纵块名用线段数表示,顺序从上到下,将纵块名用空格做间隔连接成一个字符串即纵块编码,并记录相应纵块名所对应的纵块的开始坐标→结束坐标以及所对应的纵块的块长,得到纵块表;在步骤(1)的横线段表中从左到右对具有相同线段数的相邻列进行合并成为横块,横块名用线段数表示,顺序从左到右,将横块名用空格做间隔连接成一个字符串即横块编码,并记录相应横块名所对应的横块的开始坐标→结束坐标以及所对应的横块的块长,得到横块表;将纵块编码与横块编码用+号连接成一个字符串即得到图形tt的图形编码;(3)对纵块与横块的块长度分别设定阈值,步骤(2)中小于阈值的块的编码被剔除,保留大于阈值的编码,然后在纵块、横块分别合并相同的相邻的编码,从而得到图形tt的最终的图形编码;(4)图形tt背景形成矩形区域,矩形区域宽width个像素,高height个像素,对图形tt背景的矩形区域做垂直方向上的m个平均分格,每一分格是纵向分区,顺序从上到下,纵向分区名称从1到m,纵向分区的分区高度为height/m个像素,对图形tt背景的矩形区域做水平方向上的n个平均分格,每一分格是横向分区,顺序从左到右,横向分区名称从1到n,横向分区的分区宽度为width/m个像素;(5)块是图形自带的特征,分区是人为对图形背景的划分,块、分区就是确定块在图形背景分区上的位置,对于固定比例的图形,块在分区中的位置与图形大小无关,与图形的宽度、高度无关;图形经过线段、块处理后,一定会得到一个图形编码,由于不考虑块在分区中的具体位置,一个图形编码会对应多个图形;定义好的、标准的、理想的、规范的、抽象的一个图形称为一个理想图形t,该理想图形在被图形捕获设备提取后,会是一个有噪音的、脏的实际待识别图形tt,该理想图形t被不同设备、不同环境提取后会有很多有不同噪音的、脏的不同的实际待识别图形tt,该理想图形t就是这些实际待识别图形tt的类,归类就是确定待识别图形tt是哪一个理想图形t;图形编码是不考虑块在分区中的位置,归类是得到图形编码后再根据块在分区中的位置进行归类,块+分区是归类的依据;一个识别系统有能识别的标准图形是个有限集合t,集合t有1到m个标准图形-类t;对每一个类t采集大量的实际图形tt,对每个采集到的图形tt分线段、分块、设定块长度阈值、编码,相同的编码保留一个用b表示,收集保留后的编码b,会得到一个编码集合b,集合b有1到n个编码;一个编码b会包含1到x个类t,是t的子集合zt,x小于m,对tt的归类只在x个t中,即缩小了归类范围;(6)根据步骤(3)中的图形编码,确定图形tt属于步骤(5)中集合t的哪个子集合zt;(7)根据图形tt的各个块在分区中的位置,归类图形tt是步骤(6)的子集合zt中哪一个标准图形-类t,如果能确定,置归类标志为归类值,到步骤(10),否则,进行下一步;(8)根据图形tt的各个块在分区中的位置,归类图形tt是步骤(6)的子集合zt中哪几个标准图形-类t,如果能确定,就在这几个类t中进行精确归类,8.1)如果能确定,返回值置归类标志为归类值,到步骤(10),8.2)否则,返回值置归类标志为失败值,到步骤(10),否则,进行下一步;(9)归类失败,置归类标志为失败值,到步骤(10);(10)归类完成,退出。进一步地,以左手坐标系为参考坐标系,对于具有固定比例图形,图形平面与x、z平面平行,中心点与坐标原点重合;图形绕x轴做小于90度的旋转,只改变图形的高度,图形宽度没变,图形编码不变;图形绕y轴做小于90度的旋转,只改变图形的宽度,图形高度没变,图形编码也不变;图形绕z轴旋转,根据图形的形状及旋转角度,图形编码会改变;块在分区中的位置是相对关系,与图形的宽度、高度无关;在实际归类时,各种原因会使图形中心相对坐标系中心产生偏移,偏移是像素级的,远远小于分区的长度,对图形块在分区的位置影响可忽略不记。相对于现有技术,本发明的有益效果为:本发明中,编码能极大缩小归类的范围,极大的提高归类速度,极大的提高归类准确率;本发明中,分块分区关心的是块在分区中的位置,图形变大、变小、变宽、变窄,块都按同等比例随之变大、变小、变宽、变窄,其相对位置是不变的,只要知道块在分区中的位置,就可以对图形归类,对于有污点变形的图形以及旋转了的图形可以当作新的图形,依然可以按块在分区中的位置来归类;本发明中,归类的根本作用在于,识别前就已经定性了图形,是否有污点、是否旋转了、图形肯定在一两个类之间,为精确识别奠定了坚实的基础;本发明的固定比例图形的归类方法,抗图形中心偏移能力很强,抗噪声能力很强,并且图形绕x、y轴旋转不影响归类,图形绕z轴旋转图形编码会改变,可以当作新图形,还可以用本发明的固定比例图形的归类方法进行归类。附图说明图1为本发明
背景技术
引用的附图;图2为本发明具体实施方式引用的第一个附图;图3为本发明具体实施方式引用的第二个附图;图4为本发明具体实施方式引用的第三个附图;图5为本发明具体实施方式引用的第四个附图。具体实施方式一、一种固定比例图形的归类方法,包括以下步骤:(1)固定比例图形是内部比例不变的图形,待归类的固定比例图形tt为平面二值图形,以图2的图形为例,将图形tt用x列y行个行列点表示;用水平线段来表示通过x列y行个行列点所表示的图形tt中每一行的线段的开始坐标→结束坐标、线段数,进而得到纵线段表,即得到表1;用垂直线段来表示通过x列y行个行列点所表示的图形tt中每一列的线段的开始坐标→结束坐标、线段数,进而得到横线段表,即得到表2;表1图2中图形的纵线段表y坐标线段的开始坐标→结束坐标(x)线段数03→8112→8121→18→8238→8146→7154→5162→3171→1180→0190→91表2图2中图形的横线段表x坐标线段的开始坐标→结束坐标(y)线段数08→9112→27→79→9321→16→69→9330→16→69→9340→15→59→9350→15→59→9360→14→49→9370→14→49→9380→39→9299→91水平线段表示的图形与行列点表示的图形等价,垂直线段表示的图形也与行列点表示的图形等价,这意味着,处理图形的基本元素不再是点,而是线段;(2)人眼在看图形时,既不是一个个点的看,也不是一条条线段的看,而是一块块图形的看,所以不考虑表1、表2当中的其它数据,只考虑线段数在水平和垂直方向上的分布规律:参照表1,从上到下对具有相同线段数的相邻行进行合并成为纵块,纵块名用线段数表示,顺序从上到下,将纵块名用空格做间隔连接成一个字符串即纵块编码,并记录相应纵块名所对应的纵块的开始坐标→结束坐标以及所对应的纵块的块长,得到纵块表,即得到表3;参照表2,从左到右对具有相同线段数的相邻列进行合并成为横块,横块名用线段数表示,顺序从左到右,将横块名用空格做间隔连接成一个字符串即横块编码,并记录相应横块名所对应的横块的开始坐标→结束坐标以及所对应的横块的块长,得到横块表,即得到表4;将纵块编码与横块编码用+号连接成一个字符串即得到图形tt的图形编码,即得到表5;表3图2中图形的纵块表表4图2中图形的横块表表5图2中图形的图形编码表图形编码=纵块编码+横块编码121+1321实际分块方法示意图如图3所示,图3中共上下两组图,每一组图有四个分图,从左向右分别为:原图、纵向横向分块示意图、纵向分块示意图与横向分块示意图,每组图下面的数字串是图形编码;分块补充说明:图3中所有图形都是放大四倍后的图形;实际拍照的图形与理想的图形即理论上的图形是有区别的,这样在实际处理时,同一理想图形的不同实际图形会有不同的分块编码;同理,同一分块编码通常包含有若干不同的理想图形的实际图形;编码描述块之间的顺序关系,编码123,表示线段数为1的块在线段数为2的块的前面、线段数为2的块在线段数为3的块的前面;编码321,表示线段数为3的块在线段数为2的块的前面,线段数为2的块在线段数为1的块的前面,对于纵块,前面指的是上面,对于横块,前面指的是左面;(3)对纵块与横块的块长度分别设定阈值,步骤(2)中小于阈值的块的编码被剔除,保留大于阈值的编码,然后在纵块、横块分别合并相同的相邻的编码,从而得到图形tt的最终的图形编码,剔除小于阈值的编码,是由于实际应用中,各种因素的影响,待识别的图形往往是不标准的、“脏”的图形,在图形的边缘有突出的“脏点”、凹进去的“缺点”,这些点会产生多余的线段数,也就产生多余的块即脏块,进而就产生多余的编码即脏码,这些多余的块、编码不是图形的特征而是噪音,必须被剔除;(4)如图2,把图形上的黑点换成白点,形成整幅白色矩形区域,即图形tt背景形成矩形区域,矩形区域宽width个像素,高height个像素,对图形tt背景的矩形区域做垂直方向上的m个平均分格,每一分格是纵向分区,顺序从上到下,纵向分区的分区高度为height/m个像素,其中m<height,对图形tt背景的矩形区域做水平方向上的n个平均分格,每一分格是横向分区,顺序从左到右,横向分区的分区宽度为width/n个像素,其中n<width;(5)块是图形自带的特征,分区是人为对图形背景的划分,块、分区就是确定块在图形背景分区上的位置,对于固定比例的图形,块在分区中的位置与图形大小无关,与图形的宽度、高度无关,用分区即线段粗略的而不是用像素即点精确地做度量位置的单位,是为了扩大度量单位,模糊精确度量单位,更方便地描述块在背景中的位置,从而更加接近人眼的识别效果;图形经过线段、块处理后,会得到一个图形编码,由于不考虑块在分区中的具体位置,一个编码也会对应多个图形;一个识别系统有能识别的标准图形是个有限集合t,集合t有1到m个标准图形-类t;对每一个类t采集大量的实际图形tt,对每个采集到的图形tt分线段、分块、设定块长度阈值、编码,相同的编码保留一个用b表示,收集保留后的编码b,会得到一个编码集合b,集合b有1到n个编码;一个编码b会包含1到x个类t,是t的子集合zt,由于x小于m,对tt的归类只在x个t中,即缩小了归类范围并减少了归类时间,提高了归类准确率;无论图形变大、变小、变宽、变窄、变高、变低,类t的块在其分区上相对位置是固定不变的,归类是根据这个原理判断实际待识别图形tt像理论图形t;识别是辨认,是待识别的实际图形tt是t或者不是t;块+分区,虽然有时能对图形进行识别,但其前提条件是t1与t2图形块在分区中的位置有明显的不同,如果t1与t2图形块在分区中的位置没有明显的不同,会因分区的度量单位太粗而无力识别,这时就要用到交由专有识别程序进行归类,所以,严格意义上,块+分区是归类,归类是对图形的“粗”识别,识别是对图形的“精”识别,归类是识别的基础,识别是归类的目的;(6)根据步骤(3)中的图形编码,确定图形tt属于步骤(5)中集合t的哪个子集合zt;(7)根据图形tt的各个块在分区中的位置,归类图形tt是步骤(6)的子集合zt中哪一个标准图形-类t,如果能确定,置归类标志为归类值,到步骤(10),否则,进行下一步;(8)根据图形tt的各个块在分区中的位置,归类图形tt是步骤(6)的子集合zt中哪几个标准图形-类t,如果能确定,就在这几个类t中进行精确归类,8.1)如果能确定,返回值置归类标志为归类值,到步骤(10),8.2)否则,返回值置归类标志为失败值,到步骤(10),否则,进行下一步;(9)归类失败,置归类标志为失败值,到步骤(10);(10)归类完成,退出。其中,以左手坐标系为参考坐标系,对于具有固定比例图形,图形平面与x、z平面平行,中心点与坐标原点重合;图形绕x轴做小于90度的旋转,只改变图形的高度,图形宽度没变,图形编码不变;图形绕y轴做小于90度的旋转,只改变图形的宽度,图形高度没变,图形编码也不变;图形绕z轴旋转,根据图形的形状及旋转角度,图形编码会改变;块在分区中的位置是相对关系,与图形的宽度、高度无关;在实际归类时,各种原因会使图形中心相对坐标系中心产生偏移,偏移是像素级的,远远小于分区的长度,对图形块在分区的位置影响可忽略不记,因而抗图形偏移能力极强。二、对图形归类,要注意三方面的事:(1)确定待识别的实际图形tt是否是编码中能识别的图形,即tt是否在标准图形zt的范围内;一个图形编码包含多个待识别的实际图形tt,这些图形有的是系统识别,有的不是系统需要识别的图形;(2)确定待识别的实际图形是编码中的哪一类或哪几个类,即确定待识别的实际图形tt是zt当中的一个t还是有可能是zt当中的几个t;(3)如果能归类到唯一一个类t,就是识别,如果归类的结果是相似的几个类t,就在这几个类t中进行精确归类。上述三方面在实际归类过程中的顺序是可变的。三、具体实施例为方便举例说明,约定简单语法如下表6与表7:表6表7对图形实际归类时,要建立6个临时表格,记录线段、块、分区的相应数据:1、对于纵向线段建立纵线段表简记为zxdb,记录每一行的每条水平线段的开始坐标、结束坐标;2、对于横向线段建立横线段表简记为hxdb,记录每一列的每条竖直线段的开始坐标、结束坐标;3、对于纵块建立纵块表简记为zkb,记录每纵块的开始坐标、结束坐标;4、对于横块建立横块表简记为hkb,记录每横块的开始坐标、结束坐标;5、对于纵向分区建立纵区表简记为zqb,记录每纵区的开始坐标、结束坐标;6、对于横向分区建立横区表简记为hqb,记录每横区的开始坐标、结束坐标。举例说明归类过程:假设一个识别系统能识别0123456789十个阿拉伯数字和abcdefghijklmnopqrstuvwxyz二十四个英语字母。经过对大量待识别图形进行分块、编码后,统计发现“121+131”编码的图形包含有23589ab数字字符的图形以及无名图形,如图4,图4中共8组图形,每组图形由三个图组成,第一个图是待识别图形、第二个图是其分块图、第三个图是其分区图。假定有一个待识别图形,对其分线段、块并得到4个数据表即zxdb、hxdb、zkb、hkb,再对其编码得到“121+131”,再对背景在宽度、高度方向上分别进行分区并得到2个数据表即zqb、hqb,希望归类此图形是图4当中前7个当中的一个,对其归类如下:(一)查zkb得到zk1_s、zk1_e,再根据zk1_s、zk1_e查zqb得到zk1_s_h、zk1_e_h;(二)如果zk1_s_h等于zq0且zk1_e_h小于zq2,进入归类2的过程1.1;(三)否则,如果zk1_s_h大于zq2且zk1_e_h等于zq4,进入归类3、5的过程2.1;(四)否则,如果zk1_s_h等于zq0且zk1_e_h等于zq4,进入归类8、b的过程3.1;(五)否则,如果zk1_s_h<zq2且zk1_e_h等于zq2,进入归类9的过程4.1;(六)否则如果zk1_s_h<zq2且zk1_e_h等于zq4,进入归类a的过程5.1;(七)否则,归类失败,退出。1.1,zk1_s加1,在zxdb中查找zzb=zk1_s的线段序号为0的横线段的开始位置zzb(zk1_s)_0_s,并查hqb得到这个点的横向分区号zzb(zk1_s)_0_s_h,如果zzb(zk1_s)_0_s_h>hq2进入归类2的1.1.1,否则,归类失败,退出;1.1.1,查zqb得到zq4_s点的y坐标,在zxdb中查找zzb=zq4_s的线段序号为0的横线段的结束位置zzb(zq4_s)_0_e,并查hqb得到这个点的横向分区号zzb(zq4_s)_0_e_h,如果zzb(zq4_s)_0_e_h<hq2进入归类2的过程1.1.2,否则,归类失败,退出;1.1.2,查hqb得到hq3_s点的x坐标,在hxdb中查找hzb=hq3_s的线段序号为2的横线段的开始位置hzb(hq3_s)_2_s,并查zqb得到这个点的纵向分区号hzb(hq3_s)_2_s_h,如果hzb(hq3_s)_2_s_h==zq4则归类为2,归类成功,退出,否则,归类失败,退出。2.1,zk1_s减1,在zxdb中查找zzb=zk1_s的线段序号为0的横线段的开始位置zzb(zk1_s)_0_s,并查hqb得到这个点的横向分区号zzb(zk1_s)_0_s_h,如果zzb(zk1_s)_0_s_h>hq2进入归类3、5的过程2.1.1,否则,归类失败,退出;2.1.1,查zqb得到zq1_s点的y坐标,在zxdb中查找zzb=zq1_s的线段序号为0的横线段的开始、结束位置zzb(zq1_s)_0_s、zzb(zq1_s)_0_e,并查hqb得到这两个点的横向分区号zzb(zq1_s)_0_s_h、zzb(zq1_s)_0_e_h,如果zzb(zq1_s)_0_s_h>hq2则归类为3,归类成功,退出,否则,进入归类5的过程2.1.2;2.1.2,如果zzb(zq1_s)_0_e_h<hq2则归类为5,归类成功,退出,否则,归类失败,退出。3.1,调用8b专用精确识别程序,如果返回0,则归类为8,归类成功,退出;如果返回1,则归类为b,归类成功,退出;如果返回-1,归类失败,退出。4.1,zk1_e加1,在zxdb中查找zzb=zk1_e的线段序号为0的横线段的开始位置zzb(zk1_e)_0_s,并查hqb得到这个点的横向分区号zzb(zk1_e)_0_s_h,如果zzb(zk1_e)_0_s_h==hq0进入归类9的4.1.1,否则,归类失败,退出;4.1.1,查zkb得到zk2_e点的y坐标,在zxdb中查找zzb=zk2_e的线段序号为0的横线段的结束位置zzb(zk2_e)_0_e,并查hqb得到这个点的横向分区号zzb(zk2_e)_0_e_h,如果zzb(zk2_e)_0_e_h<hq3则归类为9,归类成功,退出,否则,归类失败,退出。5.1,zk1_e加1,在zxdb中查找zzb=zk1_e的线段序号为0的横线段的开始位置zzb(zk1_e)_0_s,并查hqb得到这个点的横向分区号zzb(zk1_e)_0_s_h,如果zzb(zk1_e)_0_s_h>hq2进入归类a的5.1.1,否则,归类失败,退出;5.1.1,查zkb得到zk0_s点的y坐标,在zxdb中查找zzb=zk0_s的线段序号为0的横线段的开始位置zzb(zk0_s)_0_s,并查hqb得到这个点的横向分区号zzb(zk0_s)_0_s_h,如果zzb(zk0_s)_0_s_h>hq2则归类为a,归类成功,退出,否则,归类失败,退出。归类的核心依据就是图形块在图形分区上的分布特征。本发明中,图5是分块分区的例子,共20个图形,示例图是第20号图形,分块分区关心的是块在分区中的位置,图形变大、变小、变宽、变窄,块都按同等比例随之变大、变小、变宽、变窄,其相对位置是不变的,只要知道块在分区中的位置,就可以对图形归类,对于有污点变形的图形即如图5中的1号图以及旋转了的图形,可以当作新的图形,依然可以按块在分区中的位置来归类。图形分块相当于找出图形的“笔画”,分块编码相当于为“笔画”排顺序,目的是直接定位到相应的子集zt,分区相当于定位“笔画”,靠上、靠下、靠左、靠右、靠中等等。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1