CN117727059B - 汽车金融发票信息核验方法、装置、电子设备及存储介质 - Google Patents
汽车金融发票信息核验方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117727059B CN117727059B CN202410179129.7A CN202410179129A CN117727059B CN 117727059 B CN117727059 B CN 117727059B CN 202410179129 A CN202410179129 A CN 202410179129A CN 117727059 B CN117727059 B CN 117727059B
- Authority
- CN
- China
- Prior art keywords
- image
- character
- text
- line
- line segment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000012545 processing Methods 0.000 claims abstract description 87
- 238000012795 verification Methods 0.000 claims abstract description 60
- 238000000605 extraction Methods 0.000 claims abstract description 17
- 230000011218 segmentation Effects 0.000 claims description 44
- 238000004422 calculation algorithm Methods 0.000 claims description 30
- 238000001514 detection method Methods 0.000 claims description 18
- 238000001914 filtration Methods 0.000 claims description 12
- 238000012937 correction Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012216 screening Methods 0.000 claims description 6
- 230000001174 ascending effect Effects 0.000 claims description 4
- 230000000877 morphologic effect Effects 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000013461 design Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Landscapes
- Character Input (AREA)
Abstract
本发明公开了一种汽车金融发票信息核验方法、装置、电子设备及存储介质,本发明通过图像识别技术,来对采集的发票图像进行文字提取以及文字识别处理,从而得出汽车金融发票内的发票信息;而后,即可从识别出的发票信息中提取出关键发票信息,并将其发送至税务查询服务器进行发票查询;最后,根据发票查询结果,即可得出该汽车金融发票的核验结果,从而得出其真伪性;由此,本发明相比于传统的人工核验方式,不仅提高了效率,还降低了工作人员的工作量,适用于在发票核验领域的大规模应用与推广。
Description
技术领域
本发明属于信息识别技术领域,具体涉及一种汽车金融发票信息核验方法、装置、电子设备及存储介质。
背景技术
近年来,随着社会快速发展、经济迅猛增长,日新月异的各类金融需求应运而生,汽车金融是现代汽车购买的一种主要消费形式,它是指贷款人向借款人发放的用于购买汽车(含二手车)的贷款,而汽车金融的发票核验方法较为传统,一般是客户购车后将发票等资料提交给汽车金融机构,由机构工作人员采用线下人工查验的办法,来进行发票信息核验,其中,前述核验方法存在以下不足:工作量较大,且审批效率较低;因此,如何提供一种工作量小且核验效率高的汽车金融发票信息核验方法,已成为一个亟待解决的问题。
发明内容
本发明的目的是提供一种汽车金融发票信息核验方法、装置、电子设备及存储介质,用以解决现有技术采用人工核验汽车金融发票所存在的工作量大以及效率低的问题。
为了实现上述目的,本发明采用以下技术方案:
第一方面,提供了一种汽车金融发票信息核验方法,包括:
获取目标汽车金融发票对应的发票图像,并对所述发票图像进行文字检测处理,以得到所述发票图像中的至少一个文字区域图像;
对所述至少一个文字区域图像中的每个文字区域图像进行字符分割处理,以得到每个文字区域图像对应的分割字符序列;
将每个分割字符序列中的各个分割字符,输入至文字识别模型中进行文字识别处理,以得到每个文字区域图像对应的文字识别结果;
从各个文字识别结果中,筛选出属于汽车金融发票关键信息的文字识别结果,以将筛选出的文字识别结果,作为待识别发票信息;
将所述待识别发票信息发送至税务查询服务器,以使所述税务查询服务器在接收到所述待识别发票信息后,基于所述待识别发票信息进行发票信息查询,得出查询结果;
接收税务查询服务器发送的查询结果,并根据所述查询结果,得出所述目标汽车金融发票的信息核验结果。
基于上述公开的内容,本发明先采集目标汽车金融发票对应的发票图像,然后通过图像识别技术,来提取出发票图像中的文字区域图像;接着,再对各个文字区域图像中的文字进行字符分割处理,得到每个文字区域图像对应的分割字符序列;而后,即可将各个分割字符序列中的分割字符,输入至文字识别模型中进行文字识别处理,从而得到每个文字区域图像对应的文字识别结果;如此,前述步骤则相当于从发票图像中提取出了若干发票信息;而在得到若干发票信息后,则可从若干发票信息中,筛选出属于发票关键信息的信息,来作为待识别发票信息;最后,将其发送至税务查询服务器进行发票查询,则可通过查询结果,来得出目标汽车金融发票的信息核验结果;其中,当查询结果为查询出与该待识别发票信息对应的发票时,说明该目标汽车金融发票为真;否则,则说明其为伪造发票。
通过上述设计,本发明通过图像识别技术,来对采集的发票图像进行文字提取以及文字识别处理,从而得出汽车金融发票内的发票信息;而后,即可从识别出的发票信息中提取出关键发票信息,并将其发送至税务查询服务器进行发票查询;最后,根据发票查询结果,即可得出该汽车金融发票的核验结果,从而得出其真伪性;由此,本发明相比于传统的人工核验方式,不仅提高了效率,还降低了工作人员的工作量,适用于在发票核验领域的大规模应用与推广。
在一个可能的设计中,对所述发票图像进行文字检测处理,以得到所述发票图像中的至少一个文字区域图像,包括:
对所述发票图像依次进行去噪处理、图像增强处理以及二值化处理,以得到二值化图像;
遍历所述二值化图像中各个像素点的像素值,以基于各个像素点的像素值,从所述二值化图像中确定出若干文字线段以及每条文字线段的起点行、起点列和终点列,其中,任一文字线段上的像素点为处于所述二值化图像中的文字区域内的像素点;
基于所述若干文字线段以及每条文字线段的起点行、起点列和终点列,从所述二值化图像中,提取出所述至少一个文字区域图像。
在一个可能的设计中,对所述发票图像依次进行去噪处理、图像增强处理以及二值化处理,以得到二值化图像,包括:
对所述发票图像进行灰度变换处理,以得到灰度图像;
采用均值滤波算法、中值滤波算法或形态学去噪算法对所述灰度图像进行去噪处理,得到去噪图像;
对所述去噪图像进行图像均衡化处理,以得到均衡化图像;
对于所述均衡化图像中的第k个像素点,获取所述第k个像素点的二值化区域,其中,所述二值化区域为矩形区域,且所述二值化区域的中心点为所述第k个像素点;
计算出所述二值化区域内像素点的灰度均值,并基于所述灰度均值,计算出所述第k个像素点的灰度阈值;
判断所述第k个像素点的灰度值是否大于或等于所述灰度阈值;
若是,则将所述第k个像素点的灰度值置1,否则,则将所述第k个像素点的灰度值置0;
将k自加1,并重新获取所述第k个像素点的二值化区域,直至k等于K时,得到所述二值化图像,其中,k的初始值为1,且K为所述均衡化图像中的像素点总数。
在一个可能的设计中,遍历所述二值化图像中各个像素点的像素值,以基于各个像素点的像素值,从所述二值化图像中确定出若干文字线段以及每条文字线段的起点行、起点列和终点列,包括:
A. 对于所述二值化图像中的任一行,获取所述任一行中第j列像素点的像素值,并初始化和/>为-1,其中,/>表示当前文字线段的起点列,/>表示当前文字线段的终点列,j 的初始值为1,且当前文字线段的终点列为当前文字线段的末尾像素点所在列,当前文字线段的起点列为当前文字线段的起点像素点所在列;
B. 判断所述任一行中第j列像素点的像素值是否大于0;
C. 若否,则判断是否小于0;
D. 若大于或等于0,则计算j与/>之间的差值,并判断j与/>之间的差值是否小于或等于第一阈值,若/>小于0,则执行步骤H;
E. 若j与之间的差值大于第一阈值,则判断/>与/>之间的差值是否小于或等于第二阈值,若j与/>之间的差值小于或等于第一阈值,则执行步骤H;
F. 若与/>之间的差值大于第二阈值,则判断/>与/>之间的差值是否大于n/2;否则,则将该任一行中的/>与/>之间的像素点的进行像素清零处理,并在像素清零处理后,执行步骤H,其中,n表示所述二值化图像的宽度;
G.若与/>之间的差值小于或等于n/2,则将该任一行中的/>与/>之间的像素点的像素值置为255,以形成该任一行中的一条文字线段,并记录该文字线段对应的/>与/>;
H. 将j自加1,并判断j是否大于所述二值化图像的宽度;
I.若否,则重新获取所述任一行中第j列像素点的像素值,直至j大于所述二值化图像的宽度时,得到处于所述任一行中所有的文字线段,以及每条文字线段对应的与/>;
当将所述二值化图像中所有行均遍历完毕时,得到所述若干文字线段以及每条文字线段的起点行、起点列和终点列。
在一个可能的设计中,若所述任一行中第j列像素点的像素值大于0,则所述方法还包括:
将更新为j,并判断/>是否小于0;
若是,则将更新为j,并执行步骤H,否则,则直接执行步骤H。
在一个可能的设计中,基于所述若干文字线段以及每条文字线段的起点行、起点列和终点列,从所述二值化图像中,提取出所述至少一个文字区域图像,包括:
将每条文字线段的起点行进行升序排列,得到起点行序列;
对于起点行序列中的任一起点行,获取处于所述任一起点行内的文字线段;
对于所述任一起点行内的第m条文字线段,判断第p行的文字线段中,是否存在有符合第一预设条件的文字线段,其中,所述第一预设条件为,且/>表示第p行中的任一条文字线段的起点列,/>表示第p行中的任一条文字线段的终点列,/>表示第m条文字线段的起点列,/>表示第m条文字线段的终点列,t表示第三阈值,p为任一起点行的下一起点行;
若否,则将u自加1,其中,u表示断行数,且u的初始值为0,否则,则将与/>之间的较大者,作为文字区域终点列,以及将/>与/>之前的较小者,作为文字区域起始列,并将u初始化为0;
判断u是否大于最大断行数;
若否,则将p自加1,并重新判断第p行的文字线段中,是否存在有符合预设条件的文字线段,直至u大于最大断行数时,得到所述第m条文字线段的遍历行数,并基于所述第m条文字线段的遍历行数、所述文字区域终点列和所述文字区域终点列,得到所述第m条文字线段对应的文字区域图像的宽度和高度;
判断所述第m条文字线段对应的文字区域图像的宽度和高度是否满足第二预设条件;
若是,则利用所述任一起点行、所述遍历行数、所述文字区域终点列和所述文字区域终点列,从二值化图像中,确定出所述第m条文字线段对应的文字区域图像;
将m自加1,并重新判断第p行的文字线段中,是否存在有符合预设条件的文字线段,直至m等于R时,得到所述任一起点行内每条文字线段对应的文字区域图像,并在将所有起点行中的文字线段均轮询完毕时,得到所述至少一个文字区域图像,其中,m的初始值为1,且R表示所述任一起点行内的文字线段的总数。
在一个可能的设计中,对所述至少一个文字区域图像中的每个文字区域图像进行字符分割处理,以得到每个文字区域图像对应的分割字符序列,包括:
对于至少一个文字区域图像中的任一文字区域图像,对所述任一文字区域图像进行倾斜校正处理,以得到校正文字区域图像;
对所述校正文字区域图像进行垂直投影处理,得到垂直投影图像,并对垂直投影图像进行水平投影处理,得到水平投影图像;
采用水平投影分割算法、字符连通域分割算法或模板匹配分割算法,对所述水平投影图像进行字符分割处理,以在字符分割后,得到所述任一文字区域图像对应的若干单个字符;
利用若干单个字符,并按照分割顺序,组成所述任一文字区域图像对应的分割字符序列。
第二方面,提供了一种汽车金融发票信息核验装置,包括:
文字检测单元,用于获取目标汽车金融发票对应的发票图像,并对所述发票图像进行文字检测处理,以得到所述发票图像中的至少一个文字区域图像;
文字分割单元,用于对所述至少一个文字区域图像中的每个文字区域图像进行字符分割处理,以得到每个文字区域图像对应的分割字符序列;
文字识别单元,用于将每个分割字符序列中的各个分割字符,输入至文字识别模型中进行文字识别处理,以得到每个文字区域图像对应的文字识别结果;
关键信息提取单元,用于从各个文字识别结果中,筛选出属于汽车金融发票关键信息的文字识别结果,以将筛选出的文字识别结果,作为待识别发票信息;
核验单元,用于将所述待识别发票信息发送至税务查询服务器,以使所述税务查询服务器在接收到所述待识别发票信息后,基于所述待识别发票信息进行发票信息查询,得出查询结果;
核验单元,还用于接收税务查询服务器发送的查询结果,并根据所述查询结果,得出所述目标汽车金融发票的信息核验结果。
第三方面,提供了另一种汽车金融发票信息核验装置,以装置为电子设备为例,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面或第一方面中任意一种可能设计的所述汽车金融发票信息核验方法。
第四方面,提供了一种存储介质,存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第一方面中任意一种可能设计的所述汽车金融发票信息核验方法。
第五方面,提供了一种包含指令的计算机程序产品,当指令在计算机上运行时,使计算机执行如第一方面或第一方面中任意一种可能设计的所述汽车金融发票信息核验方法。
有益效果:
(1)本发明通过图像识别技术,来对采集的发票图像进行文字提取以及文字识别处理,从而得出汽车金融发票内的发票信息;而后,即可从识别出的发票信息中提取出关键发票信息,并将其发送至税务查询服务器进行发票查询;最后,根据发票查询结果,即可得出该汽车金融发票的核验结果,从而得出其真伪性;由此,本发明相比于传统的人工核验方式,不仅提高了效率,还降低了工作人员的工作量,适用于在发票核验领域的大规模应用与推广。
附图说明
图1为本发明实施例提供的汽车金融发票信息核验方法的步骤流程示意图;
图2为本发明实施例提供的汽车金融发票信息核验装置的结构示意图;
图3为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将结合附图和实施例或现有技术的描述对本发明作简单地介绍,显而易见地,下面关于附图结构的描述仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在此需要说明的是,对于这些实施例方式的说明用于帮助理解本发明,但并不构成对本发明的限定。
应当理解,尽管本文可能使用术语第一、第二等等来描述各种单元,但是这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。例如可以将第一单元称作第二单元,并且类似地可以将第二单元称作第一单元,同时不脱离本发明的示例实施例的范围。
应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。
实施例:
参见图1所示,本实施例所提供的汽车金融发票信息核验方法,采用机器识别技术,来对汽车金融发票对应的图像进行文字检测以及识别,从而可从图像中提取出汽车金融发票的发票信息;而后,从识别出的发票信息中提取出关键发票信息,并将其发送至税务查询服务器进行发票查询,即可根据发票查询结果来得出该发票的核验结果;由此,本方法相比于传统的人工核验,不仅降低了工作量,还大幅提高了核验效率,因此,适用于在发票核验领域的大规模应用与推广;在本实施例中,举例本方法可以但不限于在发票核验端侧运行,可选的,发票核验端可以但不限于为个人电脑(personal computer,PC)、平板电脑或智能手机,可以理解的,前述执行主体并不构成对本申请实施例的限定,相应的,本方法的运行步骤可以但不限于如下述步骤S1~S6所示。
S1. 获取目标汽车金融发票对应的发票图像,并对所述发票图像进行文字检测处理,以得到所述发票图像中的至少一个文字区域图像;在本实施例中,发票图像可以但不限于通过扫描或拍摄获得,可由工作人员上传至发票核验端;而发票核验端在接收到发票图像后,即可进行图像中的文字检测处理,以进行文字区域图像的提取;其中,举例可以但不限于采用如下步骤S11~S13,来提取出发票图像中的各个文字区域,以得到文字区域图像。
S11. 对所述发票图像依次进行去噪处理、图像增强处理以及二值化处理,以得到二值化图像;在具体实施时,可以但不限于采用滤波算法或去噪算法来进行去噪处理,采用均衡化算法进行图像增强处理;其中,前述处理过程可以但不限于如下述步骤S11a~S11h所示。
S11a. 对所述发票图像进行灰度变换处理,以得到灰度图像;在本实施例中,灰度变换则是将彩色RGB图像,来转换为0-255的灰度图像,一方面,可提高处理速度,另一方面,还可增加对比,突出目标区域;而在得到灰度图像后,则可进行去噪处理;其中,去噪处理过程如下述步骤S11b所示。
S11b. 采用均值滤波算法、中值滤波算法或形态学去噪算法对所述灰度图像进行去噪处理,得到去噪图像;在本实施例中,则是使用非线性滤波或线性滤波来进行图像的平滑,从而实现去噪效果,其中,均值和中值滤波则属于线性滤波算法,而形态学去噪算法则属于非线性滤波算法;当然,前述去噪算法为图像处理领域的常用去噪算法,其原理不再赘述。
在得到完成灰度图像的去噪后,则可进行图像增强处理,如下述步骤S11c所示。
S11c. 对所述去噪图像进行图像均衡化处理,以得到均衡化图像;在具体应用时,图像的均衡化实质是进行直方图均衡化处理,该处理可以增强图像的对比度,以弥补图像或亮或暗的缺陷,有利于图像的后续识别;而在得到均衡化图像后,则可进行二值化处理,其中,二值化处理过程如下述步骤S11d~S11h所示。
S11d. 对于所述均衡化图像中的第k个像素点,获取所述第k个像素点的二值化区域,其中,所述二值化区域为矩形区域,且所述二值化区域的中心点为所述第k个像素点;在本实施例中,举例矩形区域的尺寸可以但不限于a×b,且a和b均为奇数;同时,a和b可根据实际使用而具体设定,在此不作具体限定。
在获取出第k个像素点的二值化区域后,则可进行第k个像素点的灰度阈值的计算,其中,计算过程如下述步骤S11e所示。
S11e. 计算出所述二值化区域内像素点的灰度均值,并基于所述灰度均值,计算出所述第k个像素点的灰度阈值;在具体实施时,举例可以先获取一修正值,然后使用灰度均值加上该修正值,即可得到灰度阈值;同时,修正值可以但不限于采用最佳阈值迭代算法计算出该二值化区域的初始灰度阈值,然后计算该二值化区域中各个像素点的灰度值与初始灰度阈值之间的差值;最后,取所有差值的均值,来作为修正值。
如此,在得到灰度阈值后,即可根据第k个像素点的灰度值与灰度阈值的大小关系,来进行第k个像素点的二值化处理,其中,二值化处理过程如下述步骤S11f和步骤S11g所示。
S11f. 判断所述第k个像素点的灰度值是否大于或等于所述灰度阈值。
S11g. 若是,则将所述第k个像素点的灰度值置1,否则,则将所述第k个像素点的灰度值置0;由此通过前述步骤S11d~S11g,即可完成第k个像素点的二值化处理;而后,以相同原理,来进行下一个像素点的灰度阈值计算,以及二值化处理,直至将所有像素点均处理完毕时,即可得到二值化图像;其中,循环处理过程如下述步骤S11h所示。
S11h. 将k自加1,并重新获取所述第k个像素点的二值化区域,直至k等于K时,得到所述二值化图像,其中,k的初始值为1,且K为所述均衡化图像中的像素点总数。
由此通过前述步骤S11a~S11h,即可完成发票图像的去噪、图像增强以及二值化处理,从而得到二值化图像;同时,本实施例针对每个像素点,会计算出其对应的灰度阈值来进行像素点的二值化,如此,可提高二值化效果,为后续的文字检测提供更为精准的基础图像。
在本实施例中,是通过遍历二值化图像中各个像素点的像素值,来进行文字定位,并提取出组成文字的像素点所形成的线段,而后,即可根据提取出的文字线段,来进行文字区域的确定,从而得出若干文字区域图像;具体的,前述文字线段提取过程可以但不限于如下述步骤S12所示。
S12. 遍历所述二值化图像中各个像素点的像素值,以基于各个像素点的像素值,从所述二值化图像中确定出若干文字线段以及每条文字线段的起点行、起点列和终点列,其中,任一文字线段上的像素点为处于所述二值化图像中的文字区域内的像素点;在具体应用时,是针对二值化图像中各行的像素点,来进行文字线段的提取,其中,下述以二值化图像中的任一行为例,来具体阐述该任一行中文字线段的提取过程,可以但不限于采用如下步骤A~H所示。
A. 对于所述二值化图像中的任一行,获取所述任一行中第j列像素点的像素值,并初始化和/>为-1,其中,/>表示当前文字线段的起点列,/>表示当前文字线段的终点列,j 的初始值为1,且当前文字线段的终点列为当前文字线段的末尾像素点所在列,当前文字线段的起点列为当前文字线段的起点像素点所在列;在本实施例中,若任一行为第一行,那么则是获取第一行第j列像素点的像素值,如此,则是以该第一行第一列像素点为起点,遍历该第一行内所有的像素点,来提取出第一行内所有的文字线段;其中,遍历过程可以但不限于如下述步骤B~H所示。
B. 判断所述任一行中第j列像素点的像素值是否大于0。
C. 若否,则判断是否小于0;在本实施例中,若所述任一行中第j列像素点的像素值大于0,则将/>更新为j,然后判断/>是否小于0,其中,若/>小于0时,则将/>更新为j,并执行步骤H;而若/>大于或等于0,则直接跳转至步骤H,执行下述步骤H;同时,基于/>与0的大小,会执行不同的处理方法,如下述步骤D所示。
D. 若大于或等于0,则计算j与/>之间的差值,并判断j与/>之间的差值是否小于或等于第一阈值,若/>小于0,则执行步骤H;在本实施例中,还是以第一行第一列的像素点的像素值为例,将像素值等于0,那么,则需要执行步骤C,也就是判断/>是否小于0,其初始值为-1,小于0,此时,则需要将j自加1,也就是获取第一行第二列的像素点的像素值,然后在重新执行步骤B;当然,若第一行第一列的像素点的像素值大于0,则将/>更新为1;然后,判断/>是否小于0,并根据判断结果来执行后续步骤;当然,第一行内其余像素点的处理过程与前述举例一致,于此不再赘述。
E. 若j与之间的差值大于第一阈值,则判断/>与/>之间的差值是否小于或等于第二阈值,若j与/>之间的差值小于或等于第一阈值,则执行步骤H;在具体应用时,举例第一阈值可以但不限于为30,即若j与/>之间的差值大于第一阈值,则表示当前黑点距离上一次找到的白点间的间距较小,认为没有超过同一个文字区域,此时,则需要跳转至步骤H(即进行下一个像素点的判断);否则,则表示间距较大,超出当前文字区域;此时,则需要执行判断/>与/>之间的差值是否小于或等于第二阈值,以便基于该判断结果进行后续处理过程,其中,后续处理过程如下述步骤F所示。
F. 若与/>之间的差值大于第二阈值,则判断/>与/>之间的差值是否大于n/2;否则,则将该任一行中的/>与/>之间的像素点的进行像素清零处理,并在像素清零处理后,执行步骤H,其中,n表示所述二值化图像的宽度;在具体应用时,举例第二阈值可以但不限于为10,其中,若/>与/>之间的差值小于或等于第二阈值,则表明二者间形成的线段过短,不是文字区域中的线段,需要将该起点列和终点列之间的像素清零(即像素值置0处理),从而去除非文字区域,清零后,则进行下一个像素点的判断;反之,若/>与/>之间的差值大于第二阈值,则需要进行进一步的判断,也就是判断终点列与起点列之间的差值是否大于二值化图像宽度的一半;而后,则可根据该/>与/>之间的差值与n/2之间的大小关系,来进行线段的提取,其中,线段提取过程如下述步骤G所示。
G.若与/>之间的差值小于或等于n/2,则将该任一行中的/>与/>之间的像素点的像素值置为255,以形成该任一行中的一条文字线段,并记录该文字线段对应的/>与/>;在本实施例中,若/>与/>之间的差值大于n/2,则进行像素清零处理,然后再执行步骤H。
H. 将j自加1,并判断j是否大于所述二值化图像的宽度。
I.若否,则重新获取所述任一行中第j列像素点的像素值,直至j大于所述二值化图像的宽度时,得到处于所述任一行中所有的文字线段,以及每条文字线段对应的与/>。
由此通过前述步骤A~I,即可完成该二值化图像中任一行内属于文字区域内的像素点的提取,而后,将属于文字的像素点的像素值置为255,则可得到该任一行内的文字线段;而后,以前述步骤A~I相同原理,进行其余行中像素点的判断,以及线段提取,即可得到该让二值化图像中所有的文字线段和每条文字线段的起点行、起点列和终点列;即当把所述二值化图像中所有行均遍历完毕时,得到所述若干文字线段以及每条文字线段的起点行、起点列和终点列。
在得到处于文字区域内的文字线段后,即可利用文字线段来进行文字区域的提取,其提取过程可以但不限于如下述步骤S13所示。
S13. 基于所述若干文字线段以及每条文字线段的起点行、起点列和终点列,从所述二值化图像中,提取出所述至少一个文字区域图像;在具体实施时,可以但不限于采用如下步骤S13a~S13i,来提取出至少一个文字区域图像。
S13a. 将每条文字线段的起点行进行升序排列,得到起点行序列;在本实施例,每个文字线段的起点行则是二值化图像中的行数,如第一行、第二行等等,如此,相当于就是从小至大进行排序,而后,对于每一行中的文字线段,则需要通过遍历处于该行后的起点行中的文字线段,来匹配出该行中文字线段对应文字区域图像的起点列、终点列以及终点行,以便基于前述匹配出的起点列、终点列以及终点行,来进行文字区域的提取;其中,由于每一行中各文字线段对应图像区域的提取过程相同,下述以任一起点行为例,来具体阐述,如下述步骤S13b~S13h所示。
S13b. 对于起点行序列中的任一起点行,获取处于所述任一起点行内的文字线段;在本实施例中,假设任一起点行为二值化图像中的第一行,那么,则获取隶属于第一行的文字线段;而后,则需要遍历第一行内所有的文字线段,来确定出第一行内所有的文字线段对应的文字区域;其中,提取过程如下述步骤S13c~S13i所示。
S13c. 对于所述任一起点行内的第m条文字线段,判断第p行的文字线段中,是否存在有符合第一预设条件的文字线段,其中,所述第一预设条件为,且/>表示第p行中的任一条文字线段的起点列,/>表示第p行中的任一条文字线段的终点列,/>表示第m条文字线段的起点列,/>表示第m条文字线段的终点列,t表示第三阈值,p为任一起点行的下一起点行。
在本实施例中,假设任一起点行为第一行,那么p则为2,也就是在隶属于第二行的文字线段中,判断是否存在有满足第一预设条件的文字线段;其中,对于第二行中的任一条文字线段,则是判断该任一条文字线段的起点列与第m条文字线段的起点列之间的差值是否小于t,以及该任一条文字线段的终点列与第m条文字线段的终点列之间的差值是否小于t;若是,则满足前述第一预设条件,若存前述两个差值存在其中一个差值,大于或等于t,则不满足前述第一预设条件;其中,t的取值为:第m条文字线段的终点列与起点列之间的差值,乘以0.6后所得到的结果。
更进一步的,前述判断过程的后续处理过程如下述步骤S13d所示。
S13d. 若否,则将u自加1,其中,u表示断行数,且u的初始值为0,否则,则将与之间的较大者,作为文字区域终点列,以及将/>与/>之前的较小者,作为文字区域起始列,并将u初始化为0;在本实施例,第p行的文字线段中,存在有符合第一预设条件的文字线段时,则可确定出文字区域终点列和起点列,且需要将断行数初始化为0,然后,再进行下一行的判断(即第三行中文字线段的匹配);而若不满足前述第一预设条件,则需要将断行数加1,也就是表示不存在有与第m条文字线段匹配的起点行,此时,则需要进行断行数的阈值判断,并在判断出小于阈值时,需要进行下一行的匹配,其中,遍历匹配过程如下述步骤S13e~S13i所示。
S13e. 判断u是否大于最大断行数;在本实施例中,最大断行数可以但不限于为3。
S13f. 若否,则将p自加1,并重新判断第p行的文字线段中,是否存在有符合预设条件的文字线段,直至u大于最大断行数时,得到所述第m条文字线段的遍历行数,并基于所述第m条文字线段的遍历行数、所述文字区域终点列和所述文字区域终点列,得到所述第m条文字线段对应的文字区域图像的宽度和高度。
在本实施例中,假设该任一行为第一行,在u大于最大断行数时,其对应的p值为10,那么,遍历行数则为10-1=9行,同时,假设在第7行时,开始连续不满足第一预设条件,那么文字区域图像的宽度则为:第六行中的文字线段满足第一预设条件时,所计算得到的文字区域终点列与文字区域起点列之间的差值;而高度则是前述遍历行数+1,则为10;当然,当p取值不同时,前述宽度和高度的计算原理与前述举例相同,于此不再赘述。
在得到前述第m条文字线段对应的文字区域图像的宽度和高度后,即可判断二者是否满足第二预设条件,其中,判断过程如下述步骤S13g所示。
S13g. 判断所述第m条文字线段对应的文字区域图像的宽度和高度是否满足第二预设条件;在具体实施时,举例第二预设条件可以但不限于为文字区域图像的高度大于8,宽度大于高度,且宽度小于20倍的高度;如此,满足前述第二预设条件时,则可利用前述任一起点行、所述遍历行数、所述文字区域终点列和所述文字区域终点列,来提取出该第m条文字线段对应的文字区域;其中,提取过程如下述步骤S13h所示。
S13h. 若是,则利用所述任一起点行、所述遍历行数、所述文字区域终点列和所述文字区域终点列,从二值化图像中,确定出所述第m条文字线段对应的文字区域图像;在本实施例中,还是在前述举例的基础上进行阐述,则是将第一行至第10行(遍历行数为9,那么终点行则为第10行),以及第六行中的文字线段满足第一预设条件时,所计算得到的文字区域终点列与文字区域起点列之间的区域,作为该第m条文字线段的文字区域图像。
如此,基于前述步骤S13a~S13h,即可得到第m条文字线段的文字区域图像,而后,以相同原理,进行该任一起点行内下一条文字线段的文字区域提取以及其余行内文字线段的文字区域提取,直至遍历完该所有起点行内所有文字线段时,得到至少一个文字区域图像;其中,循环过程如下述步骤S13i所示。
S13i.将m自加1,并重新判断第p行的文字线段中,是否存在有符合预设条件的文字线段,直至m等于R时,得到所述任一起点行内每条文字线段对应的文字区域图像,并在将所有起点行中的文字线段均轮询完毕时,得到所述至少一个文字区域图像,其中,m的初始值为1,且R表示所述任一起点行内的文字线段的总数。
由此通过前述步骤S13a~S13i,即可从发票图像中提取出至少一个文字区域图像,而后,即可对各个文字区域图像进行字符分割处理,从而来得到各个文字区域图像对应的分割字符,其中,字符分割过程如下述步骤S2所示。
S2. 对所述至少一个文字区域图像中的每个文字区域图像进行字符分割处理,以得到每个文字区域图像对应的分割字符序列;在本实施例中,由于各个文字区域图像的字符分割过程相同,下述以任一文字区域图像为例,来阐述前述分割过程,可以但不限于采用如下步骤S21~S24所示。
S21. 对于至少一个文字区域图像中的任一文字区域图像,对所述任一文字区域图像进行倾斜校正处理,以得到校正文字区域图像;在本实施例中,举例可以但不限于采用霍夫变换,来进行该任一文字区域图像的倾斜校正处理;而在得到倾斜校正图像后,则可进行字符分割处理,其中,分割过程如下述步骤S22~S24所示。
S22. 对所述校正文字区域图像进行垂直投影处理,得到垂直投影图像,并对垂直投影图像进行水平投影处理,得到水平投影图像。
S23. 采用水平投影分割算法、字符连通域分割算法或模板匹配分割算法,对所述水平投影图像进行字符分割处理,以在字符分割后,得到所述任一文字区域图像对应的若干单个字符;在本实施例中,垂直投影处理和水平投影处理为字符分割的常用技术,同理,字符连通域分割算法和模板匹配分割算法同样如此,其原理不再赘述。
在得到任一文字区域图像分割出的单个字符后,即可按照分割顺序,来组成分割字符序列,其中,该过程如下述步骤S24所示。
S24. 利用若干单个字符,并按照分割顺序,组成所述任一文字区域图像对应的分割字符序列。
由此通过前述步骤S21~S24,即可完成所有文字区域图像的字符分割,从而得到各个文字区域图像的分割字符序列;而后,即可对各个分割字符序列中的分割字符进行文字识别,即可得到每个文字区域图像的文字识别结果,从而提取出发票图像中的发票信息;具体的,文字识别过程如下述步骤S3所示。
S3. 将每个分割字符序列中的各个分割字符,输入至文字识别模型中进行文字识别处理,以得到每个文字区域图像对应的文字识别结果;在本实施例中,举例可以但不限于将训练后的CNN卷积网络、LSTM网络或CTC网络,来作为文字识别模型;其中,以CNN卷积网络为例,则是以海量样本文字区域图像的样本分割字符序列为输入,各个样本文字区域图像的文字识别结果为输出,来训练得到的;同时,除了前述使用神经网络来进行文字识别外,还可使用模板匹配以及特征匹配的文字识别算法;在本实施例中,优选为使用神经网络进行文字识别。
在得到各个文字区域图像的文字识别结果后,则可提取出关键发票信息,以便基于关键发票信息来进行发票查询,从而得出该目标汽车金融发票的核验结果;其中,关键发票信息的提取过程可以但不限于如下述步骤S4所示。
S4. 从各个文字识别结果中,筛选出属于汽车金融发票关键信息的文字识别结果,以将筛选出的文字识别结果,作为待识别发票信息;在本实施例中,将进行发票查询所必要的发票信息,作为待识别发票信息,如将文字识别结果中属于发票代码、发票号码、开票日期、发票金额、验证码等作为待识别发票信息;当然,可根据不同税务查询平台所需的发票查询信息而具体设定发票关键信息,在此不限定于前述举例。
在得到提取出的发票信息中的关键发票信息后,则可将其发送至税务查询服务器进行发票查询,从而根据发票查询结果,来得出该目标汽车金融发票的信息核验结果;其中,核验过程如下述步骤S5和步骤S6所示。
S5. 将所述待识别发票信息发送至税务查询服务器,以使所述税务查询服务器在接收到所述待识别发票信息后,基于所述待识别发票信息进行发票信息查询,得出查询结果;在本实施例中,查询结果为查询出与该待识别发票信息的汽车金融发票,或查询为空。
S6. 接收税务查询服务器发送的查询结果,并根据所述查询结果,得出所述目标汽车金融发票的信息核验结果;在本实施例中,若查询结果为查询出与该待识别发票信息的汽车金融发票,则判定该目标汽车金融发票为真实发票,其信息核验结果为真实发票,核验通过;而若查询结果为查询为空,则判定该目标汽车金融发票伪造发票,信息核验结果则为伪造发票,核验不通过。
由此通过前述步骤S1~S6所详细描述的汽车金融发票信息核验方法,本发明采用机器识别技术,来对汽车金融发票对应的图像进行文字检测以及识别,从而可从图像中提取出汽车金融发票的发票信息;而后,从识别出的发票信息中提取出关键发票信息,并将其发送至税务查询服务器进行发票查询,即可根据发票查询结果来得出该发票的核验结果;由此,本方法相比于传统的人工核验,不仅降低了工作量,还大幅提高了核验效率,因此,适用于在发票核验领域的大规模应用与推广。
如图2所示,本实施例第二方面提供了一种实现实施例第一方面中所述的汽车金融发票信息核验方法的硬件装置,包括:
文字检测单元,用于获取目标汽车金融发票对应的发票图像,并对所述发票图像进行文字检测处理,以得到所述发票图像中的至少一个文字区域图像;
文字分割单元,用于对所述至少一个文字区域图像中的每个文字区域图像进行字符分割处理,以得到每个文字区域图像对应的分割字符序列;
文字识别单元,用于将每个分割字符序列中的各个分割字符,输入至文字识别模型中进行文字识别处理,以得到每个文字区域图像对应的文字识别结果;
关键信息提取单元,用于从各个文字识别结果中,筛选出属于汽车金融发票关键信息的文字识别结果,以将筛选出的文字识别结果,作为待识别发票信息;
核验单元,用于将所述待识别发票信息发送至税务查询服务器,以使所述税务查询服务器在接收到所述待识别发票信息后,基于所述待识别发票信息进行发票信息查询,得出查询结果;
核验单元,还用于接收税务查询服务器发送的查询结果,并根据所述查询结果,得出所述目标汽车金融发票的信息核验结果。
本实施例提供的装置的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
如图3所示,本实施例第三方面提供了另一种汽车金融发票信息核验装置,以装置为电子设备为例,包括:依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如实施例第一方面所述的汽车金融发票信息核验方法。
具体举例的,所述存储器可以但不限于包括随机存取存储器(random accessmemory,RAM)、只读存储器(Read Only Memory ,ROM)、闪存(Flash Memory)、先进先出存储器(First Input First Output,FIFO)和/或先进后出存储器(First In Last Out,FILO)等等;具体地,处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现,同时,处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。
在一些实施例中,处理器可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制,例如,所述处理器可以不限于采用型号为STM32F105系列的微处理器、精简指令集计算机(reduced instruction setcomputer,RISC)微处理器、X86等架构处理器或集成嵌入式神经网络处理器(neural-network processing units,NPU)的处理器;所述收发器可以但不限于为无线保真(WIFI)无线收发器、蓝牙无线收发器、通用分组无线服务技术(General Packet Radio Service,GPRS)无线收发器、紫蜂协议(基于IEEE802.15.4标准的低功耗局域网协议,ZigBee)无线收发器、3G收发器、4G收发器和/或5G收发器等。此外,所述装置还可以但不限于包括有电源模块、显示屏和其它必要的部件。
本实施例提供的电子设备的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
本实施例第四方面提供了一种存储包含有实施例第一方面所述的汽车金融发票信息核验方法的指令的存储介质,即所述存储介质上存储有指令,当所述指令在计算机上运行时,执行如实施例第一方面所述的汽车金融发票信息核验方法。
其中,所述存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(Memory Stick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
本实施例提供的存储介质的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
本实施例第五方面提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如实施例第一方面所述的汽车金融发票信息核验方法,其中,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种汽车金融发票信息核验方法,其特征在于,包括:
获取目标汽车金融发票对应的发票图像,并对所述发票图像进行文字检测处理,以得到所述发票图像中的至少一个文字区域图像;
对所述至少一个文字区域图像中的每个文字区域图像进行字符分割处理,以得到每个文字区域图像对应的分割字符序列;
将每个分割字符序列中的各个分割字符,输入至文字识别模型中进行文字识别处理,以得到每个文字区域图像对应的文字识别结果;
从各个文字识别结果中,筛选出属于汽车金融发票关键信息的文字识别结果,以将筛选出的文字识别结果,作为待识别发票信息;
将所述待识别发票信息发送至税务查询服务器,以使所述税务查询服务器在接收到所述待识别发票信息后,基于所述待识别发票信息进行发票信息查询,得出查询结果;
接收税务查询服务器发送的查询结果,并根据所述查询结果,得出所述目标汽车金融发票的信息核验结果;
对所述发票图像进行文字检测处理,以得到所述发票图像中的至少一个文字区域图像,包括:
对所述发票图像依次进行去噪处理、图像增强处理以及二值化处理,以得到二值化图像;
遍历所述二值化图像中各个像素点的像素值,以基于各个像素点的像素值,从所述二值化图像中确定出若干文字线段以及每条文字线段的起点行、起点列和终点列,其中,任一文字线段上的像素点为处于所述二值化图像中的文字区域内的像素点;
基于所述若干文字线段以及每条文字线段的起点行、起点列和终点列,从所述二值化图像中,提取出所述至少一个文字区域图像;
遍历所述二值化图像中各个像素点的像素值,以基于各个像素点的像素值,从所述二值化图像中确定出若干文字线段以及每条文字线段的起点行、起点列和终点列,包括:
A. 对于所述二值化图像中的任一行,获取所述任一行中第j列像素点的像素值,并初始化和/>为-1,其中,/>表示当前文字线段的起点列,/>表示当前文字线段的终点列,j的初始值为1,且当前文字线段的终点列为当前文字线段的末尾像素点所在列,当前文字线段的起点列为当前文字线段的起点像素点所在列;
B. 判断所述任一行中第j列像素点的像素值是否大于0;
C. 若否,则判断是否小于0;
D. 若大于或等于0,则计算j与/>之间的差值,并判断j与/>之间的差值是否小于或等于第一阈值,若/>小于0,则执行步骤H;
E. 若j与之间的差值大于第一阈值,则判断/>与/>之间的差值是否小于或等于第二阈值,若j与/>之间的差值小于或等于第一阈值,则执行步骤H;
F. 若与/>之间的差值大于第二阈值,则判断/>与/>之间的差值是否大于n/2;否则,则将该任一行中的/>与/>之间的像素点的进行像素清零处理,并在像素清零处理后,执行步骤H,其中,n表示所述二值化图像的宽度;
G.若与/>之间的差值小于或等于n/2,则将该任一行中的/>与/>之间的像素点的像素值置为255,以形成该任一行中的一条文字线段,并记录该文字线段对应的/>与/>;
H. 将j自加1,并判断j是否大于所述二值化图像的宽度;
I.若否,则重新获取所述任一行中第j列像素点的像素值,直至j大于所述二值化图像的宽度时,得到处于所述任一行中所有的文字线段,以及每条文字线段对应的与/>;
当将所述二值化图像中所有行均遍历完毕时,得到所述若干文字线段以及每条文字线段的起点行、起点列和终点列;
若所述任一行中第j列像素点的像素值大于0,则所述方法还包括:
将更新为j,并判断/>是否小于0;
若是,则将更新为j,并执行步骤H,否则,则直接执行步骤H;
基于所述若干文字线段以及每条文字线段的起点行、起点列和终点列,从所述二值化图像中,提取出所述至少一个文字区域图像,包括:
将每条文字线段的起点行进行升序排列,得到起点行序列;
对于起点行序列中的任一起点行,获取处于所述任一起点行内的文字线段;
对于所述任一起点行内的第m条文字线段,判断第p行的文字线段中,是否存在有符合第一预设条件的文字线段,其中,所述第一预设条件为,且/>表示第p行中的任一条文字线段的起点列,/>表示第p行中的任一条文字线段的终点列,/>表示第m条文字线段的起点列,/>表示第m条文字线段的终点列,t表示第三阈值,p为任一起点行的下一起点行;
若否,则将u自加1,其中,u表示断行数,且u的初始值为0,否则,则将与/>之间的较大者,作为文字区域终点列,以及将/>与/>之间的较小者,作为文字区域起始列,并将u初始化为0;
判断u是否大于最大断行数;
若否,则将p自加1,并重新判断第p行的文字线段中,是否存在有符合预设条件的文字线段,直至u大于最大断行数时,得到所述第m条文字线段的遍历行数,并基于所述第m条文字线段的遍历行数、所述文字区域终点列和所述文字区域终点列,得到所述第m条文字线段对应的文字区域图像的宽度和高度;
判断所述第m条文字线段对应的文字区域图像的宽度和高度是否满足第二预设条件;
若是,则利用所述任一起点行、所述遍历行数、所述文字区域终点列和所述文字区域终点列,从二值化图像中,确定出所述第m条文字线段对应的文字区域图像;
将m自加1,并重新判断第p行的文字线段中,是否存在有符合预设条件的文字线段,直至m等于R时,得到所述任一起点行内每条文字线段对应的文字区域图像,并在将所有起点行中的文字线段均轮询完毕时,得到所述至少一个文字区域图像,其中,m的初始值为1,且R表示所述任一起点行内的文字线段的总数。
2.根据权利要求1所述的方法,其特征在于,对所述发票图像依次进行去噪处理、图像增强处理以及二值化处理,以得到二值化图像,包括:
对所述发票图像进行灰度变换处理,以得到灰度图像;
采用均值滤波算法、中值滤波算法或形态学去噪算法对所述灰度图像进行去噪处理,得到去噪图像;
对所述去噪图像进行图像均衡化处理,以得到均衡化图像;
对于所述均衡化图像中的第k个像素点,获取所述第k个像素点的二值化区域,其中,所述二值化区域为矩形区域,且所述二值化区域的中心点为所述第k个像素点;
计算出所述二值化区域内像素点的灰度均值,并基于所述灰度均值,计算出所述第k个像素点的灰度阈值;
判断所述第k个像素点的灰度值是否大于或等于所述灰度阈值;
若是,则将所述第k个像素点的灰度值置1,否则,则将所述第k个像素点的灰度值置0;
将k自加1,并重新获取所述第k个像素点的二值化区域,直至k等于K时,得到所述二值化图像,其中,k的初始值为1,且K为所述均衡化图像中的像素点总数。
3.根据权利要求1所述的方法,其特征在于,对所述至少一个文字区域图像中的每个文字区域图像进行字符分割处理,以得到每个文字区域图像对应的分割字符序列,包括:
对于至少一个文字区域图像中的任一文字区域图像,对所述任一文字区域图像进行倾斜校正处理,以得到校正文字区域图像;
对所述校正文字区域图像进行垂直投影处理,得到垂直投影图像,并对垂直投影图像进行水平投影处理,得到水平投影图像;
采用水平投影分割算法、字符连通域分割算法或模板匹配分割算法,对所述水平投影图像进行字符分割处理,以在字符分割后,得到所述任一文字区域图像对应的若干单个字符;
利用若干单个字符,并按照分割顺序,组成所述任一文字区域图像对应的分割字符序列。
4.一种汽车金融发票信息核验装置,其特征在于,包括:
文字检测单元,用于获取目标汽车金融发票对应的发票图像,并对所述发票图像进行文字检测处理,以得到所述发票图像中的至少一个文字区域图像;
文字分割单元,用于对所述至少一个文字区域图像中的每个文字区域图像进行字符分割处理,以得到每个文字区域图像对应的分割字符序列;
文字识别单元,用于将每个分割字符序列中的各个分割字符,输入至文字识别模型中进行文字识别处理,以得到每个文字区域图像对应的文字识别结果;
关键信息提取单元,用于从各个文字识别结果中,筛选出属于汽车金融发票关键信息的文字识别结果,以将筛选出的文字识别结果,作为待识别发票信息;
核验单元,用于将所述待识别发票信息发送至税务查询服务器,以使所述税务查询服务器在接收到所述待识别发票信息后,基于所述待识别发票信息进行发票信息查询,得出查询结果;
核验单元,还用于接收税务查询服务器发送的查询结果,并根据所述查询结果,得出所述目标汽车金融发票的信息核验结果;
对所述发票图像进行文字检测处理,以得到所述发票图像中的至少一个文字区域图像,包括:
对所述发票图像依次进行去噪处理、图像增强处理以及二值化处理,以得到二值化图像;
遍历所述二值化图像中各个像素点的像素值,以基于各个像素点的像素值,从所述二值化图像中确定出若干文字线段以及每条文字线段的起点行、起点列和终点列,其中,任一文字线段上的像素点为处于所述二值化图像中的文字区域内的像素点;
基于所述若干文字线段以及每条文字线段的起点行、起点列和终点列,从所述二值化图像中,提取出所述至少一个文字区域图像;
遍历所述二值化图像中各个像素点的像素值,以基于各个像素点的像素值,从所述二值化图像中确定出若干文字线段以及每条文字线段的起点行、起点列和终点列,包括:
A. 对于所述二值化图像中的任一行,获取所述任一行中第j列像素点的像素值,并初始化和/>为-1,其中,/>表示当前文字线段的起点列,/>表示当前文字线段的终点列,j的初始值为1,且当前文字线段的终点列为当前文字线段的末尾像素点所在列,当前文字线段的起点列为当前文字线段的起点像素点所在列;
B. 判断所述任一行中第j列像素点的像素值是否大于0;
C. 若否,则判断是否小于0;
D. 若大于或等于0,则计算j与/>之间的差值,并判断j与/>之间的差值是否小于或等于第一阈值,若/>小于0,则执行步骤H;
E. 若j与之间的差值大于第一阈值,则判断/>与/>之间的差值是否小于或等于第二阈值,若j与/>之间的差值小于或等于第一阈值,则执行步骤H;
F. 若与/>之间的差值大于第二阈值,则判断/>与/>之间的差值是否大于n/2;否则,则将该任一行中的/>与/>之间的像素点的进行像素清零处理,并在像素清零处理后,执行步骤H,其中,n表示所述二值化图像的宽度;
G.若与/>之间的差值小于或等于n/2,则将该任一行中的/>与/>之间的像素点的像素值置为255,以形成该任一行中的一条文字线段,并记录该文字线段对应的/>与/>;
H. 将j自加1,并判断j是否大于所述二值化图像的宽度;
I.若否,则重新获取所述任一行中第j列像素点的像素值,直至j大于所述二值化图像的宽度时,得到处于所述任一行中所有的文字线段,以及每条文字线段对应的与/>;
当将所述二值化图像中所有行均遍历完毕时,得到所述若干文字线段以及每条文字线段的起点行、起点列和终点列;
若所述任一行中第j列像素点的像素值大于0,则还包括:
将更新为j,并判断/>是否小于0;
若是,则将更新为j,并执行步骤H,否则,则直接执行步骤H;
基于所述若干文字线段以及每条文字线段的起点行、起点列和终点列,从所述二值化图像中,提取出所述至少一个文字区域图像,包括:
将每条文字线段的起点行进行升序排列,得到起点行序列;
对于起点行序列中的任一起点行,获取处于所述任一起点行内的文字线段;
对于所述任一起点行内的第m条文字线段,判断第p行的文字线段中,是否存在有符合第一预设条件的文字线段,其中,所述第一预设条件为,且/>表示第p行中的任一条文字线段的起点列,/>表示第p行中的任一条文字线段的终点列,/>表示第m条文字线段的起点列,/>表示第m条文字线段的终点列,t表示第三阈值,p为任一起点行的下一起点行;
若否,则将u自加1,其中,u表示断行数,且u的初始值为0,否则,则将与/>之间的较大者,作为文字区域终点列,以及将/>与/>之间的较小者,作为文字区域起始列,并将u初始化为0;
判断u是否大于最大断行数;
若否,则将p自加1,并重新判断第p行的文字线段中,是否存在有符合预设条件的文字线段,直至u大于最大断行数时,得到所述第m条文字线段的遍历行数,并基于所述第m条文字线段的遍历行数、所述文字区域终点列和所述文字区域终点列,得到所述第m条文字线段对应的文字区域图像的宽度和高度;
判断所述第m条文字线段对应的文字区域图像的宽度和高度是否满足第二预设条件;
若是,则利用所述任一起点行、所述遍历行数、所述文字区域终点列和所述文字区域终点列,从二值化图像中,确定出所述第m条文字线段对应的文字区域图像;
将m自加1,并重新判断第p行的文字线段中,是否存在有符合预设条件的文字线段,直至m等于R时,得到所述任一起点行内每条文字线段对应的文字区域图像,并在将所有起点行中的文字线段均轮询完毕时,得到所述至少一个文字区域图像,其中,m的初始值为1,且R表示所述任一起点行内的文字线段的总数。
5.一种电子设备,其特征在于,包括:依次通信相连的存储器、处理器和收发器,其中,存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如权利要求1~4任意一项所述的汽车金融发票信息核验方法。
6.一种存储介质,其特征在于,所述存储介质上存储有指令,当指令在计算机上运行时,执行如权利要求1~4任意一项所述的汽车金融发票信息核验方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410179129.7A CN117727059B (zh) | 2024-02-18 | 2024-02-18 | 汽车金融发票信息核验方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410179129.7A CN117727059B (zh) | 2024-02-18 | 2024-02-18 | 汽车金融发票信息核验方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117727059A CN117727059A (zh) | 2024-03-19 |
CN117727059B true CN117727059B (zh) | 2024-05-03 |
Family
ID=90203845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410179129.7A Active CN117727059B (zh) | 2024-02-18 | 2024-02-18 | 汽车金融发票信息核验方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117727059B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105528606A (zh) * | 2015-10-30 | 2016-04-27 | 小米科技有限责任公司 | 区域识别方法及装置 |
CN105844275A (zh) * | 2016-03-25 | 2016-08-10 | 北京云江科技有限公司 | 文本图像中文本行的定位方法 |
CN106228675A (zh) * | 2016-07-22 | 2016-12-14 | 金蝶软件(中国)有限公司 | 识别发票真伪的方法和装置 |
US9792524B1 (en) * | 2015-07-22 | 2017-10-17 | Amazon Technologies, Inc. | Gap shifting for automatic recognition of tabular text |
CN109284750A (zh) * | 2018-08-14 | 2019-01-29 | 北京市商汤科技开发有限公司 | 票据识别方法及装置、电子设备及存储介质 |
CN111476109A (zh) * | 2020-03-18 | 2020-07-31 | 深圳中兴网信科技有限公司 | 票据处理方法、票据处理装置和计算机可读存储介质 |
WO2020233270A1 (zh) * | 2019-05-20 | 2020-11-26 | 京东方科技集团股份有限公司 | 票据分析方法、分析装置、计算机设备和介质 |
CN113223228A (zh) * | 2021-05-10 | 2021-08-06 | 建信金融科技有限责任公司 | 汽车金融发票信息核验方法和装置 |
CN115376149A (zh) * | 2022-08-31 | 2022-11-22 | 浙江康旭科技有限公司 | 一种报销发票识别方法 |
CN116343237A (zh) * | 2021-08-02 | 2023-06-27 | 北京工业大学 | 基于深度学习和知识图谱的票据识别方法 |
CN117112916A (zh) * | 2023-10-25 | 2023-11-24 | 蓝色火焰科技成都有限公司 | 一种基于车联网的金融信息查询方法、装置及存储介质 |
-
2024
- 2024-02-18 CN CN202410179129.7A patent/CN117727059B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9792524B1 (en) * | 2015-07-22 | 2017-10-17 | Amazon Technologies, Inc. | Gap shifting for automatic recognition of tabular text |
CN105528606A (zh) * | 2015-10-30 | 2016-04-27 | 小米科技有限责任公司 | 区域识别方法及装置 |
CN105844275A (zh) * | 2016-03-25 | 2016-08-10 | 北京云江科技有限公司 | 文本图像中文本行的定位方法 |
CN106228675A (zh) * | 2016-07-22 | 2016-12-14 | 金蝶软件(中国)有限公司 | 识别发票真伪的方法和装置 |
CN109284750A (zh) * | 2018-08-14 | 2019-01-29 | 北京市商汤科技开发有限公司 | 票据识别方法及装置、电子设备及存储介质 |
WO2020233270A1 (zh) * | 2019-05-20 | 2020-11-26 | 京东方科技集团股份有限公司 | 票据分析方法、分析装置、计算机设备和介质 |
CN111476109A (zh) * | 2020-03-18 | 2020-07-31 | 深圳中兴网信科技有限公司 | 票据处理方法、票据处理装置和计算机可读存储介质 |
CN113223228A (zh) * | 2021-05-10 | 2021-08-06 | 建信金融科技有限责任公司 | 汽车金融发票信息核验方法和装置 |
CN116343237A (zh) * | 2021-08-02 | 2023-06-27 | 北京工业大学 | 基于深度学习和知识图谱的票据识别方法 |
CN115376149A (zh) * | 2022-08-31 | 2022-11-22 | 浙江康旭科技有限公司 | 一种报销发票识别方法 |
CN117112916A (zh) * | 2023-10-25 | 2023-11-24 | 蓝色火焰科技成都有限公司 | 一种基于车联网的金融信息查询方法、装置及存储介质 |
Non-Patent Citations (3)
Title |
---|
A financial ticket image intelligent recognition system based on deep learning;Hanning Zhang等;《Knowledge-Based Systems》;20210621;第222卷;1-14 * |
发票文字信息检测与识别技术研究;项全星;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20220315(第3期);I138-2569 * |
基于深度学习的票据识别系统的研究与实现;李冰;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20240115(第1期);I138-808 * |
Also Published As
Publication number | Publication date |
---|---|
CN117727059A (zh) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112580643B (zh) | 一种基于深度学习的车牌识别方法、装置及存储介质 | |
CN110781885A (zh) | 基于图像处理的文本检测方法、装置、介质及电子设备 | |
CN111680690B (zh) | 一种文字识别方法及装置 | |
CN112395996A (zh) | 财务票据ocr识别及影像处理方法、系统及可读存储介质 | |
CN101615244A (zh) | 手写板坯号自动识别方法及识别装置 | |
CN108932449B (zh) | 一种基于聚类的条码二值化方法及系统 | |
CN114444565B (zh) | 一种图像篡改检测方法、终端设备及存储介质 | |
CN109508716B (zh) | 一种图像文字的定位方法及装置 | |
CN109740553A (zh) | 一种基于识别的图像语义分割数据筛选方法及系统 | |
CN116152261B (zh) | 一种印刷制品质量的视觉检测系统 | |
CN112651340A (zh) | 一种购物小票的文字识别方法、系统、终端设备和存储介质 | |
CN114612489A (zh) | 一种基于自编码神经网络的图像边缘提取方法及系统 | |
CN116434346B (zh) | 无人值守商店内顾客行为的检测方法、装置及存储介质 | |
CN117132990A (zh) | 铁路车厢信息的识别方法、装置、电子设备及存储介质 | |
CN111179289B (zh) | 一种适用于网页长图宽图的图像分割方法 | |
CN117727059B (zh) | 汽车金融发票信息核验方法、装置、电子设备及存储介质 | |
Arsenovic et al. | Deep learning driven plates recognition system | |
CN111414889A (zh) | 基于文字识别的财务报表识别方法及装置 | |
CN116740572A (zh) | 一种基于改进yolox的海上船舰目标检测方法和系统 | |
Srikanth et al. | Automatic vehicle number plate detection and recognition systems: Survey and implementation | |
CN111753842B (zh) | 票据文本区域检测方法及装置 | |
CN111754459B (zh) | 基于统计深度特征的染色伪造图像检测方法及电子装置 | |
CN114612647A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN113065404A (zh) | 基于等宽文字片段的火车票内容检测方法与系统 | |
CN115424250A (zh) | 一种车牌识别方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |