一种增值税发票图像二维码区域的定位与识别方法与流程

文档序号:16899294发布日期:2019-02-19 17:48阅读:2422来源:国知局
一种增值税发票图像二维码区域的定位与识别方法与流程

本发明涉及图像处理技术领域,具体涉及一种增值税发票图像二维码区域的定位与识别方法。



背景技术:

在票据ocr识别尤其是增值税发票识别中,发票中的二维码信息包含了发票的一些关键字段,如发票号码、发票代码、金额、开票日期等。而在财务系统自动化记账方面需将纸质发票扫描成电子图片,然后采用ocr技术对发票图片内容进行识别以达到自动化记账的目的。然而,由于各种原因导致票据的ocr识别精度有限,为了提高发票图片的ocr识别精度以减少对识别结果进行核对的人工投入,借助票据中的二维码信息也不失为一种有效可行的手段。在现有的二维码识别应用中,一般均需摄像头来采集二维码图像进行识别并做后续的业务操作,而直接识别现有图片(手机拍照、扫描仪扫描)中的二维码的应用不多,且对图片质量有较高的要求,比如图片光照明暗不均、扭曲变形、噪声严重等对二维码区域的定位与识别影响严重。



技术实现要素:

为解决现有技术中存在的问题,本发明的目的是提供一种增值税发票图像二维码区域的定位与识别方法;本发明在进行ocr识别时对发票图片中的二维码区域进行定位分割并做增强处理,最后送入识别,提升了二维码识别的性能,根据二维码识别结果查询发票信息对ocr识别的结果做补充,提高ocr识别精度,减少人工投入,为企业降低了成本。

为实现上述目的,本发明采用的技术方案是:一种增值税发票图像二维码区域的定位与识别方法,包括对增值税发票图像二维码区域进行定位分割以及对二维码进行识别;其中,对增值税发票图像二维码区域进行定位分割包括以下步骤:

a、对客户端上传的图像进行预处理,所述预处理包括对图像做阴影去除、去黑边以及增强图像对比度;

b、去除图像上下左右四个边缘的连续黑色像素点区域;

c、对经过步骤b处理之后的图像做高斯模糊处理去除图像中的噪声点;

d、对经过步骤c处理之后的图像做otsu二值化处理,并判断经otsu二值化处理后的图像是否合格:如合格,则直接进入步骤e,如不合格,则采用自适应二值化对图像进行处理后再进入步骤e;当增值税发票图片的表面存在光照不均的问题时,自适应二值化处理相对于otsu二值化处理更能有效去除图像中的阴影,因此本发明采用otsu二值化处理和otsu二值化处理二者相结合的方法;

e、将经过步骤d处理后的图像缩放至统一尺寸,选取大小合适的全黑图像区域为模板,与缩放之后的图像进行遍历匹配做卷积运算,得到计算出的结果矩阵;

f、根据调好的阈值,利用非极大值抑制算法从结果矩阵中取出与模板匹配效果最好的候选区域;

g、合并有交叉的候选区域;

h、对合并后的候选区域再次执行非极大值抑制算法得到最终的候选二维码区域;

对二维码进行识别包括以下步骤:

a、将原图像送入zxing识别,若识别成功,返回识别结果;反之继续执行步骤b;

b、将原图像送入zbarlight识别,若识别成功,返回识别结果;反之继续执行步骤c;

c、将原图像二值化之后送入zxing识别,若识别成功,返回识别结果;反之继续执行步骤d;

d、将原图像二值化之后送入zbarlight识别,若识别成功,返回识别结果;反之继续执行步骤e;

e、将步骤h中分割出的候选二维码区域原图依次送入zxing识别,若识别成功,返回识别结果;反之继续执行步骤f;

f、将步骤h中分割出的候选二维码区域原图依次送入zbarlight识别,若识别成功,返回识别结果;反之继续执行步骤g;

g、将步骤h中分割出的候选二维码区域原图二值化之后依次送入zxing识别,若识别成功,返回识别结果;反之继续执行步骤h;

h、将步骤h中分割出的候选二维码区域原图二值化之后依次送入zbarlight识别,若识别成功,返回识别结果;反之返回识别失败,结束识别流程。

进一步地,所述步骤d中,判断经otsu二值化处理后的图像是否合格的标准如下:其中:nob表示经otsu二值化之后图像中黑色像素点的个数,w为otsu二值化图像的宽,h为otsu二值化图像的高,threshold为设定的阈值。

更进一步地,所述步骤e中,设选定模板的宽和高分别为w,h,具体的遍历匹配方法如下:r(i,j)=∑i,j(t(m,n)-s(i+m,j+n))2,其中:m=0,1,2,…,w-1;n=0,1,2,…,h-1;t(m,n)为模板中的像素点,s(i+m,j+n)为原图中的像素点,根据上式得到(w-w+1,h-h+1)的结果矩阵。

下面对本发明的技术方案做进一步的说明:

针对当前技术方案存在的问题,即:不使用摄像头采集二维码图像而直接处理包含二维码的图片对图片质量要求较高,难以从图片中准确定位分割出二维码区域;现有的二维码识别算法的有各自优缺点,如果能在应用中对其做以融合,结合各自的优点,则对提升二维码识别率有一定帮助。

为准确识别出增值税发票图片中的二维码内容,本发明从三个方面入手处理:一、从图片中准确定位出二维码区域;二、对从原图中分割出的二维码图片做图像增强处理,以尽量去除噪声干扰、恢复图像的细节;三、融合多种识别策略,提升二维码算法的识别性能。下面分别针对以上三点阐述具体的技术方案:

1)分析发票图像的二维码区域特征,发现二维码区域的能量较为集中。因此,为准确从发票图片中分割出二维码区域,采用模板匹配的方法。首先将增值税发票图像缩放至统一尺寸,选取大小合适的全黑图像区域为模板,与缩放之后的二值化图像做卷积运算,选取合适的阈值对卷积后得结果加以过滤,最后采用nms(非极大值抑制算法)合并候选区得到最终的二维码区域。

2)图像质量也是影响二维码定位与识别的重要因素。实际业务中,发现部分图片有黑边且可能存在明暗不均的现象,为了减轻图像边缘黑边及图像明暗不均对二维码区域分割的影响,在模板匹配之前,需对图像边缘做去除黑边的操作,并采用自适应二值化方法以去除图像中的阴影,从而避免图像阴影过而影响二维码区域的定位。此外,实际业务中的发票图片也有较大一部分是扫描仪扫描得来的,因此受限于扫描仪的精度,图片中的二维码区域可能存在部分区域像素丢失的问题,为解决该问题,本方法对于通常情况下无法识别的二维码做高斯模糊的处理,以尽量恢复截取到的二维码区域。另外,实际采集到的图像也可能受噪声干扰,因此也可对分割出的二维码图像做去除燥声的处理,然后再送入识别,以提高识别率。

3)考虑到不同的二维码识别算法包的识别效果不一,本方法中采用融合多个识别算法的策略,分别采用zxing和zbarlight,首先将经过上述操作处理之后的二维码图像送入zxing进行识别,若识别成功则退出。否则,继续采用zbarlight进行识别,并返回最终的识别结果。采用该策略能有效结合二者在识别算法上的差异,提高识别率。

本发明的有益效果是:本发明可以精确定位增值税发票图片中的二维码区域,并对分割出的二维码进行识别,在发票图像质量满足一定条件的情况下(二维码区域无严重扭曲变形、二维码区域完整、无遮挡),可以对分割出的二维码图像进行精确识别。

附图说明

图1为本发明实施例对增值税发票图像二维码区域进行定位分割的流程框图;

图2为本发明实施例对二维码进行识别的流程框图。

具体实施方式

下面结合附图对本发明的实施例进行详细说明。

实施例

一种增值税发票图像二维码区域的定位与识别方法,包括对增值税发票图像二维码区域进行定位分割以及对二维码进行识别;其中,如图1所示,图1为本实施例对增值税发票图像二维码区域进行定位分割的流程框图,具体包括以下步骤:

a、对客户端上传的图像进行预处理,所述预处理包括对图像做阴影去除、去黑边以及增强图像对比度;

b、去除图像上下左右四个边缘的连续黑色像素点区域;

c、对经过步骤b处理之后的图像做高斯模糊处理去除图像中的噪声点;

d、对经过步骤c处理之后的图像做otsu二值化处理,并判断经otsu二值化处理后的图像是否合格:如合格,则直接进入步骤e,如不合格,则采用自适应二值化对图像进行处理后再进入步骤e;判断经otsu二值化处理后的图像是否合格的标准如下:其中:nob表示经otsu二值化之后图像中黑色像素点的个数,w为otsu二值化图像的宽,h为otsu二值化图像的高,threshold为设定的阈值;

e、将经过步骤d处理后的图像缩放至统一尺寸,选取大小合适的全黑图像区域为模板,与缩放之后的图像进行遍历匹配做卷积运算,得到计算出的结果矩阵;设选定模板的宽和高分别为w,h,具体的遍历匹配方法如下:r(i,j)=∑i,j(t(m,n)-s(i+m,j+n))2,其中:m=0,1,2,…,w-1;n=0,1,2,…,h-1;t(m,n)为模板中的像素点,s(i+m,j+n)为原图中的像素点,根据上式得到(w-w+1,h-h+1)的结果矩阵;

f、根据调好的阈值,利用非极大值抑制算法从结果矩阵中取出与模板匹配效果最好的候选区域;

g、合并有交叉的候选区域;

h、对合并后的候选区域再次执行非极大值抑制算法得到最终的候选二维码区域;

在如图2所示,图2为本实施例对二维码进行识别的流程框图,具体包括以下步骤:

a、将原图像送入zxing识别,若识别成功,返回识别结果;反之继续执行步骤b;

b、将原图像送入zbarlight识别,若识别成功,返回识别结果;反之继续执行步骤c;

c、将原图像二值化之后送入zxing识别,若识别成功,返回识别结果;反之继续执行步骤d;

d、将原图像二值化之后送入zbarlight识别,若识别成功,返回识别结果;反之继续执行步骤e;

e、将步骤h中分割出的候选二维码区域原图依次送入zxing识别,若识别成功,返回识别结果;反之继续执行步骤f;

f、将步骤h中分割出的候选二维码区域原图依次送入zbarlight识别,若识别成功,返回识别结果;反之继续执行步骤g;

g、将步骤h中分割出的候选二维码区域原图二值化之后依次送入zxing识别,若识别成功,返回识别结果;反之继续执行步骤h;

h、将步骤h中分割出的候选二维码区域原图二值化之后依次送入zbarlight识别,若识别成功,返回识别结果;反之返回识别失败,结束识别流程。

以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

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