一种基于计算机视觉的人民币冠字号码数字识别方法与流程

文档序号:12064908阅读:279来源:国知局
一种基于计算机视觉的人民币冠字号码数字识别方法与流程

本发明属于图像识别领域,尤其涉及对人民币冠字号码数字识别方法。



背景技术:

人民币冠字号码的唯一性,使其可以作为人民币的身份标识,实现对人民币的流通以及使用进行监控,从而使得人民币流通市场能够更加安全化、规范化。当假币在市场流通时,我们可以根据它所拥有的冠字号码进行控制,保护公众以及国家的财产安全。由此可见,人民币冠字号码识别系统的研究开发有很大的现实意义以及广阔的应用前景。

近年来数字识别技术已经广泛应用于各个领域。经过对现有技术总结发现,目前数字识别方法主要有基于统计特征的方法和基于结构特征的方法。基于统计特征的分类易于训练,在给定训练集上识别率较高,在训练集之外无法保证识别效果;基于结构特征的方法适应性较好,可以分为骨架、轮廓和局部图像,但算法复杂度较高。



技术实现要素:

本发明的目的在于提供一种基于计算机视觉的人民币冠字号码数字识别方法,采用图像欧拉数和图像特定高度处的图段特征相结合的方法实现对人民币冠字号码数字进行简单、快速的识别。

本发明的技术解决方案如下:

一种基于计算机视觉的人民币冠字号码数字识别方法,其特征在于:终端对获取到得字符图像转换为二值图像,顺序扫描图像的像素并记录相应的图段数、相邻图段数以及图段长度,之后,计算图像的欧拉数E并分类,最后,对欧拉数相同的字符图像,根据字符图像的不同位置的图段数或图段长度对字符图像进行数字识别。

所述终端对获取到得字符图像转换为二值图像,具体为:终端对获取到得字符图像进行由彩色到灰度的转变、图像滤波去噪和二值化的操作,得到M行、N列的二值图像。

所述顺序扫描图像的像素并记录相应的图段数、相邻图段数以及图段长度,具体为:顺序扫描图像的第m行(m=1,2,…,M)像素,记录第m行的图段数及与m-1行的图段形成的相邻图段数,同时记录图像高度0.93倍处的每一个图段长度。

所述计算图像的欧拉数E并分类,具体为:图像扫描完成后,累加图像的图段数NR和相邻图段数NBR,利用公式E=NR-NBR计算图像的欧拉数E,并根据图像的欧拉数对字符图像进行分类。

所述对欧拉数相同的字符图像,根据字符图像的不同位置的图段数或图段长度对字符图像进行数字识别,具体为:

当计算出的欧拉数为-1,则判断该字符为数字“8”,识别结束;

当计算出的欧拉数不为-1,则进一步判断,当计算出的欧拉数为0,则该字符为数字“0”、“4”、“6”或“9”,继续计算字符图像高度0.24-0.28倍和0.68-0.72倍处的图段数进行判断识别;

当计算出的欧拉数不为0,则进一步判断,当计算出的欧拉数为1,则该字符为“1”、“2”、“3”、“5”或“7”,继续计算字符图像高度0.15-0.19倍和0.81-0.85倍处的图段数及图像高度0.93倍处的图段长度进行判断识别;

当计算出的欧拉数不是-1、0或1,则图像非数字,识别结束。

所述图段,是二值图像的每一行中被背景或图像边界所分隔的单个或多个目标像素;所述的图段长度,是指该图段包含的目标像素个数;所述的相邻图段,是指位于相邻行的不同图段相互邻接而形成的。

与现有技术相比,本发明的有益效果是:本发明基于对人民币冠字号码数字形态上的研究,提取图像中数字特征,根据图像欧拉数对数字分类以减少运算量,对欧拉数相同的字符图像通过计算特定高度处的图段数或图段长度进行进一步的数字识别,避免了现有方法中需要对字符图像尺寸归一化处理的缺陷,识别准确率高,鲁棒性强。

附图说明

图1为本方法数字识别流程图;

图2为图段及相邻图段说明图;

图3为数字“8”的识别说明图;

图4为数字“0”、“4”、“6”、“9”的识别说明图;

图5为数字“1”、“2”、“3”、“5”、“7”的识别说明图。

图中,1-连通域、2-孔洞。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例提供一种基于计算机视觉的人民币冠字号码数字识别方法:

步骤101:终端对获取到得字符图像转换为二值图像;

步骤102:顺序扫描图像的像素并记录相应的图段数、相邻图段数以及图段长度;

步骤103:计算图像的欧拉数E并分类;

步骤104:对欧拉数相同的字符图像,根据字符图像的不同位置的图段数或图段长度对字符图像进行数字识别。

步骤101:终端对获取到得字符图像转换为二值图像。参见图1,具体过程为:首先对采集到的单字符图像进行预处理,常用的预处理手段包括图像由彩色到灰度的转变、图像滤波去噪和二值化等,得到M行、N列的二值图像,然后对图像进行数字识别。单字符图像是通过对采集到的人民币冠字号码数字字符串图像进行字符分割得到的。

在将原始彩色图像转换为灰度图像时,采用最大值法以保证得到亮度较大的灰度图像。最大值法即转换后图像中每一个像素的灰度值为原彩色图像中该像素的RGB分量中的最大值,R代表原始彩色图像中红色分量的值,G代表原始彩色图像中绿色分量的值,B代表原始彩色图像中蓝色分量的值。

滤波可以减少光照等干扰引起的噪声,起到增强图像特征的作用。具体方法是:从图像的左上角第一个像素开始,利用滤波窗口进行逐个像素的从左到右、从上到下的扫描,用窗口中各点的灰度值的中值来代替窗口中心点像素的灰度值。本发明使用大小为3×3像素的滤波窗口对256色灰度图像进行增强处理,以消除细小的纹理细节以及噪声像素。

二值化前对256色灰度图像进行增强处理是将得到的灰度图像进行灰度拉伸处理。灰度拉伸是一种最基本的灰度变换,使用的是最简单的线性变换函数,主要思想是提高图像处理时灰度级的动态范围,它可以有选择的拉伸某段灰度区间以改善输出图像。

在处理时,假定原图像f(x, y)的灰度范围为[a, b],变换后的图像g(x, y)的灰度范围线性的扩展至[c, d]。则对于图像中的任一点的灰度值P(x, y),变换后为g(x, y),其数学表达式为g(x, y) = (d - c) * [f(x,y) - a] / (b - a) + c,cd的值分别为0和255。采用线性变换对图像中每一个像素灰度作线性拉伸,将有效改善图像视觉效果。

图像二值化时选取合适的阈值,由于人民币字符图像中前景、背景区分较为明显,本发明利用灰度图像的直方图,选取波谷的灰度值作为二值化的阈值。

图像欧拉数定义为图像中连通域个数减去图像中孔洞个数。对于分割后的字符图像来说,连通域个数均为1,但数字“0”、“4”、“6”、“9”有一个孔洞,因此,数字图像“0”、“4”、“6”、“9”的欧拉数为0;数字“1”、“2”、“3”、“5”、“7”没有孔洞,因此数字图像“1”、“2”、“3”、“5”、“7”的欧拉数为1;数字“8”有两个孔洞,因此数字图像“8”的欧拉数为-1。除了使用定义之外,图像的欧拉数也可以根据图像中包含的图段数和相邻图段数计算得到。

步骤102:顺序扫描图像的像素并记录相应的图段数、相邻图段数以及图段长度。具体地,顺序扫描图像的第m行(m=1,2,…,M),记录第m行的图段数及与m-1行图段形成的相邻图段数;同时记录图像高度0.93倍处的每一个图段长度。

步骤103:计算图像的欧拉数E并分类。具体地,图像扫描完成后,可以得到图像中包含的图段总数NR和相邻图段总数NBR,利用公式E=NR-NBR计算图像的欧拉数E

参见图2,该图中第一行中有3个图段,第二行中有3个图段,总的图段数为6;相邻图段数为4(用椭圆标记)。在图2中,图像的欧拉数E = 3+3-4 = 2。

经过上述步骤得到字符图像的欧拉数后,进行如下判断:

(1)参见图3,如果字符图像的欧拉数为-1,则该字符为数字“8”;

(2)参见图4,如果字符图像的欧拉数为0,则该字符可能为数字“0”、“4”、“6”或“9”;

(3)参见图5,如果字符图像的欧拉数为1,则该字符可能为数字“1”、“2”、“3”、“5”或“7”。对于(2)和(3)两种情况需要用字符图像不同位置的图段数或图段长度来识别。

(4)如果图像欧拉数不是-1、0或1,则图像非数字。

步骤104:对欧拉数相同的字符图像,根据字符图像的不同位置的图段数或图段长度对字符图像进行数字识别。具体地,如图4所示,对于数字“0”来说,字符图像高度0.24-0.28倍和0.68-0.72倍处的图段数都是2;对于数字“4”来说,字符图像高度0.24-0.28倍和0.68-0.72倍的图段数都是1;对于数字“6”来说,字符图像高度0.24-0.28倍处的图段数为2,0.68-0.72倍处的图段数为1;对于数字“9”来说,字符图像高度0.24-0.28倍处的图段数为1,0.68-0.72倍处的图段数为2。

因此,对于(2),当图像欧拉数为0时可以查看字符图像高度0.24-0.28倍和0.68-0.72倍处的图段数来进行数字识别。如果字符图像高度0.24-0.28倍和0.68-0.72倍处的图段数都是2,则该字符图像为数字“0”;如果字符图像高度0.24-0.28倍和0.68-0.72倍处的图段数都是1,则该字符图像为数字“4”; 如果字符图像高度0.24-0.28倍处的图段数为2,0.68-0.72倍处的图段数为1,则该字符图像为数字“6”;如果字符图像高度0.24-0.28倍处的图段数为1,0.68-0.72倍处的图段数为2,则该字符图像为数字“9”。

如图5所示,对于数字“2”,字符图像高度0.15-0.19倍处和0.81-0.85倍处的图段数分别为1和2,对于数字“3”,字符图像高度0.15-0.19倍处和0.81-0.85倍处的图段数分别为2和2,对于数字“5”,字符图像高度0.15-0.19倍处和0.81-0.85倍处的图段数分别为2和1,根据这个特征可以识别数字“2”、“3”和“5”。对于数字“1”和数字“7”,字符图像高度图像0.15-0.19倍处和0.81-0.85倍处的图段数都是1,同时图像高度0.93倍处的图段数也都是1,但是图段长度区别很明显。对于数字“1”,图像高度0.93倍处图段长度约为图像宽度的1/3;而对于数字“7”,图像高度0.93倍处图段长度和图像宽度几乎相等。因此,可以根据这个特征来区分数字“1”和数字“7”。

因此,对于(3)当图像欧拉数为1时可以查看字符图像高度0.15-0.19倍和0.81-0.85倍处的图段数以及图像高度0.93倍处图段长度来进行数字识别。当字符图像高度0.15-0.19倍处和0.81-0.85倍处的图段数分别为1和2时,该字符图像为数字“2”;当字符图像高度0.15-0.19倍处和0.81-0.85倍处的图段数都是2时,该字符图像为数字“3”;当字符图像高度0.15-0.19倍处和0.81-0.85倍处的图段数分别为2和1时,该字符图像为数字“5”;当字符图像高度图像0.15-0.19倍处和0.81-0.85倍处的图段数都是1时,查看图像高度0.93倍处的图段长度继续判断,如果图像高度0.93倍处的图段长度为图像宽度的0.2-0.5倍时,该字符图像为数字“1”,如果图像高度0.93倍处的图段长度为图像宽度的0.9-1倍时,该字符图像为数字“7”。

实施例1

如图4所示,对于数字“0”来说,字符图像高度0.24倍和0.68倍处的图段数都是2;对于数字“4”来说,字符图像高度0.24倍和0.68倍的图段数都是1;对于数字“6”来说,字符图像高度0.24倍处的图段数为2,0.68倍处的图段数为1;对于数字“9”来说,字符图像高度0.24倍处的图段数为1,0.68倍处的图段数为2。

因此,对于(2),当图像欧拉数为0时可以查看字符图像高度0.24倍和0.68倍处的图段数来进行数字识别。如果字符图像高度0.24倍和0.68倍处的图段数都是2,则该字符图像为数字“0”;如果字符图像高度0.24倍和0.68倍处的图段数都是1,则该字符图像为数字“4”;如果字符图像高度0.24倍处的图段数为2,0.68倍处的图段数为1,则该字符图像为数字“6”; 如果字符图像高度0.24倍处的图段数为1,0.68倍处的图段数为2,则该字符图像为数字“9”。

如图5所示,对于数字“2”,字符图像高度0.15倍处和0.81倍处的图段数分别为1和2,对于数字“3”,字符图像高度0.15倍处和0.81倍处的图段数分别为2和2,对于数字“5”,字符图像高度0.15倍处和0.81倍处的图段数分别为2和1,根据这个特征可以识别数字“2”、“3”和“5”。对于数字“1”和数字“7”,字符图像高度图像0.15倍处和0.81倍处的图段数都是1,同时图像高度0.93倍处的图段数也都是1,但是图段长度区别很明显。对于数字“1”,图像高度0.93倍处图段长度约为图像宽度的1/3;而对于数字“7”,图像高度0.93倍处图段长度和图像宽度几乎相等。因此,可以根据这个特征来区分数字“1”和数字“7”。

因此,对于(3)当图像欧拉数为1时可以查看字符图像高度0.15倍和0.81倍处的图段数以及图像高度0.93倍处图段长度来进行数字识别。当字符图像高度0.15倍处和0.81倍处的图段数分别为1和2时,该字符图像为数字“2”;当字符图像高度0.15倍处和0.81倍处的图段数都是2时,该字符图像为数字“3”;当字符图像高度0.15倍处和0.81倍处的图段数分别为2和1时,该字符图像为数字“5”;当字符图像高度图像0.15倍处和0.81倍处的图段数都是1时,查看图像高度0.93倍处的图段长度继续判断,如果图像高度0.93倍处的图段长度为图像宽度的0.2-0.5倍时,该字符图像为数字“1”,如果图像高度0.93倍处的图段长度为图像宽度的0.9-1倍时,该字符图像为数字“7”。

实施例2

如图4所示,对于数字“0”来说,字符图像高度0.24倍和0.72倍处的图段数都是2;对于数字“4”来说,字符图像高度0.24倍和0.72倍的图段数都是1;对于数字“6”来说,字符图像高度0.24倍处的图段数为2,0.72倍处的图段数为1;对于数字“9”来说,字符图像高度0.24倍处的图段数为1,0.72倍处的图段数为2。

因此,对于(2),当图像欧拉数为0时可以查看字符图像高度0.24倍和0.72倍处的图段数来进行数字识别。如果字符图像高度0.24倍和0.72倍处的图段数都是2,则该字符图像为数字“0”;如果字符图像高度0.24倍和0.72倍处的图段数都是1,则该字符图像为数字“4”; 如果字符图像高度0.24倍处的图段数为2,0.72倍处的图段数为1,则该字符图像为数字“6”; 如果字符图像高度0.24倍处的图段数为1,0.72倍处的图段数为2,则该字符图像为数字“9”。

如图5所示,对于数字“2”,字符图像高度0.15倍处和0.85倍处的图段数分别为1和2,对于数字“3”,字符图像高度0.15倍处和0.85倍处的图段数分别为2和2,对于数字“5”,字符图像高度0.15倍处和0.85倍处的图段数分别为2和1,根据这个特征可以识别数字“2”、“3”和“5”。对于数字“1”和数字“7”,字符图像高度图像0.15倍处和0.85倍处的图段数都是1,同时图像高度0.93倍处的图段数也都是1,但是图段长度区别很明显。对于数字“1”,图像高度0.93倍处图段长度约为图像宽度的1/3;而对于数字“7”,图像高度0.93倍处图段长度和图像宽度几乎相等。因此,可以根据这个特征来区分数字“1”和数字“7”。

因此,对于(3)当图像欧拉数为1时可以查看字符图像高度0.15倍和0.85倍处的图段数以及图像高度0.93倍处图段长度来进行数字识别。当字符图像高度0.15倍处和0.85倍处的图段数分别为1和2时,该字符图像为数字“2”;当字符图像高度0.15倍处和0.85倍处的图段数都是2时,该字符图像为数字“3”;当字符图像高度0.15倍处和0.85倍处的图段数分别为2和1时,该字符图像为数字“5”;当字符图像高度图像0.15倍处和0.85倍处的图段数都是1时,查看图像高度0.93倍处的图段长度继续判断,如果图像高度0.93倍处的图段长度为图像宽度的0.2-0.5倍时,该字符图像为数字“1”,如果图像高度0.93倍处的图段长度为图像宽度的0.9-1倍时,该字符图像为数字“7”。

实施例3

如图4所示,对于数字“0”来说,字符图像高度0.28倍和0.68倍处的图段数都是2;对于数字“4”来说,字符图像高度0.28倍和0.68倍的图段数都是1;对于数字“6”来说,字符图像高度0.28倍处的图段数为2,0.68倍处的图段数为1;对于数字“9”来说,字符图像高度0.28倍处的图段数为1,0.72倍处的图段数为2。

因此,对于(2),当图像欧拉数为0时可以查看字符图像高度0.28倍和0.68倍处的图段数来进行数字识别。如果字符图像高度0.28倍和0.68倍处的图段数都是2,则该字符图像为数字“0”;如果字符图像高度0.28倍和0.68倍处的图段数都是1,则该字符图像为数字“4”;如果字符图像高度0.28倍处的图段数为2,0.68倍处的图段数为1,则该字符图像为数字“6”; 如果字符图像高度0.28倍处的图段数为1,0.68倍处的图段数为2,则该字符图像为数字“9”。

如图5所示,对于数字“2”,字符图像高度0.19倍处和0.81倍处的图段数分别为1和2,对于数字“3”,字符图像高度0.19倍处和0.81倍处的图段数分别为2和2,对于数字“5”,字符图像高度0.19倍处和0.81倍处的图段数分别为2和1,根据这个特征可以识别数字“2”、“3”和“5”。对于数字“1”和数字“7”,字符图像高度图像0.19倍处和0.81倍处的图段数都是1,同时图像高度0.93倍处的图段数也都是1,但是图段长度区别很明显。对于数字“1”,图像高度0.93倍处图段长度约为图像宽度的1/3;而对于数字“7”,图像高度0.93倍处图段长度和图像宽度几乎相等。因此,可以根据这个特征来区分数字“1”和数字“7”。

因此,对于(3)当图像欧拉数为1时可以查看字符图像高度0.19倍和0.81倍处的图段数以及图像高度0.93倍处图段长度来进行数字识别。当字符图像高度0.19倍处和0.81倍处的图段数分别为1和2时,该字符图像为数字“2”;当字符图像高度0.19倍处和0.81倍处的图段数都是2时,该字符图像为数字“3”;当字符图像高度0.19倍处和0.81倍处的图段数分别为2和1时,该字符图像为数字“5”;当字符图像高度图像0.19倍处和0.81倍处的图段数都是1时,查看图像高度0.93倍处的图段长度继续判断,如果图像高度0.93倍处的图段长度为图像宽度的0.2-0.5倍时,该字符图像为数字“1”,如果图像高度0.93倍处的图段长度为图像宽度的0.9-1倍时,该字符图像为数字“7”。

实施例4

如图4所示,对于数字“0”来说,字符图像高度0.28倍和0.72倍处的图段数都是2;对于数字“4”来说,字符图像高度0.28倍和0.72倍的图段数都是1;对于数字“6”来说,字符图像高度0.28倍处的图段数为2,0.72倍处的图段数为1;对于数字“9”来说,字符图像高度0.28倍处的图段数为1,0.72倍处的图段数为2。

因此,对于(2),当图像欧拉数为0时可以查看字符图像高度0.28倍和0.72倍处的图段数来进行数字识别。如果字符图像高度0.28倍和0.72倍处的图段数都是2,则该字符图像为数字“0”;如果字符图像高度0.28倍和0.72倍处的图段数都是1,则该字符图像为数字“4”; 如果字符图像高度0.28倍处的图段数为2,0.72倍处的图段数为1,则该字符图像为数字“6”; 如果字符图像高度0.28倍处的图段数为1,0.72倍处的图段数为2,则该字符图像为数字“9”。

如图5所示,对于数字“2”,字符图像高度0.19倍处和0.85倍处的图段数分别为1和2,对于数字“3”,字符图像高度0.19倍处和0.85倍处的图段数分别为2和2,对于数字“5”,字符图像高度0.19倍处和0.85倍处的图段数分别为2和1,根据这个特征可以识别数字“2”、“3”和“5”。对于数字“1”和数字“7”,字符图像高度图像0.19倍处和0.85倍处的图段数都是1,同时图像高度0.93倍处的图段数也都是1,但是图段长度区别很明显。对于数字“1”,图像高度0.93倍处图段长度约为图像宽度的1/3;而对于数字“7”,图像高度0.93倍处图段长度和图像宽度几乎相等。因此,可以根据这个特征来区分数字“1”和数字“7”。

因此,对于(3)当图像欧拉数为1时可以查看字符图像高度0.19倍和0.85倍处的图段数以及图像高度0.93倍处图段长度来进行数字识别。当字符图像高度0.19倍处和0.85倍处的图段数分别为1和2时,该字符图像为数字“2”;当字符图像高度0.19倍处和0.85倍处的图段数都是2时,该字符图像为数字“3”;当字符图像高度0.19倍处和0.85倍处的图段数分别为2和1时,该字符图像为数字“5”;当字符图像高度图像0.19倍处和0.85倍处的图段数都是1时,查看图像高度0.93倍处的图段长度继续判断,如果图像高度0.93倍处的图段长度为图像宽度的0.2-0.5倍时,该字符图像为数字“1”,如果图像高度0.93倍处的图段长度为图像宽度的0.9-1倍时,该字符图像为数字“7”。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1