1.一种增值税发票的识别方法,其特征在于,包括如下步骤:
S1、对输入的发票图像进行预处理:提取原始彩色发票图像的r分量,作为灰度图像,对灰度图像进行中值滤波操作,减少噪点,对灰度图像进行Radon变换,进行倾斜校正;
S2、对发票图像进行选项区域定位:寻找标记点,进行选项区域定位,截取各选项区域,分别二值化处理得到黑底白字图像;
S3、字符分割:将各选项区域的字符通过投影法分割开来,得到单个字符的最小外接矩形,便于后续的识别处理;
S4、字符区域分块:将分割好的字符,进行尺度变换,变为正方形,然后将字符图像的高和宽等间距各分3份,得到9个正方形的图像块;
S5、提取每个图像块的HOG特征,得到9个一维的HOG特征序列;
S6、将步骤S5中的特征序列分别与模板做比对,比对公式如下:
其中,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的取值范围,为其赋予不同权重,生成权重矩阵,其权重分配方式如下:
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块,则将该模板存入候选字符。