CN111401366B - 字符识别方法、装置、计算机设备和存储介质 - Google Patents
字符识别方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111401366B CN111401366B CN202010201868.3A CN202010201868A CN111401366B CN 111401366 B CN111401366 B CN 111401366B CN 202010201868 A CN202010201868 A CN 202010201868A CN 111401366 B CN111401366 B CN 111401366B
- Authority
- CN
- China
- Prior art keywords
- image
- character
- character sequence
- processed
- recognition
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
- G06V20/63—Scene text, e.g. street names
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/30—Noise filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/146—Aligning or centring of the image pick-up or image-field
- G06V30/1475—Inclination or skew detection or correction of characters or of image to be recognised
- G06V30/1478—Inclination or skew detection or correction of characters or of image to be recognised of characters or characters lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Character Discrimination (AREA)
- Character Input (AREA)
Abstract
本申请涉及一种字符识别方法、装置、计算机设备和存储介质。所述方法包括:获取当前的待处理图像;对待处理图像进行图像预处理,得到第一图像;根据预设的字符库对第一图像进行字符识别,得到第一字符序列;当存在与第一字符序列相同的已存储字符序列时,确认第一字符序列为待处理图像的识别结果;当不存在与第一字符序列相同的已存储字符序列时,存储第一字符序列,并转至获取当前的待处理图像的步骤。采用本方法能够提高字符识别的准确率和效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种字符识别方法、装置、计算机设备和存储介质。
背景技术
随着电子商务的高速发展,物流行业规模也在不断扩大,快递业务作业过程中,需要处理非常多的包裹,每个包裹上都有一份快递信息,这些信息都汇聚于一个运输单上面。快递作业人员需要将运输单信息录入系统,其中对于手机号码的输入操作,在很多场景都会用到。
然而手动录入手机号码容易出现错误,准确率较差,删除后再重新输入又浪费时间,降低了效率,同时重复性较多,影响快递员的作业效率。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高识别准确率的字符识别方法、装置、计算机设备和存储介质,从而能够高效地获取运输单上手机号码。
一种字符识别方法,所述方法包括:
获取当前的待处理图像;
对待处理图像进行图像预处理,得到第一图像;
根据预设的字符库对第一图像进行字符识别,得到第一字符序列;
当存在与第一字符序列相同的已存储字符序列时,确认第一字符序列为待处理图像的识别结果;
当不存在与第一字符序列相同的已存储字符序列时,存储第一字符序列,并转至获取当前的待处理图像的步骤。
在其中一个实施例中,在完成对第一字符序列的存储后,所述方法还包括:
对第一图像进行第一图像处理,得到第二图像;
根据字符库对第二图像进行字符识别,得到第二字符序列;
当存在与第二字符序列相同的已存储字符序列时,确认第二字符序列为待处理图像的识别结果;
当不存在与第二字符序列相同的已存储字符序列时,存储第二字符序列。
在其中一个实施例中,在完成对第二字符序列的存储后,所述方法还包括:
对第二图像进行第二图像处理,得到第三图像;
根据字符库对第三图像进行字符识别,得到第三字符序列;
当存在与第三字符序列相同的已存储字符序列时,确认第三字符序列为待处理图像的识别结果;
当不存在与第三字符序列相同的已存储字符序列时,存储第三字符序列。
在其中一个实施例中,对第一图像进行第一图像处理,得到第二图像,包括:
对第一图像进行腐蚀膨胀处理和/或图像去噪处理,得到第二图像;
和/或,对第一图像进行倾斜校正处理,得到第二图像。
在另一个实施例中,对第二图像进行第二图像处理,得到第三图像,包括:
对第二图像进行腐蚀膨胀处理和/或图像去噪处理,得到第三图像;
和/或,对第二图像进行倾斜校正处理,得到第三图像。
在其中一个实施例中,对待处理图像进行图像预处理,得到第一图像,包括:
对待处理图像进行灰度化处理,得到灰度图像;
对灰度图像进行二值化处理,得到第一图像。
在其中一个实施例中,所述方法还包括:显示识别结果。
在其中一个实施例中,所述字符库为基于tesseract引擎训练生成的数字字符库,数字字符库包含多种字体和/或多种尺寸的0~9数字;
其中,数字字符库可以通过以下方式训练得到:
获取训练样本图像集,训练样本图像集包括第一样本图像集和/或第二样本图像集,第一样本图像集包括至少一张字体不同的数字的图像,第二样本图像集包括至少一张字体尺寸不同的数字的图像;
采用jTessBoxEditorFX工具对训练样本图像集进行训练,生成数字字符库。
一种字符识别装置,所述装置包括:
图像获取模块,用于获取当前的待处理图像;
图像预处理模块,用于对待处理图像进行图像预处理,得到第一图像;
字符识别模块,用于根据预设的字符库对第一图像进行字符识别,得到第一字符序列;
校验执行模块,用于当存在与第一字符序列相同的已存储字符序列时,确认第一字符序列为待处理图像的识别结果;当不存在与第一字符序列相同的已存储字符序列时,存储第一字符序列,并转至获取当前的待处理图像的步骤。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取当前的待处理图像;
对待处理图像进行图像预处理,得到第一图像;
根据预设的字符库对第一图像进行字符识别,得到第一字符序列;
当存在与第一字符序列相同的已存储字符序列时,确认第一字符序列为待处理图像的识别结果;
当不存在与第一字符序列相同的已存储字符序列时,存储第一字符序列,并转至获取当前的待处理图像的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取当前的待处理图像;
对待处理图像进行图像预处理,得到第一图像;
根据预设的字符库对第一图像进行字符识别,得到第一字符序列;
当存在与第一字符序列相同的已存储字符序列时,确认第一字符序列为待处理图像的识别结果;
当不存在与第一字符序列相同的已存储字符序列时,存储第一字符序列,并转至获取当前的待处理图像的步骤。
上述字符识别方法、装置、计算机设备和存储介质,获取当前的待处理图像,通过对上述待处理图像进行图像预处理,可以在保留图像的主要信息数据的同时,降低图像大小,提升图像的识别效率;再根据预设的字符库对图像预处理得到的第一图像进行字符识别,得到第一字符序列,然后校验是否存在与第一字符序列相同的已存储字符序列,若存在,说明事先识别出过与第一字符序列相同的字符序列,此时确认第一字符序列为待处理图像的识别结果,减少重复识别工作量;若不存在,说明还没有识别出过与第一字符序列相同的字符序列,即未得到待处理图像的识别结果,此时存储第一字符序列,即将本次识别出的第一字符序列变成已存储字符序列,再通过图像采集装置重新获取当前的待处理图像,进行图像处理和字符识别,可以得到一个新的第一字符序列,将这个新的第一字符序列与已存储字符序列进行校验,当新的第一字符序列与之前已存储的第一字符序列相同时,表明对同一图像的两次识别结果相同,可以确认第一字符序列为待处理图像的识别结果,从而保证了识别的准确率。综上所述,本技术方案可以快速获取运输单上的手机号码,大幅度简化快递员的手动输入工作,提升快递员的作业效率和准确率。
附图说明
图1为一个实施例中字符识别方法的应用环境图;
图2为一个实施例中字符识别方法的流程示意图;
图3A、图3B为另一个实施例中字符识别方法的流程示意图;
图4A、图4B和图4C为再一个实施例中字符识别方法的流程示意图;
图5为一个实施例中数字字符库训练步骤的流程示意图;
图6为一个实施例中字符识别装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的字符识别方法,可以应用于如图1所示的应用环境中。其中,终端102可以通过网络或数据线连接图像采集装置104,图像采集装置104还可以是直接设置在终端102上的内置图像采集装置。图像采集装置104开启后进行拍摄,终端102可从图像采集装置104处获取到当前的待处理图像,然后终端102对待处理图像进行图像处理和字符识别,再经过校验可以得到准确的识别结果,终端102对该识别结果进行显示。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,图像采集装置104可以是安装在上述任意终端设备上的内置摄像头,或者是可以通过网络或数据线连接终端的外设摄像头、扫描仪或数码相机。
具体实施时,终端102还可以与服务器106通过网络进行通信,将从图像采集装置104获取到的待处理图像发送给服务器106,由服务器106对待处理图像进行图像处理和字符识别,终端102从服务器106处获得字符识别结果,将字符识别结果在终端102的显示装置上进行显示。服务器106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种字符识别方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤202,获取当前的待处理图像。
其中,待处理图像可以为图像采集装置所拍摄的黑白图像或彩色图像,该图像采集装置可用于拍摄运单上手机号码的图像,当上述待处理图像为手机号码的图像或其他数字序列的图像时,后续字符识别过程通常只需识别上述待处理图像上的数字即可。
具体地,终端从图像采集装置处获取当前的待处理图像,这个获取过程可以包括:终端向图像采集装置发送获取图像指令,图像采集装置在接收到该指令后,对面单上的手机号码进行采集,并将采集得到的图像发送给终端,终端将接收到的图像设为当前的待处理图像。
步骤204,对待处理图像进行图像预处理,得到第一图像。
其中,图像预处理可以采取常见的图像预处理方法,例如灰度化、图像分割或图像去噪等,主要目的在于消除图像中无关的信息,从而增强图像的可识别度;第一图像为待处理图像经图像预处理后得到的图像,图像文件更小,识别度更高,便于进行字符识别。
具体地,当上述的待处理图像为彩色图像时,由于彩色图像所含信息量过大,在对图像中印刷体字符进行识别处理前,需要对图像进行处理,使图像只包含黑色的前景信息和白色的背景信息,从而提高识别处理的效率和精确度。首先,终端对待处理图像进行灰度化处理,得到灰度图像,然后终端对灰度图像进行二值化处理,得到第一图像。其中,灰度化为将彩色图像转化为灰度图像的过程,灰度化处理方法可以为分量法、最大值法、平均法或加权平均法,待处理图像被终端进行灰度化后得到灰度图像;二值化是图像分割的一种最简单的方法,可以把灰度图像转换成二值图像,这里也就是第一图像。常用的二值化方法有双峰法、P参数法、迭代法和OTSU法等。具体实施时,可以把大于某个临界灰度值的像素灰度设为灰度极大值,把小于这个值的像素灰度设为灰度极小值,从而实现二值化。
当上述的待处理图像为黑白图像时,终端可以不对待处理图像进行灰度化处理,而只对该黑白图像进行二值化处理,以得到更清晰的二值图像。具体实施过程中,终端在对该黑白图像进行处理时可以采用二值化、图像去噪、腐蚀膨胀、图像去噪和倾斜校正中的至少一种处理方法。
步骤206,根据预设的字符库对第一图像进行字符识别,得到第一字符序列。
其中,在终端为安装了Android系统的移动设备时,可使用基于Tesseract的Tess-two来完成文字识别,Tesseract是一个OCR(OpticalCharacter Recognition,光学字符识别)引擎。目前Tesseract官方提供的中文语言库包含了所有文字,其容量超过了40MB,过大的字符库不仅影响识别效率,还会增加应用程序的大小,在进行数字序列识别(例如手机号码识别)时,只需要对10个数字进行识别即可,为了提高识别效率,并减小字符库的大小,字符库可为基于Tesseract训练得到的数字字符库,数字字符库可以包含多种字体和/或多种尺寸的0~9数字。第一字符序列可为基于Tesseract的Tess-two根据预先训练得到的数字字符库,对第一图像进行字符识别所得到的数字序列。Tesseract是使用C++实现的,不便于在Android上使用,基于Tesseract的Tess-two封装了Java API,可以在Android平台上直接调用。
具体地,在终端处于Android系统环境的情况下,基于Tesseract的Tess-two根据预先训练得到的数字字符库,对步骤204得到的第一图像进行字符识别,可以得到第一字符序列。
步骤208,校验是否存在与第一字符序列相同的已存储字符序列。
其中,已存储字符序列为存储在终端的缓存中的字符序列。
具体地,终端将第一字符序列与缓存中的字符序列进行比较,检查缓存中是否存在与第一字符序列相同的字符序列。
步骤210,若是,确认第一字符序列为待处理图像的识别结果。
具体地,当缓存中存在与第一字符序列相同的已存储字符序列时,终端确认第一字符序列为待处理图像的识别结果,此时终端可以通过显示屏对外显示该识别结果。
步骤212,若否,存储第一字符序列,转至获取当前的待处理图像的步骤。
其中,存储第一字符序列,可以指终端将第一字符序列存入缓存。
具体地,当缓存中不存在与第一字符序列相同的已存储字符序列时,可以认为此次字符识别未成功得到待处理图像的识别结果,终端将第一字符序列存入缓存,然后返回步骤202,重新获取当前的待处理图像,从而重新进行图像处理和字符识别。此时,由于尚未得到所需的识别结果,用户仍使用图像采集装置对同一目标区域进行图像采集,也就是说,重新获取到的待处理图像和上一次获取到的待处理图像一般是图像采集装置对同一目标区域先后采集所得到的两张图像,例如:摄像头对同一张面单上的手机号码再次进行了拍摄,得到一张用于字符识别的新图像,将新图像经过图像处理和字符识别得到的新的第一字符序列与缓存中之前存储的第一字符序列进行校验,当两者相同时,说明此次字符识成功,终端显示第一字符序列。
上述字符识别方法中,获取当前的待处理图像,通过对上述待处理图像进行图像预处理,可以在保留图像的主要信息数据的同时,降低图像大小,提升图像的识别效率;再根据预设的字符库对图像预处理得到的第一图像进行字符识别,得到第一字符序列,然后校验是否存在与第一字符序列相同的已存储字符序列,若存在,说明事先识别出过与第一字符序列相同的字符序列,此时确认第一字符序列为待处理图像的识别结果,减少重复识别工作量;若不存在,说明还没有识别出过与第一字符序列相同的字符序列,即未得到待处理图像的识别结果,此时存储第一字符序列,即将本次识别出的第一字符序列变成已存储字符序列,再通过图像采集装置重新获取当前的待处理图像,进行图像处理和字符识别,可以得到一个新的第一字符序列,将这个新的第一字符序列与已存储字符序列进行校验,当新的第一字符序列与之前已存储的第一字符序列相同时,表明对同一图像的两次识别结果相同,可以确认第一字符序列为待处理图像的识别结果,从而保证了识别的准确率。综上所述,本技术方案可以快速获取运输单上的手机号码,大幅度简化快递员的手动输入工作,提升快递员的作业效率和准确率。
在一个实施例中,提供了一种字符识别方法,如图3A所示,该方法包括以下步骤:
步骤302,获取当前的待处理图像。
步骤304,对待处理图像进行图像预处理,得到第一图像。
其中,第一图像可以为待处理图像经过灰度化和二值化得到的更清楚的黑白图像。
步骤306,根据预设的字符库对第一图像进行字符识别,得到第一字符序列。
步骤308,校验是否存在与第一字符序列相同的已存储字符序列。
步骤310,若是,确认第一字符序列为待处理图像的识别结果。
步骤312,若否,存储第一字符序列,转至获取当前的待处理图像的步骤。
这里,关于步骤302~312的具体限定可以参见上文中对于步骤202~212的限定,在此不再赘述。
在完成对第一字符序列的存储后,如图3B所示,所述方法还包括:
终端通过步骤302~312,已经对待处理图像进行了图像预处理,得到了第一图像,并对第一图像进行了字符识别,得到第一字符序列。当校验发现不存在与第一字符序列相同的已存储字符序列时,说明这次识别未能确认待处理图像的识别结果,此时就需要对第一图像进行再一次图像处理,进入下述步骤314。
步骤314,对第一图像进行第一图像处理,得到第二图像。
其中,第一图像处理的方式可以根据实际需要进行选择,例如,腐蚀膨胀、图像去噪和倾斜校正等图像处理方式中的至少一种。
具体地,上述的第一图像处理可以为腐蚀膨胀处理和/或图像去噪处理,还可以为倾斜校正处理,从而得到比第一图像更清晰、易识别的第二图像。在一种具体实施方式中,终端对第一图像进行腐蚀膨胀处理和图像去噪处理中的至少一种,得到第二图像。
这里,腐蚀和膨胀是二值图像形态学操作的最基础的方法。腐蚀是缩小图像、去除小沟壑细节的一种操作,可以去除图像中不想要的小细节,比如一张二值图片中的噪点或者小细节。膨胀与腐蚀的作用相反,主要用于放大细节。终端通过对第一图像进行腐蚀膨胀处理,能得到可识别度更高的第二图像。
噪声是图像干扰的重要原因,图像在实际应用中可能存在各种各样的噪声,这些噪声可能在传输中产生,也可能在量化等处理中产生。图像去噪是指减少数字图像中噪声的过程,可以提高图像质量,从而提升识别处理的精确度,图像去噪方法可以为中值滤波、均值滤波、维纳滤波、高斯滤波或者傅里叶滤波。
在另一种具体实施方式中,终端对第一图像进行倾斜校正处理,得到第二图像。
由于扫描和拍摄过程涉及人工操作,输入计算机的待识别图像或多或少都会存在一些倾斜,在对图像中印刷体字符进行识别处理前,就需要进行图像方向检测,并校正图像方向。倾斜校正就是针对倾斜现象,通过图像处理技术校正图像中倾斜现象的技术,可用于提高字符识别的精确率。
步骤316,根据字符库对第二图像进行字符识别,得到第二字符序列。
步骤318,校验是否存在与第二字符序列相同的已存储字符序列。
步骤320,若是,确认第二字符序列为待处理图像的识别结果。
步骤322,若否,存储第二字符序列。
具体地,当存在与第二字符序列相同的已存储字符序列时,显示第二字符序列。当不存在与第二字符序列相同的已存储字符序列时,存储第二字符序列。
这里,关于步骤316~322的具体限定可以参见上文中对于步骤206~212的限定,在此不再赘述。
本实施例公开的字符识别方法,先对待处理图像经过图像预处理得到的第一图像进行字符识别,如这次识别未能得到确认的识别结果,就对图像预处理后得到的第一图像再进行一次图像处理,,可以进一步提升图像数据的可识别性,从而提升识别效率,而且通过对第二字符序列与已存储字符序列是否相同进行了校验,实现了对识别结果的第二次校验,提升识别准确率。
在一个实施例中,提供了一种字符识别方法,如图4A所示,该方法包括以下步骤:
步骤402,获取当前的待处理图像。
步骤404,对待处理图像进行灰度化处理,得到灰度图像。
步骤406,对灰度图像进行二值化处理,得到第一图像。
步骤408,根据预设的字符库对第一图像进行字符识别,得到第一字符序列。
步骤410,校验是否存在与第一字符序列相同的已存储字符序列。
步骤412,若是,确认第一字符序列为待处理图像的识别结果。
步骤414,若否,存储第一字符序列,转至获取当前的待处理图像的步骤。
这里,关于步骤402~414的具体限定可以参见上文中对于步骤202~212的限定,在此不再赘述。
在完成对第一字符序列的存储后,如图4B所示,所述方法还包括:
步骤416,对第一图像进行第一图像处理,得到第二图像。
具体地,终端对第一图像进行腐蚀膨胀处理和/或图像去噪处理,得到第二图像。
这里,关于步骤416的具体限定可以参见上文中对于步骤314的限定,在此不再赘述。
步骤418,根据字符库对第二图像进行字符识别,得到第二字符序列。
步骤420,校验是否存在与第二字符序列相同的已存储字符序列。
步骤422,若是,确认第二字符序列为待处理图像的识别结果。
步骤424,若否,存储第二字符序列,进入步骤426。
这里,关于步骤418~424的具体限定可以参见上文中对于步骤206~212的限定,在此不再赘述。
在完成对第二字符序列的存储后,如图4C所示,所述方法还包括:
步骤426,对第二图像进行第二图像处理,得到第三图像。
具体地,终端对第二图像进行倾斜校正处理,得到第三图像。
步骤428,根据字符库对第三图像进行字符识别,得到第三字符序列。
步骤430,校验是否存在与第三字符序列相同的已存储字符序列。
步骤432,若是,确认第三字符序列为待处理图像的识别结果。
步骤434,若否,存储第三字符序列。
这里,关于步骤428~434的具体限定可以参见上文中对于步骤206~212的限定,在此不再赘述。
在本实施例中,该字符识别方法先对图像进行灰度化处理和二值化处理,降低图像大小,保留主要信息数据,并对得到的第一图像进行识别,对识别结果进行第一次校验;然后再对第一图像进行腐蚀膨胀处理、图像去噪处理处理,除去干扰,并对得到的第二图像的识别结果进行校验;接下来又对得到的第二图像进行倾斜校正处理,保证图像中的文字足够规整方正,还原更多的数字信息,提升复杂场景下图片识别成功率,并对得到的第三图像的识别结果进行校验,综上所述,本实施例通过多次图像处理和多级校验,提升了识别的效率和准确率。
在一个实施例中,在完成对第三字符序列的存储后,所述方法还可以包括:继续对第三图像经过处理的第三图像,直到得到的字符序列与已存储字符序列相同为止。
具体地,终端在完成对第三字符序列的存储后,继续对第三图像进行图像处理和字符识别,得到校验字符序列和经过处理的第三图像;终端校验所述校验字符序列是否与缓存中的已存储字符序列相同,若是,显示所述校验字符序列;若否,继续对经过处理的第三图像进行图像处理和字符识别,直到得到的字符序列与已存储字符序列相同为止。上述过程中,终端进行图像处理时,可以采用不同的图像处理方法。
在本实施例中,公开的字符识别方法一方面使得图像经过多个图像处理,提升了图像数据的可识别性,能提升识别效率;另一方面对于识别结果继续多级校验,可以提升识别准确率,从而可以快速获取运单上的手机号码,有效地简化了快递员的手动输入工作,提升业务处理速度。
在一个实施例中,所述字符库为基于Tesseract引擎训练生成的数字字符库,数字字符库包含多种字体和/或多种尺寸的0~9数字。
如图5所示,数字字符库可以通过以下方式训练得到:
步骤502,获取训练样本图像集。
其中,训练样本图像集包括第一样本图像集和/或第二样本图像集,第一样本图像集包括至少一张字体不同的数字的图像,第二样本图像集包括至少一张字体尺寸不同的数字的图像;
步骤504,采用jTessBoxEditorFX工具对训练样本图像集进行训练,生成数字字符库。
具体地,首先合并样本图像集中的图像,然后使用jTessBoxEditorFX对字符进行矫正,最后生成数字字符库。该数字字符库即预设的字符库。
本实施例中提供了一种字符识别方法,其采用基于Tesseract引擎训练生成的数字字符库,相较于Tesseract官方提供的字符库,这里的数字字符库只需识别10个数字字符,更加精简,使用所需容量更小,增强了识别效率,可以适用于对数字序列的识别,例如:对快递单上的手机号码进行识别。
应该理解的是,虽然图1~5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1~5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种字符识别装置,包括:图像获取模块602、图像预处理模块604、字符识别模块606和校验执行模块608,其中:
图像获取模块602,用于获取当前的待处理图像;
图像预处理模块604,用于对待处理图像进行图像预处理,得到第一图像;
字符识别模块606,用于根据预设的字符库对第一图像进行字符识别,得到第一字符序列;
校验执行模块608,用于当存在与第一字符序列相同的已存储字符序列时,确认第一字符序列为待处理图像的识别结果;当不存在与第一字符序列相同的已存储字符序列时,存储第一字符序列,并转至获取当前的待处理图像的步骤。
在一个实施例中,所述字符识别装置还包括:
第一图像处理模块,用于在完成对第一字符序列的存储后,对第一图像进行第一图像处理,得到第二图像;
字符识别模块606,还用于根据字符库对第二图像进行字符识别,得到第二字符序列;
校验执行模块608,还用于当存在与第二字符序列相同的已存储字符序列时,确认第二字符序列为待处理图像的识别结果;当不存在与第二字符序列相同的已存储字符序列时,存储第二字符序列。
在一个实施例中,所述字符识别装置还包括:
第二图像处理模块,用于在完成对第二字符序列的存储后,对第二图像进行第二图像处理,得到第三图像;
字符识别模块606,还用于根据字符库对第三图像进行字符识别,得到第三字符序列;
校验执行模块608,还用于当存在与第三字符序列相同的已存储字符序列时,确认第三字符序列为待处理图像的识别结果;当不存在与第三字符序列相同的已存储字符序列时,存储第三字符序列。
在一个实施例中,第一图像处理模块,用于对第一图像进行腐蚀膨胀处理和/或图像去噪处理,得到第二图像;
和/或,用于对第一图像进行倾斜校正处理,得到第二图像。
在一个实施例中,第二图像处理模块,用于对第二图像进行倾斜校正处理,得到第三图像;
和/或,用于对第二图像进行倾斜校正处理,得到第三图像。
在一个实施例中,图像预处理模块604,包括:
灰度化单元,用于对待处理图像进行灰度化处理,得到灰度图像;
二值化单元,用于对灰度图像进行二值化处理,得到第一图像。
在一个实施例中,所述装置还包括:显示模块,用于显示识别结果。
在一个实施例中,所述字符库为基于tesseract引擎训练生成的数字字符库,数字字符库包含多种字体和/或多种尺寸的0~9数字;
其中,数字字符库可以通过以下方式训练得到:
获取训练样本图像集,训练样本图像集包括第一样本图像集和/或第二样本图像集,第一样本图像集包括至少一张字体不同的数字的图像,第二样本图像集包括至少一张字体尺寸不同的数字的图像;
采用jTessBoxEditorFX工具对训练样本图像集进行训练,生成数字字符库。
关于字符识别装置的具体限定可以参见上文中对于字符识别方法的限定,在此不再赘述。上述字符识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种字符识别方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取当前的待处理图像;
对待处理图像进行图像预处理,得到第一图像;
根据预设的字符库对第一图像进行字符识别,得到第一字符序列;
当存在与第一字符序列相同的已存储字符序列时,确认第一字符序列为待处理图像的识别结果;
当不存在与第一字符序列相同的已存储字符序列时,存储第一字符序列,并转至获取当前的待处理图像的步骤。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在完成对第一字符序列的存储后,对第一图像进行第一图像处理,得到第二图像;
根据字符库对第二图像进行字符识别,得到第二字符序列;
当存在与第二字符序列相同的已存储字符序列时,确认第二字符序列为待处理图像的识别结果;
当不存在与第二字符序列相同的已存储字符序列时,存储第二字符序列。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在完成对第二字符序列的存储后,对第二图像进行第二图像处理,得到第三图像;
根据字符库对第三图像进行字符识别,得到第三字符序列;
当存在与第三字符序列相同的已存储字符序列时,确认第三字符序列为待处理图像的识别结果;
当不存在与第三字符序列相同的已存储字符序列时,存储第三字符序列。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对第一图像进行第一图像处理,得到第二图像,包括:
对第一图像进行腐蚀膨胀处理和/或图像去噪处理,得到第二图像;
和/或,对第一图像进行倾斜校正处理,得到第二图像。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对第二图像进行第二图像处理,得到第三图像,包括:
对第二图像进行腐蚀膨胀处理和/或图像去噪处理,得到第三图像;
和/或,对第二图像进行倾斜校正处理,得到第三图像。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对待处理图像进行图像预处理,得到第一图像,包括:
对待处理图像进行灰度化处理,得到灰度图像;
对灰度图像进行二值化处理,得到第一图像。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:显示识别结果。
在一个实施例中,所述字符库为基于tesseract引擎训练生成的数字字符库,数字字符库包含多种字体和/或多种尺寸的0~9数字;
处理器执行计算机程序时还实现以下步骤:获取训练样本图像集,训练样本图像集包括第一样本图像集和/或第二样本图像集,第一样本图像集包括至少一张字体不同的数字的图像,第二样本图像集包括至少一张字体尺寸不同的数字的图像;
采用jTessBoxEditorFX工具对训练样本图像集进行训练,生成数字字符库。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取当前的待处理图像;
对待处理图像进行图像预处理,得到第一图像;
根据预设的字符库对第一图像进行字符识别,得到第一字符序列;
当存在与第一字符序列相同的已存储字符序列时,确认第一字符序列为待处理图像的识别结果;
当不存在与第一字符序列相同的已存储字符序列时,存储第一字符序列,并转至获取当前的待处理图像的步骤。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在完成对第一字符序列的存储后,对第一图像进行第一图像处理,得到第二图像;
根据字符库对第二图像进行字符识别,得到第二字符序列;
当存在与第二字符序列相同的已存储字符序列时,确认第二字符序列为待处理图像的识别结果;
当不存在与第二字符序列相同的已存储字符序列时,存储第二字符序列。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在完成对第二字符序列的存储后,对第二图像进行第二图像处理,得到第三图像;
根据字符库对第三图像进行字符识别,得到第三字符序列;
当存在与第三字符序列相同的已存储字符序列时,确认第三字符序列为待处理图像的识别结果;
当不存在与第三字符序列相同的已存储字符序列时,存储第三字符序列。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对第一图像进行第一图像处理,得到第二图像,包括:
对第一图像进行腐蚀膨胀处理和/或图像去噪处理,得到第二图像;
和/或,对第一图像进行倾斜校正处理,得到第二图像。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对第二图像进行第二图像处理,得到第三图像,包括:
对第二图像进行腐蚀膨胀处理和/或图像去噪处理,得到第三图像;
和/或,对第二图像进行倾斜校正处理,得到第三图像。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对待处理图像进行图像预处理,得到第一图像,包括:
对待处理图像进行灰度化处理,得到灰度图像;
对灰度图像进行二值化处理,得到第一图像。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:显示识别结果。
在一个实施例中,所述字符库为基于tesseract引擎训练生成的数字字符库,数字字符库包含多种字体和/或多种尺寸的0~9数字。
计算机程序被处理器执行时还实现以下步骤:获取训练样本图像集,训练样本图像集包括第一样本图像集和/或第二样本图像集,第一样本图像集包括至少一张字体不同的数字的图像,第二样本图像集包括至少一张字体尺寸不同的数字的图像;采用jTessBoxEditorFX工具对训练样本图像集进行训练,生成数字字符库。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种字符识别方法,其特征在于,所述方法包括:
获取当前的待处理图像;
对所述待处理图像进行图像预处理,得到第一图像;
根据预设的字符库对所述第一图像进行字符识别,得到第一字符序列;
当存在与所述第一字符序列相同的已存储字符序列时,确认所述第一字符序列为所述待处理图像的识别结果;
当不存在与所述第一字符序列相同的已存储字符序列时,存储所述第一字符序列;
对所述第一图像进行第一图像处理,得到第二图像,根据所述字符库对所述第二图像进行字符识别,得到第二字符序列,当存在与所述第二字符序列相同的已存储字符序列时,确认所述第二字符序列为所述待处理图像的识别结果,当不存在与所述第二字符序列相同的已存储字符序列时,存储所述第二字符序列;
对所述第二图像进行第二图像处理,得到第三图像,根据所述字符库对所述第三图像进行字符识别,得到第三字符序列,当存在与所述第三字符序列相同的已存储字符序列时,确认所述第三字符序列为所述待处理图像的识别结果,当不存在与所述第三字符序列相同的已存储字符序列时,存储所述第三字符序列;
转至获取当前的待处理图像的步骤。
2.根据权利要求1所述的方法,其特征在于,所述对所述第一图像进行第一图像处理,得到第二图像,包括:
对所述第一图像进行腐蚀膨胀处理和/或图像去噪处理,得到所述第二图像;
和/或,对所述第一图像进行倾斜校正处理,得到所述第二图像。
3.根据权利要求1所述的方法,其特征在于,所述对所述第二图像进行第二图像处理,得到第三图像,包括:
对所述第二图像进行腐蚀膨胀处理和/或图像去噪处理,得到所述第三图像;
和/或,对所述第二图像进行倾斜校正处理,得到所述第三图像。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述对所述待处理图像进行图像预处理,得到第一图像,包括:
对所述待处理图像进行灰度化处理,得到灰度图像;
对所述灰度图像进行二值化处理,得到所述第一图像;
显示所述识别结果。
5.根据权利要求4所述的方法,其特征在于,所述字符库为基于tesseract引擎训练生成的数字字符库,所述数字字符库包含多种字体和/或多种尺寸的0~9数字;
所述数字字符库通过以下方式训练得到:
获取训练样本图像集,所述训练样本图像集包括第一样本图像集和/或第二样本图像集,所述第一样本图像集包括至少一张字体不同的数字的图像,所述第二样本图像集包括至少一张字体尺寸不同的数字的图像;
采用jTessBoxEditorFX工具对所述训练样本图像集进行训练,生成所述数字字符库。
6.一种字符识别装置,其特征在于,所述装置包括:
图像获取模块,用于获取当前的待处理图像;
图像预处理模块,用于对待处理图像进行图像预处理,得到第一图像;
字符识别模块,用于根据预设的字符库对所述第一图像进行字符识别,得到第一字符序列;
校验执行模块,用于当存在与所述第一字符序列相同的已存储字符序列时,确认所述第一字符序列为所述待处理图像的识别结果;当不存在与所述第一字符序列相同的已存储字符序列时,存储所述第一字符序列;
对所述第一图像进行第一图像处理,得到第二图像,根据所述字符库对所述第二图像进行字符识别,得到第二字符序列,当存在与所述第二字符序列相同的已存储字符序列时,确认所述第二字符序列为所述待处理图像的识别结果,当不存在与所述第二字符序列相同的已存储字符序列时,存储所述第二字符序列;
对所述第二图像进行第二图像处理,得到第三图像,根据所述字符库对所述第三图像进行字符识别,得到第三字符序列,当存在与所述第三字符序列相同的已存储字符序列时,确认所述第三字符序列为所述待处理图像的识别结果,当不存在与所述第三字符序列相同的已存储字符序列时,存储所述第三字符序列;
跳转模块,用于转至获取当前的待处理图像的步骤。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010201868.3A CN111401366B (zh) | 2020-03-20 | 2020-03-20 | 字符识别方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010201868.3A CN111401366B (zh) | 2020-03-20 | 2020-03-20 | 字符识别方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111401366A CN111401366A (zh) | 2020-07-10 |
CN111401366B true CN111401366B (zh) | 2022-08-19 |
Family
ID=71431125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010201868.3A Active CN111401366B (zh) | 2020-03-20 | 2020-03-20 | 字符识别方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111401366B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113781607B (zh) * | 2021-09-17 | 2023-09-19 | 平安科技(深圳)有限公司 | Ocr图像的标注数据的处理方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104992152A (zh) * | 2015-06-30 | 2015-10-21 | 深圳訾岽科技有限公司 | 一种基于模板字符库的字符识别方法及字符识别系统 |
CN107220640A (zh) * | 2017-05-23 | 2017-09-29 | 广州绿怡信息科技有限公司 | 字符识别方法、装置、计算机设备和计算机可读存储介质 |
-
2020
- 2020-03-20 CN CN202010201868.3A patent/CN111401366B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104992152A (zh) * | 2015-06-30 | 2015-10-21 | 深圳訾岽科技有限公司 | 一种基于模板字符库的字符识别方法及字符识别系统 |
CN107220640A (zh) * | 2017-05-23 | 2017-09-29 | 广州绿怡信息科技有限公司 | 字符识别方法、装置、计算机设备和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111401366A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11074445B2 (en) | Remote sensing image recognition method and apparatus, storage medium and electronic device | |
CN109829453B (zh) | 一种卡证中文字的识别方法、装置以及计算设备 | |
CN110569341B (zh) | 配置聊天机器人的方法、装置、计算机设备和存储介质 | |
CN110738203B (zh) | 字段结构化输出方法、装置及计算机可读存储介质 | |
CN110008997B (zh) | 图像纹理相似度识别方法、装置及计算机可读存储介质 | |
US11341739B2 (en) | Image processing device, image processing method, and program recording medium | |
CN111368638A (zh) | 电子表格的创建方法、装置、计算机设备和存储介质 | |
CN110659529A (zh) | 条形码识别方法、装置、计算机设备和存储介质 | |
CN111507165A (zh) | 人脸识别方法、装置、电子设备及计算机可读存储介质 | |
CN111967286A (zh) | 信息承载介质的识别方法、识别装置、计算机设备和介质 | |
JP2021135993A (ja) | テキスト認識方法及びテキスト認識装置、電子設備、記憶媒体 | |
CN110969154A (zh) | 文本识别方法、装置、计算机设备和存储介质 | |
CN112380566A (zh) | 用于对文档图像进行脱敏的方法、装置、电子设备及介质 | |
CN111666932A (zh) | 单据审核方法、装置、计算机设备及存储介质 | |
CN111401366B (zh) | 字符识别方法、装置、计算机设备和存储介质 | |
CN115240203A (zh) | 业务数据处理方法、装置、设备及存储介质 | |
CN110210467B (zh) | 一种文本图像的公式定位方法、图像处理装置、存储介质 | |
CN114140649A (zh) | 票据分类方法、票据分类装置、电子设备和存储介质 | |
CN111767924B (zh) | 图像处理方法、图像处理装置、电子设备、存储介质 | |
CN113537184A (zh) | Ocr模型训练方法、装置、计算机设备、存储介质 | |
CN115620321B (zh) | 表格识别方法及装置、电子设备和存储介质 | |
CN110956133A (zh) | 单字符文本归一化模型训练方法、文本识别方法及装置 | |
CN115527215A (zh) | 包含文本的图像处理方法、系统及存储介质 | |
CN114429628A (zh) | 图像处理方法、装置、可读存储介质及电子设备 | |
CN112749769A (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 |