一种发票图片特定板块的定位、识别方法、系统、设备与流程

文档序号:17049819发布日期:2019-03-05 19:56阅读:753来源:国知局
一种发票图片特定板块的定位、识别方法、系统、设备与流程

本发明涉及发票,尤其涉及一种发票图片特定板块的定位、识别方法、系统、设备。



背景技术:

处理发票报销是公司财务部门的一项非常重要的工作,工作人员需要获取每张发票中的票号序列、公司名称、开票日期、金额和税额等信息进行下一步的验证等工作。工作繁重。

而传统的图像识别算法虽然能逐行无差别地识别发票图片中的每一个字,每一个符号,但是并不能识别出,哪一个字段是发票编号,哪一个字段是日期,哪一个字段是金额等。

因此,现在针对发票信息的获取仍然只能通过人为完成。



技术实现要素:

为了解决上述技术问题,本发明的目的在于提供一种发票图片特定板块的定位、识别方法、系统、设备。

根据本发明的一个方面,提供了一种发票图片特定板块的定位、识别方法,包括:

获取发票图片;

确定待识别发票信息;

根据待识别发票信息,对其所在发票图片的区域定位、分割,获得待识别发票信息图片;

对待识别发票信息图片的文字内容进行识别,获取待识别发票信息。

本发明通过任何简单的方法获得左右待处理发票的图片,然后通过一些图像处理方法将所有图片中以各种位置、各种旋转角度、各种亮度情况的发票有效区域截取并摆正,进而结合逻辑处理,采用canny轮廓检测、图像文本检测、颜色检测、提取“行、列”的方法精确地定位到一张图片中每一个待识别的区域,并截取成为一个个的碎片,分别进行识别。由自动获取发票信息替代原人为方式。不但准确度高,而且大大提高了效率。

进一步的,待识别发票信息包括票号序列、公司名称、开票日期、金额和税额。

进一步的,获取发票图片之后包括截取发票有效区域。

进一步的,截取发票有效区域之前包括:摆正发票图片。

进一步的,摆正发票图片包括:

利用opencv的houghline算法检测发票图片中所有的线条;

计算每条线的偏转角度;

出现最多次的旋转角度为该图片的偏转角度;

根据偏转角度旋转所述图片,摆正发票图片。

进一步的,截取发票有效区域包括:

提取该发票图片中发票有效区域的轮廓;

基于该轮廓分割得到发票有效区域的图片。

进一步的,得到发票有效区域的图片之后执行步骤包括通过sift算法,判断发票票头的位置是否在图片的上方,否则,则上下翻转所述图片。其中,sift是一种电脑视觉的算法用来侦测与描述影像中的局部性特征。

进一步的,提取该发票图片中发票有效区域的轮廓,包括:

分别计算发票图片的每一像素列的像素值之和、每一像素行的像素值之和,得到两个向量;

将两个向量相乘,得到二维数组;

将这个二维数组转换成对应的灰度图片;

过滤并去除发票图片中的横线和竖线,得到发票有效区域的轮廓。

具体为:

分别计算带有未去除背景的整张发票图片的每一像素列的像素值之和、每一像素行的像素值之和,得到两个向量(这里计算的像素行或列之和都是针对包括背景的一整张图片来计算的,因为程序并不知道发票有效区域的轮廓在哪里,而程序需要通过计算像素行列和、相乘、去横线等这些步骤才能找到发票有效区域的轮廓在哪里);

将两个向量相乘,得到二维数组;

将这个二维数组转换成对应的灰度图片(将所有的值按照比例归一化到0到255的范围,从0到255的每个值依次表示从白色到不同等级的灰色再到黑色的灰度值);

通过opencv工具包中的cv2.morphologyex功能(定向过滤图片中的某种形态)定向过滤图片中的横线和竖线(通过改变参数来决定过滤哪种形态),去除图片中的横线和竖线,得到发票有效区域的轮廓。

上述方法确保提取发票的有效区域能够不受发票有效区域在照片的位置角度,明暗程度,图片光线阴影等干扰因素的影响,精确地截取出发票的有效区域。

进一步的,对待识别发票信息所在区域定位、分割包括:

利用canny算法获取与预设定位模板匹配的区域及匹配区域的顶点坐标;

根据匹配区域的顶点坐标,获取待识别发票信息所在区域图片;

提取所述区域图片内待识别发票信息文字的像素,并进行逆向二值化处理;

计算所述区域图片行和列的像素值之和,将其与区分文字与空隙的预设门限值比对,判断并分割出待识别发票信息图片。

进一步的,利用canny算法获取与预设定位模板匹配的区域及匹配区域的顶点坐标,包括:

截取待识别发票信息所在区域的部分图片;

对该部分图片进行缩放,得到多张缩放图;

将多张缩放图及预设定位模板输入canny算法进行运算,得出与预设定位模板匹配的区域及匹配区域的顶点坐标。

通过多张缩放图均与定位模板进行轮廓匹配,进行匹配区域的定位,定位精度高。

定位匹配区域并得到匹配区域的顶点坐标后,根据匹配区域与获取待识别发票信息所在区域图片的位置关系,定位获取待识别发票信息所在区域图片。

其中,缩放的比例参数为0.8-1.2。

进一步的,计算所述区域图片行和列的像素值之和,将其与门限值比对,判断并分割出待识别发票信息图片包括:

计算所述区域图片每一个像素行的像素值之和,根据像素行的门限值判断并分割出待识别发票信息所在行区域图片;

计算行区域图片每一像素列的像素值之和,根据像素列的门限值判断并分割出待识别发票信息图片。

其中,上述门限值需要根据这个图片中每一行或列的文字数量和图片噪声多少决定,实际操作中首先将每个像素行或列的像素值之和都输出出来,然后开发人员查看没有文字的像素行或列和有文字的像素行或列的像素和的值的大致临界值为多少,即为门限值。

其中,像素行的门限值为14000,像素列的门限值为4000。

根据本发明的另一个方面,提供了一种发票图片特定板块的定位、识别系统,包括:

获取发票图片的采集单元;

根据待识别发票信息,对其所在发票图片的区域定位、分割,获得待识别发票信息图片的定位单元;

对待识别发票信息图片的文字内容进行识别,获取待识别发票信息的识别单元。

进一步的,待识别发票信息包括票号序列、公司名称、开票日期、金额和税额。

该系统为基于上述发票图片特定板块的定位、识别方法的系统,其截取发票有效区域、对待识别发票信息所在区域定位、分割及对待识别发票信息图片的文字内容进行识别,获取待识别发票信息等步骤如发票图片特定板块的定位、识别方法部分所述。

根据本发明的另一个方面,提供了一种发票图片特定板块的定位、识别设备,包括存储有计算机程序的计算机可读介质,所述程序被运行用于执行:

获取发票图片;

确定待识别发票信息;

根据待识别发票信息,对其所在发票图片的区域定位、分割,获得待识别发票信息图片;

对待识别发票信息图片的文字内容进行识别,获取待识别发票信息。

该设备为基于上述发票图片特定板块的定位、识别方法的设备,其截取发票有效区域、对待识别发票信息所在区域定位、分割及对待识别发票信息图片的文字内容进行识别,获取待识别发票信息等步骤如发票图片特定板块的定位、识别方法部分所述。

与现有技术相比,本发明具有以下有益效果:

1、本发明示例的发票图片特定板块的定位、识别方法,根据待识别发票信息,对其所在发票图片的区域定位、分割,获得待识别发票信息图片;对待识别发票信息图片的文字内容进行识别,获取待识别发票信息。由于识别之前,直接针对目标进行定位、切割,故每一识别内容所对应的发票信息,清楚明了,开创新的实现了自动每一识别发票,填补了本技术领域的空白,具有广阔的应用前景。

2、本发明示例的发票图片特定板块的定位、识别方法,提取发票的有效区域能够不受发票有效区域在照片的位置角度,明暗程度,图片光线阴影等干扰因素的影响,精确地截取出发票的有效区域;而且进一步检测发票的偏转角度,并摆正图片。进而结合逻辑处理,采用canny轮廓检测、图像文本检测、颜色检测、提取行、列的方法精确地定位到一张图片中每一个待识别的区域,并截取成为一个个的碎片,分别进行识别。确保定位精确,识别准确。

3、本发明示例的发票图片特定板块的定位、识别系统,通过采集单元获取发票图片;通过定位单元,根据待识别发票信息,对其所在发票图片的区域定位、分割,获得待识别发票信息图片;通过识别单元对待识别发票信息图片的文字内容进行识别,获取待识别发票信息,由于待识别发票信息明确,其所在发票的位置明确,故先通过实现确定待识别的发票信息,然后对该发票信息所在区域进行定位、切割获得具有待识别信息内容的图片,然后通过对该图片识别获得相应发票信息,故每一识别过程所所对应的识别信息明确,从根本上解决了现有图像识别算法只能无差别地识别发票图片中的每一个字符,但是无法将所需发票信息区分出来的弊端。使发票信息的获取真正实现了自动化。

4、本发明示例的发票图片特定板块的定位、识别设备,存储、被运行用于执行下述程序:获取发票图片;确定待识别发票信息;根据待识别发票信息,对其所在发票图片的区域定位、分割,获得待识别发票信息图片;对待识别发票信息图片的文字内容进行识别,获取待识别发票信息。仅需发票图片,通过运行上述程序即可自动识别发票信息,无需人工识别,不但保证了准确度,而且也大大提高了效率。

附图说明

图1为本发明的实施例一获取的初始发票图片示意图;

图2为本发明的实施例一摆正的发票图片示意图;

图3为本发明的实施例一摆正发票图片的有效区域示意图;

图4为本发明的实施例一摆正、未颠倒的发票有效区域的示意图;

图5为本发明的实施例一待识别发票信息公司名称的示意图;

图6为本发明的实施例一定位模板示意图;

图7为本发明的实施例一与定位模板匹配程度最高的缩放图;

图8为本发明的实施例一待识别发票信息公司名称所在区域的示意图;

图9为本发明的实施例一待识别发票信息公司名称所在行示意图;

图10为本发明的实施例一待识别发票信息公司名称图片示意图。

具体实施方式

为了更好的了解本发明的技术方案,下面结合具体实施例对本发明作进一步说明。

实施例一:

本实施例提供了一种发票图片特定板块的定位、识别方法,以增值税发票为例进行阐述,该方法包括:

s1、从增值税发票图片中提取并摆正发票有效区域:

发票图片往往是人们在各种不确定的实际条件下拍摄的,所以发票的有效区域在图片中的位置,背景图样,光线,清晰度和发票的旋转角度都是不固定的,这样的情况是无法直接调用图像识别的程序来识别的,所以需要首先定位每一个目标的精确位置将它们分别截取成为单独的碎片在拿去识别。

s1.1、获取发票图片,如图1所示;

s1.2、读取发票图片,利用opencv的houghline算法检测发票图片中所有的线条;计算每条线的偏转角度;找到出现最多次的旋转角度,即为该图片的偏转角度;根据偏转角度逆向旋转图片进而得到摆正的图片,如图2所示;

s1.3、针对摆正的发票图片,首先提取所有细节的轮廓,计算每一像素列的像素值之和,再计算每一像素行的像素值之和,两个向量相乘成为二维数组(可当做二维图片处理);去除这个图片中的横线和竖线进而完全地分割发票区域和背景,获得摆正发票图片的有效区域轮廓,截取,得到发票有效区域的图片,如图3所示,具体为:

提取该摆正发票图片的发票有效区域的轮廓:

分别计算带有未去除背景的整张发票图片的每一像素列的像素值之和、每一像素行的像素值之和,得到两个向量(这里计算的像素行或列之和都是针对包括背景的一整张图片来计算的,因为程序并不知道发票有效区域的轮廓在哪里,而程序需要通过计算像素行列和、相乘、去横线等这些步骤才能找到发票有效区域的轮廓在哪里);

将两个向量相乘,得到二维数组;

将这个二维数组转换成对应的灰度图片(将所有的值按照比例归一化到0到255的范围,从0到255的每个值依次表示从白色到不同等级的灰色再到黑色的灰度值);

通过opencv工具包中的cv2.morphologyex功能(定向过滤图片中的某种形态)定向过滤图片中的横线和竖线(通过改变参数来决定过滤哪种形态),去除图片中的横线和竖线得到发票有效区域轮廓;

s1.4、通过sift算法,找到发票票头的位置是否图片的上方,若否,则将图片上下翻转,最终得到没有偏转角度、未颠倒的只有发票有效区域的发票图片,如图4所示。

s2、根据待识别发票信息,对其所在发票图片的区域定位、分割,获得待识别发票信息图片:

s2.1、确定待识别发票信息:公司名称,如图5所示;

s2.2、根据待识别发票信息,确定定位模板,如图6所示,由于待识别发票信息在发票中的位置固定,可以根据不同的识别信息确定不同的定位模板;

s2.3利用定位模板对整张图进行模板匹配,确定其在发票图片的大体位置,截取待识别发票信息所在区域的部分图片,本发明有目的地定位增值税发票中关注的板块,自动检测过滤掉不需要的区域;

s2.4、对该公司名称信息所在区域的部分图片从比例参数0.8到1.2倍进行10步缩放,获得10张缩放图;

s2.5、运算获得这10张图和定位模板的canny轮廓图,然后从这10张图中通过模板匹配找到与模板相似的区域,同时计算匹配程度,保留匹配程度最高的那张缩放图,如图7所示和匹配区域的位置四个顶点坐标;

s2.6、根据上述得到的四个坐标,框出这四行内容的区域,如图8所示;

s2.7、对框出区域的图像提取所有公司名称文字的像素,再进行逆向二值化(灰度值大于零的像素转化为白色255),得到的是背景为黑色,字为灰色的图像。计算每一个像素行的像素值之和,根据一定的门限值14000,进行文字行与空隙的区分,若像素值之和大于14000的区域为文字行,小于14000的像素行为空隙,由此判断并分割出图像中有字的三行,截取第一行为进一步目标,如图9所示。

s2.8、再对上图计算每一像素列的像素值之和,根据门限值4000,判断并分割出文字区域,进而得到了公司名称区域的图片,如图10所示;

s3、对待识别发票信息图片的文字内容可以采用目前开源的识别打印的汉字串和数字串的工具,比如google的tesseract工具包,通过在程序中调用这个工具包的识别功能可以直接输出图片内容,进行识别,即获取了待识别发票信息。

获取待识别发票信息。

本发明能够用于精确定位增值税发票的特定目标区域,将目标板块一一截取成为目标碎片分别用于识别,能够有效辅助提高发票识别的准确率。

本实施例的一种发票图片特定板块的定位、识别系统,包括:

获取发票图片的采集单元;

根据待识别发票信息,对其所在发票图片的区域定位、分割,获得待识别发票信息图片的定位单元;

对待识别发票信息图片的文字内容进行识别,获取待识别发票信息的识别单元。

本实施例的一种发票图片特定板块的定位、识别设备,包括存储有计算机程序的计算机可读介质,所述程序被运行用于执行:

获取发票图片;

确定待识别发票信息;

根据待识别发票信息,对其所在发票图片的区域定位、分割,获得待识别发票信息图片;

对待识别发票信息图片的文字内容进行识别,获取待识别发票信息。

实施例二:

本实施例与实施例一相同的特征不再赘述,本实施例与实施例一不同的特征在于:

本实施例的一种发票图片特定板块的定位、识别方法中,

s2、根据待识别发票信息,对其所在发票图片的区域定位、分割,获得待识别发票信息图片:

s2.1、确定待识别发票信息:票号序列;

s2.2、根据待识别发票信息,确定定位模板;

s2.3、利用定位模板对整张图进行模板匹配,确定其在发票图片的大体位置,截取待识别发票信息所在区域的部分图片;

s2.4、对该待识别发票信息所在区域的部分图片从比例参数0.8到1.2倍进行10步缩放,获得10张缩放图;

s2.5、运算获得这10张图和定位模板的canny轮廓图,然后从这10张图中通过模板匹配找到与模板相似的区域,同时计算匹配程度,保留匹配程度最高的那张缩放图和匹配区域的位置四个顶点坐标;

s2.6、根据上述得到的四个坐标,框出这四行内容的区域;

s2.7、对框出区域的图像提取所有待识别发票信息文字的像素,再进行逆向二值化(灰度值大于零的像素转化为白色255),得到的是背景为黑色,字为灰色的图像。计算每一个像素行的像素值之和,根据一定的门限值进行文字行与空隙的区分,若像素值之和大于门限值的区域为文字行,小于门限值的像素行为空隙,由此判断并分割出图像中有字的行,截取目标所在行图片。

s2.8、再对上图计算每一像素列的像素值之和,根据门限值,判断并分割出文字区域,进而得到了票号序列区域的图片;

s3、对待识别发票信息图片的文字内容进行识别,获取待识别发票信息。

实施例三:

本实施例与实施例一相同的特征不再赘述,本实施例与实施例一不同的特征在于:

本实施例的一种发票图片特定板块的定位、识别方法中,

s2、根据待识别发票信息,对其所在发票图片的区域定位、分割,获得待识别发票信息图片:

s2.1、确定待识别发票信息:开票日期;

s2.2、根据待识别发票信息,确定定位模板;

s2.3、利用定位模板对整张图进行模板匹配,确定其在发票图片的大体位置,截取待识别发票信息所在区域的部分图片;

s2.4、对该待识别发票信息所在区域的部分图片从比例参数0.8到1.2倍进行15步缩放,获得15张缩放图;

s2.5、运算获得这15张图和定位模板的canny轮廓图,然后从这10张图中通过模板匹配找到与模板相似的区域,同时计算匹配程度,保留匹配程度最高的那张缩放图和匹配区域的位置四个顶点坐标;

s2.6、根据上述得到的四个坐标,框出这四行内容的区域;

s2.7、对框出区域的图像提取所有待识别发票信息文字的像素,再进行逆向二值化,得到的是背景为黑色,字为灰色的图像。计算每一个像素行的像素值之和,根据一定的门限值进行文字行与空隙的区分,若像素值之和大于门限值的区域为文字行,小于门限值的像素行为空隙,由此判断并分割出图像中有字的行,截取目标所在行图片。

s2.8、再对上图计算每一像素列的像素值之和,根据门限值,判断并分割出文字区域,进而得到了开票日期区域的图片;

s3、对待识别发票信息图片的文字内容进行识别,获取待识别发票信息。

实施例四:

本实施例与实施例一相同的特征不再赘述,本实施例与实施例一不同的特征在于:

本实施例的一种发票图片特定板块的定位、识别方法中,

s2、根据待识别发票信息,对其所在发票图片的区域定位、分割,获得待识别发票信息图片:

s2.1、确定待识别发票信息:金额;

s2.2、根据待识别发票信息,确定定位模板;

s2.3、利用定位模板对整张图进行模板匹配,确定其在发票图片的大体位置,截取待识别发票信息所在区域的部分图片;

s2.4、对该待识别发票信息所在区域的部分图片从比例参数0.8到1.2倍进行10步缩放,获得10张缩放图;

s2.5、运算获得这10张图和定位模板的canny轮廓图,然后从这10张图中通过模板匹配找到与模板相似的区域,同时计算匹配程度,保留匹配程度最高的那张缩放图和匹配区域的位置四个顶点坐标;

s2.6、根据上述得到的四个坐标,框出这四行内容的区域;

s2.7、对框出区域的图像提取所有待识别发票信息文字的像素,再进行逆向二值化,得到的是背景为黑色,字为灰色的图像。计算每一个像素行的像素值之和,根据一定的门限值进行文字行与空隙的区分,若像素值之和大于门限值的区域为文字行,小于门限值的像素行为空隙,由此判断并分割出图像中有字的行,截取目标所在行图片。

s2.8、再对上图计算每一像素列的像素值之和,根据门限值,判断并分割出文字区域,进而得到了金额区域的图片;

s3、对待识别发票信息图片的文字内容进行识别,获取待识别发票信息。

实施例五:

本实施例与实施例一相同的特征不再赘述,本实施例与实施例一不同的特征在于:

本实施例的一种发票图片特定板块的定位、识别方法中,

s2、根据待识别发票信息,对其所在发票图片的区域定位、分割,获得待识别发票信息图片:

s2.1、确定待识别发票信息:税额;

s2.2、根据待识别发票信息,确定定位模板;

s2.3、利用定位模板对整张图进行模板匹配,确定其在发票图片的大体位置,截取待识别发票信息所在区域的部分图片;

s2.4、对该待识别发票信息所在区域的部分图片从比例参数0.8到1.2倍进行10步缩放,获得10张缩放图;

s2.5、运算获得这10张图和定位模板的canny轮廓图,然后从这10张图中通过模板匹配找到与模板相似的区域,同时计算匹配程度,保留匹配程度最高的那张缩放图和匹配区域的位置四个顶点坐标;

s2.6、根据上述得到的四个坐标,框出这四行内容的区域;

s2.7、对框出区域的图像提取所有待识别发票信息文字的像素,再进行逆向二值化,得到的是背景为黑色,字为灰色的图像。计算每一个像素行的像素值之和,根据一定的门限值进行文字行与空隙的区分,若像素值之和大于门限值的区域为文字行,小于门限值的像素行为空隙,由此判断并分割出图像中有字的行,截取目标所在行图片。

s2.8、再对上图计算每一像素列的像素值之和,根据门限值,判断并分割出文字区域,进而得到了税额区域的图片;

s3、对待识别发票信息图片的文字内容进行识别,获取待识别发票信息。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能。

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