CN107622266B - 一种ocr识别的处理方法、存储介质和服务器 - Google Patents
一种ocr识别的处理方法、存储介质和服务器 Download PDFInfo
- Publication number
- CN107622266B CN107622266B CN201710858350.5A CN201710858350A CN107622266B CN 107622266 B CN107622266 B CN 107622266B CN 201710858350 A CN201710858350 A CN 201710858350A CN 107622266 B CN107622266 B CN 107622266B
- Authority
- CN
- China
- Prior art keywords
- text
- target
- target photo
- chunk
- nonumeric
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/768—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using context analysis, e.g. recognition aided by known co-occurring patterns
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Character Input (AREA)
- Character Discrimination (AREA)
Abstract
本发明公开了一种OCR识别的处理方法,用于解决如何减少OCR产品对数字识别的解析结果所带来的负面影响的问题。本发明提供的方法包括:对目标图片进行OCR扫描,获取扫描得到的目标文本;检测所述目标文本中是否存在表示金额单位的特定文本,且所述特定文本的前n位文本中存在数值型文本,n大于0;若是,则从所述目标文本中获取位于所述特定文本的前面、靠近所述特定文本、且数值型文本所占比例超过预设比例阈值的文本段;检测是否所述文本段中存在非数值型文本且所述非数值型文本满足预设条件;若所述文本段中存在非数值型文本且所述非数值型文本满足预设条件,则突出显示所述文本段。本发明还提供存储介质和服务器。
Description
技术领域
本发明涉及OCR识别技术领域,尤其涉及一种OCR识别的处理方法、存储介质和服务器。
背景技术
目前市面上的OCR(Optical Character Recognition,光学字符识别)产品对中文的支持不太好,特别是在大段文字识别中,会存在数字0识别问题。比如采用OCR识别技术进行大段文本识别时,对数字的识别不太准确,比如,会把100000识别为100。00或100O00或10。000等。
因此,如何减少OCR产品对数字识别的解析结果所带来的负面影响成为了本领域技术人员的亟需解决的问题。
发明内容
本发明实施例提供了一种OCR识别的处理方法、存储介质和服务器,能够减少OCR产品对数字识别的解析结果所带来的负面影响。
第一方面,提供了一种OCR识别的处理方法,包括:
对目标图片进行OCR扫描,获取扫描得到的目标文本;
检测所述目标文本中是否存在表示金额单位的特定文本,且所述特定文本的前n位文本中存在数值型文本,n大于0;
若所述目标文本中存在表示金额单位的特定文本,且所述特定文本的前n位文本中存在数值型文本,则从所述目标文本中获取位于所述特定文本的前面、靠近所述特定文本、且数值型文本所占比例超过预设比例阈值的文本段;
检测是否所述文本段中存在非数值型文本且所述非数值型文本满足预设条件;
若所述文本段中存在非数值型文本且所述非数值型文本满足预设条件,则突出显示所述文本段。
第二方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的OCR识别的处理方法的步骤。
第三方面,提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
对目标图片进行OCR扫描,获取扫描得到的目标文本;
检测所述目标文本中是否存在表示金额单位的特定文本,且所述特定文本的前n位文本中存在数值型文本,n大于0;
若所述目标文本中存在表示金额单位的特定文本,且所述特定文本的前n位文本中存在数值型文本,则从所述目标文本中获取位于所述特定文本的前面、靠近所述特定文本、且数值型文本所占比例超过预设比例阈值的文本段;
检测是否所述文本段中存在非数值型文本且所述非数值型文本满足预设条件;
若所述文本段中存在非数值型文本且所述非数值型文本满足预设条件,则突出显示所述文本段。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,首先,对目标图片进行OCR扫描,获取扫描得到的目标文本;然后,检测所述目标文本中是否存在表示金额单位的特定文本,且所述特定文本的前n位文本中存在数值型文本,n大于0;若所述目标文本中存在表示金额单位的特定文本,且所述特定文本的前n位文本中存在数值型文本,则从所述目标文本中获取位于所述特定文本的前面、靠近所述特定文本、且数值型文本所占比例超过预设比例阈值的文本段;接着,检测是否所述文本段中存在非数值型文本且所述非数值型文本满足预设条件;若所述文本段中存在非数值型文本且所述非数值型文本满足预设条件,则突出显示所述文本段。这样,可以从OCR扫描得到的目标文本中快速找到位于金额单位前面的数字串,即该文本段;然后检测是否该文本段中存在非数值型文本且这些非数值型文本满足预设条件,若是,则可以认为该文本段为非法金额,突出显示该文本段,以便于目标文本输出后用户可以从中进行检查和修改,更正其中存在的错误,从而减少OCR产品对数字识别的解析结果所带来的负面影响。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种OCR识别的处理方法一个实施例流程图;
图2为本发明实施例中一种OCR识别的处理方法步骤103在一个应用场景下的流程示意图;
图3为本发明实施例中一种OCR识别的处理方法步骤104在一个应用场景下的流程示意图;
图4为本发明实施例中一种OCR识别的处理方法在一个应用场景下对目标图片进行倾斜度预处理的流程示意图;
图5为本发明实施例中一种OCR识别的处理装置一个实施例结构图;
图6为本发明一实施例提供的终端设备的示意图。
具体实施方式
本发明实施例提供了一种OCR识别的处理方法、存储介质和服务器,用于解决如何减少OCR产品对数字识别的解析结果所带来的负面影响的问题。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例中一种OCR识别的处理方法一个实施例包括:
101、对目标图片进行OCR扫描,获取扫描得到的目标文本;
本实施例中,用户可以先确定需要进行OCR识别的文本以及承载该文本的目标图片,然后对目标图片进行OCR扫描,从而得到识别出来的目标文本。
可以理解的是,上述步骤101可以实时获取扫描的结果,例如,用户手持OCR产品扫描目标图片上的文本时,可以一般扫描文本的同时,OCR产品实时地输出相应的识别结果,也即可以获取到该目标文本。随着用户拖动OCR产品对目标图片上的文本持续扫描,则相应获取扫描得到的目标文本也会持续增加。
102、检测所述目标文本中是否存在表示金额单位的特定文本,且所述特定文本的前n位文本中存在数值型文本,若是,则执行步骤103,若否,则继续检测;
在获取扫描得到的目标文本时,检测该目标文本中是否存在表示金额单位的特定文本,且所述特定文本的前n位文本中存在数值型文本。可以理解的是,本实施例中的OCR识别的处理方法是针对表示金额的数值进行检错的,由于每个表示金额的数值后面均紧跟着表示金额单位的特定文本,比如元、万元、亿元,等等。通过这些特定文本可以快速从目标文本中定位出表示金额数值的文本所在位置。在步骤102中,可以先检测目标文本中的特定文本,如果该特定文本的前n位文本中存在数值型文本,则可以认为位于该特定文本前面的文本是表示金额的数值,其中,n大于0。
举例说明,假设目标图片上的文本中存在文本“100元”,考虑上对数字识别有误的情况,目标文本中对应的识别结果可能为“100元”、“10.元”、“10。元”、“1O0元”,等等。可见,由于识别结果存在错误的可能,该特定文本“元”的前1位,甚至前2位可能出现并非数值型文本的情况。因此,可以将n设为大于或等于2,甚至更大的数值,使得即便恰巧靠近特定文本的数值型文本被误识别为非数值型文本,步骤102的检测结果也可以为是,从而执行步骤103。
需要说明的是,如果步骤102的检测结果为否,则可以继续对后续获取到的目标文本进行检测。
103、从所述目标文本中获取位于所述特定文本的前面、靠近所述特定文本、且数值型文本所占比例超过预设比例阈值的文本段;
如果所述目标文本中存在表示金额单位的特定文本,且所述特定文本的前n位文本中存在数值型文本,可以从所述目标文本中获取位于所述特定文本的前面、靠近所述特定文本、且数值型文本所占比例超过预设比例阈值的文本段。其中,“位于所述特定文本的前面”和“靠近所述特定文本”这两个限定条件是用于限定文本段的位置的,即限定了该文本段必须紧挨着特定文本且位于特定文本的前面,这是因为但凡是表示金额的数值,其金额单位均位于数值的后面,因此数值是靠近金额单位且位于金额单位的前面的。
而“数值型文本所占比例超过预设比例阈值”这个限定条件是为了提高文本段的准确性的。可以理解的是,在目标文本中,可能存在多个数值和多个特定文本紧挨在一起的情况,比如“100块和200块”这段目标文本。当步骤102检测并定位到第二个“块”字时,则会获取第二个“块”字前面的几位文本作为上述的文本段。假设没有“数值型文本所占比例超过预设比例阈值”这个限定条件,则获取到的该文本段至少存在“100块和200”和“200”这两种可能。若增加限定“数值型文本所占比例超过预设比例阈值”,通过合理设定该比例阈值,可以将“100块和200”这种可能排除掉,从而获取到的文本段为“200”,提高了文本段的准确性。
需要说明的是,上述的比例阈值可以为经验值,根据实际情况进行具体设定。
进一步地,如图2所示,上述步骤103可以包括:
201、在所述目标文本中,从所述特定文本的前一位文本开始向前获取,并将获取得到的文本放入临时文本串中;
202、向所述临时文本串中每放入一位文本时,判断所述临时文本串中数值型文本所占比例是否超过预设比例阈值,若是,则执行步骤203,若否,则执行步骤204;
203、继续所述向前获取;
204、将所述临时文本串中最近放入的一位文本丢弃,然后确定所述临时文本串为所述文本段。
对于步骤201,在获取文本段时,针对该目标文本,可以从特定文本的前1位文本开始向前获取,这些获取到的文本放入到临时文本串中。其中,为了避免误识别文本带来的影响,在首次向前获取时,可以至少获取m位,以后每次向前获取则向前获取1位。例如,对于“10.元”这段目标文本,特定文本为“元”,首次向前获取时,由于前一位被误识别为“.”,此时若只向前获取1位并执行步骤202进行判断,会使得步骤202的判断结果为否,导致本次获取文本段失败。为此,可以在首次向前获取时,获取2位,即m=2,则获取到的文本为“0.”并放入至临时文本串中,在后续先前获取时,则可以只向前获取1位,即获取到的文本为“1”,然后放入至该临时文本串中。
优选地,m=n,使得不论是步骤102检测时,还是步骤103获取文本段时,均可以避免误识别带来的负面影响,保持一致的效果。
对于步骤202、203和204,在向前获取的过程中,每次想所述临时文本串中放入文本时,可以判断所述临时文本串中数值型文本所占比例是否超过预设比例阈值。如果该临时文本串中当前数值型文本所占比例超过该比例阈值,此时还无法确认金额单位前的数值是否已完整放入了临时文本串中,因此应当继续向前获取。如果该临时文本串中当前数值型文本所占比例不超过该比例阈值,可以认为该临时文本串中放入了真实文本(这里说的真实文本即为目标图片中承载的文本)中非数值型文本的内容,从而说明该临时文本串中已放入了真实文本中该特定文本对应金额单位前的完整的数值,因此可以执行步骤204,将所述临时文本串中最近放入的一位文本丢弃,然后确定所述临时文本串为所述文本段。
为便于理解,下面针对上述步骤201~204在一个应用场景下进行说明。假设某个目标文本为“……共计1000.元”,其对应的真实文本为“……共计10000元”,特定文本为“元”,m=3,比例阈值为60%。执行步骤201时,先向前获取2位,将“00.”放入临时文本串中,此时该临时文本串中数值型文本所占比例为66.7%,超过该比例阈值,因此继续向前获取。第二次向前获取1位,将“0”放入临时文本串中,此时该临时文本串中数值型文本所占比例仍超过该比例阈值,继续向前获取。第三次向前获取1位,将“1”放入临时文本串中,此时该临时文本串中数值型文本所占比例仍超过该比例阈值,继续向前获取。第四次向前获取1位,将“计”放入临时文本串中,此时该临时文本串中数值型文本所占比例为57.1%(“计”字为中文,算2个字节),小于该比例阈值,因此执行步骤204,将临时文本串中的“计”丢弃,并确定当前临时文本串为所述文本段,即“1000.”。
104、检测是否所述文本段中存在非数值型文本且所述非数值型文本满足预设条件,若是,则执行步骤105,若否,则执行步骤106;
在确定出文本段之后,此时,还需要进一步确定该文本段是否存在数值误识别的可能性。本实施例中,通过检测该文本段中是否存在非数值型文本,以及检测这些非数值型文本是否满足一定的条件来进一步确认其是否存在数值上的OCR识别错误。
进一步地,如图3所示,上述步骤104可以包括:
301、检测所述文本段中是否存在非数值型文本,若是,则执行步骤302,若否,则执行步骤305;
302、检测所述非数值型文本是否为小数点,若否,则执行步骤304,若是,则执行步骤303;
303、判断所述非数值型文本是否位于所述文本段中的指定位置上,若否,则执行步骤304,若是,则执行步骤305;
304、确定步骤104的检测结果为是;
305、确定步骤104的检测结果为否。
对于上述步骤301~305,可以理解的是,在表示金额的数值中,该数值可能存在小数点位数,比如保留小数点后1位或者2位,例如:10.0元和10.00元。可见,在文本段对应的真实文本中,存在小数点这个非数值型文本是可能的,但该小数点的位置必须在指定的位置上,比如位于倒数第二位或者倒数第三位。因此,上述步骤301先检测是否存在非数值型文本,如果不存在,则可以确定该文本段中没有误识别的情况,从而确定步骤104的检测结果为否;如果存在,则进一步执行步骤302,判断其是否为小数点,如果不是,则可以确定该文本段中很可能存在误识别的情况,从而确定步骤104的检测结果为是;如果是小数点,则进一步执行步骤303,判断该小数点是否在指定位置上,比如文本段的倒数第二位或者倒数第三位上,如果是,则确定步骤104的检测结果为否,如果不是,则确定步骤104的检测结果为是。
其中,上述步骤304是指确定所述文本段中存在非数值型文本且所述非数值型文本满足预设条件。上述步骤305是指确定所述文本段中不存在非数值型文本或者所述非数值型文本不满足预设条件。
105、突出显示所述文本段;
若所述文本段中存在非数值型文本且所述非数值型文本满足预设条件,则可以认为该文本段中很大可能存在误识别的问题,需要用户检查和更正,因此可以突出显示所述文本段,以便于用户对OCR识别输出的目标文本进行检查和更正。具体地,可以在文本段的两端加上“【”和“】”,比如,假设文本段为“1000.”,目标文本为“……共计1000.元……”,则显示该目标文本时,该目标文本为“……共计【1000.】元……”。当前,突出显示文本段的方式有很多,比如对显示的字体进行加粗、添加下划线、斜体,等等。本实施例不做具体限定。
进一步地,为了提高OCR识别的准确率,如图4所示,在对目标图片进行OCR扫描之前,还可以包括:
401、采用霍夫变换将所述目标图片中的文本转换为各条直线;
402、获取所述目标图片在所述各条直线上的端点坐标;
403、根据所述端点坐标确定出所述目标图片在各条直线上长度最长的一条线段;
404、计算确定出的所述线段的倾斜度;
405、检测所述倾斜度是否处于预设的标准倾斜度范围内,若是,则执行步骤407,若否,则执行步骤406;
406、根据所述倾斜度对所述目标图片进行仿射变换,以使所述目标图片上的所述线段的倾斜度处于所述标准倾斜度范围内;
407、无需对该目标图片进行仿射变换。
对于上述步骤401~407,可以理解的是,在OCR识别中,如果目标图片中承载的文本存在出现倾斜过大的情况,就会降低OCR识别对该目标图片中文本识别的准确度,因此,当发现目标图片中文本的倾斜度不在合理范围内时,则应当对其进行调整。本实施例中,首先采用霍夫变换将目标图片中的文本转换为一条条的直线,由于目标图片存在边界,这些边界与这些直线的交点即为目标图片在这些直线上的端点坐标。然后,根据每条直线上确定出的两个端点坐标即可得到目标图片在各个直线上的各条线段,并从各条线段中确定出长度最长的一条线段。计算确定出的这条线段的倾斜度,并以此来判断其是否在预设标准倾斜度范围内,如果在,则认为目标图片中的文本的倾斜度在合理范围内,执行步骤407无需进行调整;反之,如果不在,则执行步骤406,对目标图片进行仿射变换,使得所述目标图片上的所述线段的倾斜度处于所述标准倾斜度范围内。
其中,对于上述步骤406的仿射变换,其是一种二维坐标到二维坐标之间的线性变换,保持目标图片的“平直性”(即变换后直线还是直线不会打弯,圆弧还是圆弧)和“平行性”。具体地,可以包括以下三种变换方式:
旋转变换方式一:将目标图片围绕原点逆时针旋转theta弧度,变换矩阵为:
[cos(theta)-sin(theta)0]
[sin(theta)cos(theta)0]
[0 0 1]
public static AffineTransformgetRotateInstance(double theta,double x,doubley)。
旋转变换方式二:目标图片以(x,y)为轴心逆时针旋转theta弧度,变换矩阵为:
[cos(theta)-sin(theta)x-x*cos+y*sin]
[sin(theta)cos(theta)y-x*sin-y*cos]
[0 0 1]
相当于两次平移变换与一次原点旋转变换的复合:
[1 0 x][cos(theta)-sin(theta)0][1 0-x]
[0 1 y][sin(theta)cos(theta)0][0 1-y]
[0 0 1][0 0 1][0 0 1]
这里是以空间任一点为圆心旋转的情况。
需要说明的是,对于仿射变换的具体方式,用户可以根据实际情况的需要选取,本实施例对此不作限定。
进一步地,为了提高OCR识别的准确率,在对目标图片进行OCR扫描之前,还可以对目标图片进行像素点补全处理和/或清晰度提高处理。
其中,像素点补全处理具体可以包括:获取所述目标图片的像素尺寸;若所述像素尺寸不处于预设的标准尺寸范围内,则将所述目标图片进行同比例放大处理,以使所述目标图片的像素尺寸处于所述标准尺寸范围内。具体地,可以将像素尺寸与该标准尺寸范围内的基准尺寸对比,计算出所需要放大的倍数R,然后将目标图片同比例放大R倍,从而达到增加目标图片像素点的目的。
清晰度提高处理具体可以包括:获取所述目标图片的清晰度;若所述清晰度不处于预设的标准清晰度范围内,则对所述目标图片进行二值化处理,然后调高二值化处理后的所述目标图片的对比度,以使所述目标图片的清晰度处于所述标准清晰度范围内。更进一步地,在调高二值化处理后的所述目标图片的对比度时,可以根据当前的矫正参数进行对比度的调高。其中,该矫正参数还可以根据目标图片调高后的对比度效果进行反馈调节,具体包括:
A、在调高目标图片的对比度后,对该目标图片进行OCR扫描,得到该目标文本;
B、获取用户对目标文本的准确度评分,准确度评分越高,则代表本次OCR识别越准确;
C、判断本次的准确度评分是否大于或等于评分阈值,若是,则确定本次调高目标图片对比度所使用的矫正参数为正样本,若否,则确定本次调高目标图片对比度所使用的矫正参数为负样本;
D、根据正样本或负样本对当前的矫正参数进行调节,得到调节后的矫正参数。具体可以是,将当前的矫正参数往历史记录的各个正样本的矫正参数所在方向调节,同时,将当前的矫正参数往历史记录的各个负样本的矫正参数所在方向的反方向调节。
由上述步骤A~D可知,随着正负样本的增加,当前的矫正参数将越来越准确有效,采用当前的矫正参数来调高目标图片的对比度,可以在OCR扫描前使得目标图片在清晰度的属性上更加符合OCR识别的要求。
106、按照预设流程处理。
可以理解的是,在步骤104的检测结果为否时,可以按照预设流程处理。这里所说的“按照预设流程处理”可以由用户根据实际情况需要进行设定,具体可以设置为无需理会,或者结束步骤104的检测流程,等等。
本实施例中,首先,对目标图片进行OCR扫描,获取扫描得到的目标文本;然后,检测所述目标文本中是否存在表示金额单位的特定文本,且所述特定文本的前n位文本中存在数值型文本,n大于0;若所述目标文本中存在表示金额单位的特定文本,且所述特定文本的前n位文本中存在数值型文本,则从所述目标文本中获取位于所述特定文本的前面、靠近所述特定文本、且数值型文本所占比例超过预设比例阈值的文本段;接着,检测是否所述文本段中存在非数值型文本且所述非数值型文本满足预设条件;若所述文本段中存在非数值型文本且所述非数值型文本满足预设条件,则突出显示所述文本段。这样,可以从OCR扫描得到的目标文本中快速找到位于金额单位前面的数字串,即该文本段;然后检测是否该文本段中存在非数值型文本且这些非数值型文本满足预设条件,若是,则可以认为该文本段为非法金额,突出显示该文本段,以便于目标文本输出后用户可以从中进行检查和修改,更正其中存在的错误,从而减少OCR产品对数字识别的解析结果所带来的负面影响。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上面主要描述了一种OCR识别的处理方法,下面将对一种OCR识别的处理装置进行详细描述。
图5示出了本发明实施例中一种OCR识别的处理装置一个实施例结构图。
本实施例中,一种OCR识别的处理装置包括:
目标文本获取模块501,用于对目标图片进行OCR扫描,获取扫描得到的目标文本;
特定文本检测模块502,用于检测所述目标文本中是否存在表示金额单位的特定文本,且所述特定文本的前n位文本中存在数值型文本,n大于0;
文本段获取模块503,用于若所述特定文本检测模块的检测结果为是,则从所述目标文本中获取位于所述特定文本的前面、靠近所述特定文本、且数值型文本所占比例超过预设比例阈值的文本段;
非数值检测模块504,用于检测是否所述文本段中存在非数值型文本且所述非数值型文本满足预设条件;
突出显示模块505,用于若所述非数值检测模块的检测结果为是,则突出显示所述文本段。
进一步地,所述文本段获取模块可以包括:
向前获取单元,用于在所述目标文本中,从所述特定文本的前一位文本开始向前获取,并将获取得到的文本放入临时文本串中;
临时文本串判断单元,用于向所述临时文本串中每放入一位文本时,判断所述临时文本串中数值型文本所占比例是否超过预设比例阈值;
第一触发单元,用于若所述临时文本串判断单元的判断结果为是,则触发所述向前获取单元;
文本段确定单元,用于若所述临时文本串中数值型文本所占比例不超过预设比例阈值,则将所述临时文本串中最近放入的一位文本丢弃,然后确定所述临时文本串为所述文本段。
进一步地,所述非数值检测模块可以包括:
第一检测单元,用于检测所述文本段中是否存在非数值型文本;
第二检测单元,用于若所述第一检测单元的检测结果为是,则检测所述非数值型文本是否为小数点;
第一确定单元,用于若所述第二检测单元的检测结果为否,则确定所述文本段中存在非数值型文本且所述非数值型文本满足预设条件;
第一判断单元,用于若所述第二检测单元的检测结果为是,则判断所述非数值型文本是否位于所述文本段中的指定位置上;
第二确定单元,用于若所述第二检测单元的检测结果为否,则确定所述文本段中存在非数值型文本且所述非数值型文本满足预设条件。
进一步地,所述OCR识别的处理装置还可以包括:
霍夫变换模块,用于采用霍夫变换将所述目标图片中的文本转换为各条直线;
端点坐标模块,用于获取所述目标图片在所述各条直线上的端点坐标;
最长线段确定模块,用于根据所述端点坐标确定出所述目标图片在各条直线上长度最长的一条线段;
倾斜度计算模块,用于计算确定出的所述线段的倾斜度;
倾斜度检测模块,用于检测所述倾斜度是否处于预设的标准倾斜度范围内;
仿射变换模块,用于若所述倾斜度检测模块的检测结果为否,则根据所述倾斜度对所述目标图片进行仿射变换,以使所述目标图片上的所述线段的倾斜度处于所述标准倾斜度范围内。
进一步地,所述OCR识别的处理装置还可以包括:
尺寸获取模块,用于获取所述目标图片的像素尺寸;
放大处理模块,用于若所述像素尺寸不处于预设的标准尺寸范围内,则将所述目标图片进行同比例放大处理,以使所述目标图片的像素尺寸处于所述标准尺寸范围内;
和/或
清晰度获取模块,用于获取所述目标图片的清晰度;
清晰度调节模块,用于若所述清晰度不处于预设的标准清晰度范围内,则对所述目标图片进行二值化处理,然后调高二值化处理后的所述目标图片的对比度,以使所述目标图片的清晰度处于所述标准清晰度范围内。
进一步地,所述清晰度调节模块在调高二值化处理后的所述目标图片的对比度时,根据当前的矫正参数进行对比度的调高;
所述矫正参数通过以下模块进行调节:
OCR扫描模块,用于在调高目标图片的对比度后,对所述目标图片进行OCR扫描,得到所述目标文本;
评分获取模块,用于获取用户对目标文本的准确度评分,准确度评分越高,则代表本次OCR识别越准确;
正负样本确定模块,用于判断本次的准确度评分是否大于或等于预设的评分阈值,若是,则确定本次调高目标图片对比度所使用的矫正参数为正样本,若否,则确定本次调高目标图片对比度所使用的矫正参数为负样本;
参数调节模块,用于根据正样本或负样本对当前的矫正参数进行调节,得到调节后的矫正参数。
图6是本发明一实施例提供的终端设备的示意图。如图6所示,该实施例的终端设备6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62,例如执行上述的OCR识别的处理方法的程序。所述处理器60执行所述计算机程序62时实现上述各个OCR识别的处理方法实施例中的步骤,例如图1所示的步骤101至105。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能,例如图5所示模块501至505的功能。
示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述终端设备6中的执行过程。
所述终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端设备6的示例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所述处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61可以是所述终端设备6的内部存储单元,例如终端设备6的硬盘或内存。所述存储器61也可以是所述终端设备6的外部存储设备,例如所述终端设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述终端设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种OCR识别的处理方法,其特征在于,包括:
对目标图片进行OCR扫描,获取扫描得到的目标文本;
检测所述目标文本中是否存在表示金额单位的特定文本,且所述特定文本的前n位文本中存在数值型文本,n大于0;
若所述目标文本中存在表示金额单位的特定文本,且所述特定文本的前n位文本中存在数值型文本,则从所述目标文本中获取位于所述特定文本的前面、靠近所述特定文本、且数值型文本所占比例超过预设比例阈值的文本段;
检测是否所述文本段中存在非数值型文本且所述非数值型文本满足预设条件;
若所述文本段中存在非数值型文本且所述非数值型文本满足预设条件,则突出显示所述文本段;
所述从所述目标文本中获取位于所述特定文本的前面、靠近所述特定文本、且数值型文本所占比例超过预设比例阈值的文本段包括:
在所述目标文本中,从所述特定文本的前一位文本开始向前获取,并将获取得到的文本放入临时文本串中;
向所述临时文本串中每放入一位文本时,判断所述临时文本串中数值型文本所占比例是否超过预设比例阈值;
若所述临时文本串中数值型文本所占比例超过预设比例阈值,则继续所述向前获取;
若所述临时文本串中数值型文本所占比例不超过预设比例阈值,则将所述临时文本串中最近放入的一位文本丢弃,然后确定所述临时文本串为所述文本段。
2.根据权利要求1所述的OCR识别的处理方法,其特征在于,所述检测是否所述文本段中存在非数值型文本且所述非数值型文本满足预设条件包括:
检测所述文本段中是否存在非数值型文本;
若所述文本段中存在非数值型文本,则检测所述非数值型文本是否为小数点;
若所述非数值型文本不为小数点,则确定所述文本段中存在非数值型文本且所述非数值型文本满足预设条件;
若所述非数值型文本为小数点,则判断所述非数值型文本是否位于所述文本段中的指定位置上;
若所述非数值型文本不是位于所述文本段中的指定位置上,则确定所述文本段中存在非数值型文本且所述非数值型文本满足预设条件。
3.根据权利要求1所述的OCR识别的处理方法,其特征在于,在对目标图片进行OCR扫描之前,还包括:
采用霍夫变换将所述目标图片中的文本转换为各条直线;
获取所述目标图片在所述各条直线上的端点坐标;
根据所述端点坐标确定出所述目标图片在各条直线上长度最长的一条线段;
计算确定出的所述线段的倾斜度;
检测所述倾斜度是否处于预设的标准倾斜度范围内;
若所述倾斜度不处于预设的标准倾斜度范围内,则根据所述倾斜度对所述目标图片进行仿射变换,以使所述目标图片上的所述线段的倾斜度处于所述标准倾斜度范围内。
4.根据权利要求1至3中任一项所述的OCR识别的处理方法,其特征在于,在对目标图片进行OCR扫描之前,还包括:
获取所述目标图片的像素尺寸;
若所述像素尺寸不处于预设的标准尺寸范围内,则将所述目标图片进行同比例放大处理,以使所述目标图片的像素尺寸处于所述标准尺寸范围内;
和/或
获取所述目标图片的清晰度;
若所述清晰度不处于预设的标准清晰度范围内,则对所述目标图片进行二值化处理,然后调高二值化处理后的所述目标图片的对比度,以使所述目标图片的清晰度处于所述标准清晰度范围内。
5.根据权利要求4所述的OCR识别的处理方法,其特征在于,在调高二值化处理后的所述目标图片的对比度时,根据当前的矫正参数进行对比度的调高;
所述矫正参数根据目标图片调高后的对比度效果进行反馈调节,具体包括:
在调高目标图片的对比度后,对所述目标图片进行OCR扫描,得到所述目标文本;
获取用户对目标文本的准确度评分,准确度评分越高,则代表本次OCR识别越准确;
判断本次的准确度评分是否大于或等于预设的评分阈值,若是,则确定本次调高目标图片对比度所使用的矫正参数为正样本,若否,则确定本次调高目标图片对比度所使用的矫正参数为负样本;
根据正样本或负样本对当前的矫正参数进行调节,得到调节后的矫正参数。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述OCR识别的处理方法的步骤。
7.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如下步骤:
对目标图片进行OCR扫描,获取扫描得到的目标文本;
检测所述目标文本中是否存在表示金额单位的特定文本,且所述特定文本的前n位文本中存在数值型文本,n大于0;
若所述目标文本中存在表示金额单位的特定文本,且所述特定文本的前n位文本中存在数值型文本,则从所述目标文本中获取位于所述特定文本的前面、靠近所述特定文本、且数值型文本所占比例超过预设比例阈值的文本段;
检测是否所述文本段中存在非数值型文本且所述非数值型文本满足预设条件;
若所述文本段中存在非数值型文本且所述非数值型文本满足预设条件,则突出显示所述文本段;
所述从所述目标文本中获取位于所述特定文本的前面、靠近所述特定文本、且数值型文本所占比例超过预设比例阈值的文本段包括:
在所述目标文本中,从所述特定文本的前一位文本开始向前获取,并将获取得到的文本放入临时文本串中;
向所述临时文本串中每放入一位文本时,判断所述临时文本串中数值型文本所占比例是否超过预设比例阈值;
若所述临时文本串中数值型文本所占比例超过预设比例阈值,则继续所述向前获取;
若所述临时文本串中数值型文本所占比例不超过预设比例阈值,则将所述临时文本串中最近放入的一位文本丢弃,然后确定所述临时文本串为所述文本段。
8.根据权利要求7所述的终端设备,其特征在于,在对目标图片进行OCR扫描之前,还包括:
采用霍夫变换将所述目标图片中的文本转换为各条直线;
获取所述目标图片在所述各条直线上的端点坐标;
根据所述端点坐标确定出所述目标图片在各条直线上长度最长的一条线段;
计算确定出的所述线段的倾斜度;
检测所述倾斜度是否处于预设的标准倾斜度范围内;
若所述倾斜度不处于预设的标准倾斜度范围内,则根据所述倾斜度对所述目标图片进行仿射变换,以使所述目标图片上的所述线段的倾斜度处于所述标准倾斜度范围内。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710858350.5A CN107622266B (zh) | 2017-09-21 | 2017-09-21 | 一种ocr识别的处理方法、存储介质和服务器 |
PCT/CN2017/108369 WO2019056491A1 (zh) | 2017-09-21 | 2017-10-30 | 一种 ocr 识别的处理方法、存储介质和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710858350.5A CN107622266B (zh) | 2017-09-21 | 2017-09-21 | 一种ocr识别的处理方法、存储介质和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107622266A CN107622266A (zh) | 2018-01-23 |
CN107622266B true CN107622266B (zh) | 2019-05-07 |
Family
ID=61090494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710858350.5A Active CN107622266B (zh) | 2017-09-21 | 2017-09-21 | 一种ocr识别的处理方法、存储介质和服务器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107622266B (zh) |
WO (1) | WO2019056491A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110059559A (zh) * | 2019-03-15 | 2019-07-26 | 深圳壹账通智能科技有限公司 | Ocr识别文件的处理方法及其电子设备 |
CN112801030B (zh) * | 2021-02-10 | 2023-09-01 | 中国银联股份有限公司 | 一种目标文本区域的定位方法及装置 |
CN113537192B (zh) * | 2021-06-30 | 2024-03-26 | 北京百度网讯科技有限公司 | 图像检测方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012065199A (ja) * | 2010-09-16 | 2012-03-29 | Sharp Corp | ペン型携帯用電話機 |
CN102789452A (zh) * | 2011-05-16 | 2012-11-21 | 株式会社日立制作所 | 类似内容提取方法 |
CN103838728A (zh) * | 2012-11-21 | 2014-06-04 | 腾讯科技(深圳)有限公司 | 网页信息的处理方法及浏览器 |
CN105528604A (zh) * | 2016-01-31 | 2016-04-27 | 华南理工大学 | 一种基于ocr的票据自动识别与处理系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5338063B2 (ja) * | 2007-10-31 | 2013-11-13 | 富士通株式会社 | 画像認識プログラム、画像認識装置および画像認識方法 |
JP5125573B2 (ja) * | 2008-02-12 | 2013-01-23 | 富士通株式会社 | 領域抽出プログラム、文字認識プログラム、および文字認識装置 |
EP3100209B1 (en) * | 2014-01-27 | 2022-11-02 | Koninklijke Philips N.V. | Extraction of information from an image and inclusion thereof in a clinical report |
JP6472218B2 (ja) * | 2014-11-17 | 2019-02-20 | 株式会社日立情報通信エンジニアリング | 文字認識システム及び文字認識方法 |
CN105809170B (zh) * | 2016-03-04 | 2019-04-26 | 东软集团股份有限公司 | 字符识别方法和装置 |
-
2017
- 2017-09-21 CN CN201710858350.5A patent/CN107622266B/zh active Active
- 2017-10-30 WO PCT/CN2017/108369 patent/WO2019056491A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012065199A (ja) * | 2010-09-16 | 2012-03-29 | Sharp Corp | ペン型携帯用電話機 |
CN102789452A (zh) * | 2011-05-16 | 2012-11-21 | 株式会社日立制作所 | 类似内容提取方法 |
CN103838728A (zh) * | 2012-11-21 | 2014-06-04 | 腾讯科技(深圳)有限公司 | 网页信息的处理方法及浏览器 |
CN105528604A (zh) * | 2016-01-31 | 2016-04-27 | 华南理工大学 | 一种基于ocr的票据自动识别与处理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107622266A (zh) | 2018-01-23 |
WO2019056491A1 (zh) | 2019-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107622266B (zh) | 一种ocr识别的处理方法、存储介质和服务器 | |
CN110765770A (zh) | 一种合同自动生成方法及装置 | |
US20190294921A1 (en) | Field identification in an image using artificial intelligence | |
US10997366B2 (en) | Methods, devices and systems for data augmentation to improve fraud detection | |
KR20200015444A (ko) | 위험 주소 식별 방법, 장치 및 전자 디바이스 | |
CN110795482B (zh) | 数据对标方法、装置、及存储装置 | |
WO2016025243A1 (en) | Techniques for automatically swapping languages and/or content for machine translation | |
US10970458B1 (en) | Logical grouping of exported text blocks | |
CN111191649A (zh) | 一种识别弯曲多行文本图像的方法与设备 | |
CN112001406A (zh) | 一种文本区域检测方法及装置 | |
CN108399025A (zh) | 一种修正识别偏差的方法、装置及终端设备 | |
CN110008960A (zh) | 一种检测字符片段完整性的方法及终端 | |
CN111159167A (zh) | 标注质量检测装置和方法 | |
US20200320291A1 (en) | Techniques to determine document recognition errors | |
CN111652927B (zh) | 一种基于cnn的癌细胞多尺度缩放定位检测方法 | |
CN117115823A (zh) | 一种篡改识别方法、装置、计算机设备和存储介质 | |
CN104461676B (zh) | 二进制转译堆栈操作加速处理方法及其处理器 | |
CN111340788A (zh) | 硬件木马版图检测方法、装置、电子设备和可读存储介质 | |
US11989560B2 (en) | Method and device for executing instructions to perform artificial intelligence | |
CN115660540A (zh) | 货物跟踪方法、装置、计算机设备和存储介质 | |
US11620319B2 (en) | Search platform for unstructured interaction summaries | |
CN114021124A (zh) | 一种自然语言生成及攻击检测方法、介质、装置及设备 | |
CN110502731B (zh) | 一种基于精化单元格聚类的电子表格缺陷检测方法 | |
CN114154480A (zh) | 信息提取方法、装置、设备和存储介质 | |
CN102043683A (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 |