一种增值税发票的识别方法与流程

文档序号:12723050阅读:来源:国知局

技术特征:

1.一种增值税发票的识别方法,其特征在于,包括如下步骤:

S1、对输入的发票图像进行预处理:提取原始彩色发票图像的r分量,作为灰度图像,对灰度图像进行中值滤波操作,减少噪点,对灰度图像进行Radon变换,进行倾斜校正;

S2、对发票图像进行选项区域定位:寻找标记点,进行选项区域定位,截取各选项区域,分别二值化处理得到黑底白字图像;

S3、字符分割:将各选项区域的字符通过投影法分割开来,得到单个字符的最小外接矩形,便于后续的识别处理;

S4、字符区域分块:将分割好的字符,进行尺度变换,变为正方形,然后将字符图像的高和宽等间距各分3份,得到9个正方形的图像块;

S5、提取每个图像块的HOG特征,得到9个一维的HOG特征序列;

S6、将步骤S5中的特征序列分别与模板做比对,比对公式如下:

<mrow> <mi>r</mi> <mo>=</mo> <mfrac> <mrow> <munder> <mo>&Sigma;</mo> <mi>n</mi> </munder> <mrow> <mo>(</mo> <msub> <mi>A</mi> <mi>n</mi> </msub> <mo>-</mo> <mover> <mi>A</mi> <mo>&OverBar;</mo> </mover> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <msub> <mi>B</mi> <mi>n</mi> </msub> <mo>-</mo> <mover> <mi>B</mi> <mo>&OverBar;</mo> </mover> <mo>)</mo> </mrow> </mrow> <mrow> <msqrt> <mrow> <munder> <mo>&Sigma;</mo> <mi>n</mi> </munder> <msup> <mrow> <mo>(</mo> <msub> <mi>A</mi> <mi>n</mi> </msub> <mo>-</mo> <mover> <mi>A</mi> <mo>&OverBar;</mo> </mover> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> <msqrt> <mrow> <munder> <mo>&Sigma;</mo> <mi>n</mi> </munder> <msup> <mrow> <mo>(</mo> <msub> <mi>B</mi> <mi>n</mi> </msub> <mo>-</mo> <mover> <mi>B</mi> <mo>&OverBar;</mo> </mover> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> </mrow> </mfrac> <mo>;</mo> </mrow>

其中,An为待识别字符块的HOG特征序列,为An的均值;Bn为模板字符块HOG特征序列,为Bn的均值;r为待识别字符块与模板字符块的相关系数,当-1≤r<0时,An与Bn为负相关;当0<r≤1时,An与Bn为正相关;当r=0时,An与Bn不相关;其差异系数d用1-r来表示;

S7、将候选字符中的9个块,进行加权求和,根据差异系数d的取值范围,为其赋予不同权重,生成权重矩阵,其权重分配方式如下:

<mrow> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mn>0</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msub> <mi>d</mi> <mi>i</mi> </msub> <mo>=</mo> <mn>0</mn> <mo>;</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mfrac> <mn>1</mn> <mrow> <mn>1</mn> <mo>+</mo> <mn>2</mn> <mo>+</mo> <mn>3</mn> <mo>+</mo> <mn>4</mn> </mrow> </mfrac> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mn>0</mn> <mo>&lt;</mo> <msub> <mi>d</mi> <mi>i</mi> </msub> <mo>&le;</mo> <mn>0.2</mn> <mo>;</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mfrac> <mn>2</mn> <mrow> <mn>1</mn> <mo>+</mo> <mn>2</mn> <mo>+</mo> <mn>3</mn> <mo>+</mo> <mn>4</mn> </mrow> </mfrac> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mn>0.2</mn> <mo>&lt;</mo> <msub> <mi>d</mi> <mi>i</mi> </msub> <mo>&le;</mo> <mn>0.4</mn> <mo>;</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mfrac> <mn>3</mn> <mrow> <mn>1</mn> <mo>+</mo> <mn>2</mn> <mo>+</mo> <mn>3</mn> <mo>+</mo> <mn>4</mn> </mrow> </mfrac> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mn>0.4</mn> <mo>&lt;</mo> <msub> <mi>d</mi> <mi>i</mi> </msub> <mo>&le;</mo> <mn>0.7</mn> <mo>;</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mfrac> <mn>4</mn> <mrow> <mn>1</mn> <mo>+</mo> <mn>2</mn> <mo>+</mo> <mn>3</mn> <mo>+</mo> <mn>4</mn> </mrow> </mfrac> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msub> <mi>d</mi> <mi>i</mi> </msub> <mo>&gt;</mo> <mn>0.7.</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>;</mo> </mrow>

S8、将权重与差异系数加权求和,得到候选字符差异得分,计算每个候选字符差异得分,取最小值对应字符为匹配结果;

S9、对每个切分后的字符重复上述步骤S4至S8,直至完成发票各项内容的识别。

2.根据权利要求1所述的增值税发票的识别方法,其特征在于,所述步骤S2中,具体包括:

S21、寻找标记点,将发票矩形框的四个顶点定位,取原始彩色发票图像的b分量图像,将其二值化,并分别水平、垂直投影;投影值第一个和最后一个向下尖峰处,即为矩形顶点位置,从而确定矩形框的位置;

S22、进行选项区域定位,发票各选项区域位置是固定的,根据矩形框位置,与发票各选项区域的相对位置关系,将各区域坐标计算出来;

S23、用S22中计算出的坐标,在步骤S1处理完的灰度图像上,截取各选项区域,并分别二值化处理,得到黑底白字的二值图像。

3.根据权利要求1所述的增值税发票的识别方法,其特征在于,所述步骤S3中,字符通过投影法分割具体为,分别获取各字符的左右边界,进行垂直分割;再将分割出的每个块,进行水平投影,去除零点,即字符上方和下方多余部分;保留非零点,即字符。

4.根据权利要求3所述的增值税发票的识别方法,其特征在于,根据不同区域内容不同,具体的切分方式也相应不同:

①只有一行字的情况:

先垂直投影,再从左向右水平扫描,若当前点像素值为零,前面有连续若干个点像素值为零,后面连续若干个点像素值非零,则认为该点为字符左边界,遍历所有点,得到所有字符的左边界;若当前点像素值非零,前面有连续若干个点像素值非零,后面有连续若干个点像素值为零,则认为该点为字符右边界,遍历所有点,得到所有字符右边界,使用这些边界信息,进行垂直分割;

②有多行文字的情况:

首先进行水平分割,将多行字分割成多个单行字,这样后面的步骤同①一样,水平分割做法:先水平投影,再从上往下扫描,若当前点像素值为零,前面有连续若干个点像素值为零,后面连续若干个点像素值非零,则认为该点为行的上边界,遍历所有点,得到所有行的上边界;若当前点像素值非零,前面有连续若干个点像素值非零,后面有连续若干个点像素值为零,则认为该点为行的边界,遍历所有点,得到所有行的下边界,使用这些边界信息,将图像分割为单行字,再重复步骤①,将单行字分割成单个字符。

5.根据权利要求1所述的增值税发票的识别方法,其特征在于,所述步骤S6中,其比对过程为:

S61、读取一个待识别字符,从左至右,从上之下,从第1块开始进行模板匹配,然后依次对第2、3、4块,直至第9块进行匹配;

S62、当前模板9块匹配结束,读取下一个模板,重复步骤S61,直至所有模板相似度计算完毕;

S63、设定相似度阈值T,统计每个模板字符的9块相似度,若相似度小于该阈值的块数大于等于6,则该模板字符必定不是正确结果,不进行操作;若小于6块,则将该模板存入候选字符。

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