公开/公告号CN102880874A
专利类型发明专利
公开/公告日2013-01-16
原文格式PDF
申请/专利权人 重庆新媒农信科技有限公司;
申请/专利号CN201210374937.6
发明设计人 王忻;
申请日2012-09-29
分类号G06K9/62(20060101);G06K9/20(20060101);
代理机构11129 北京海虹嘉诚知识产权代理有限公司;
代理人谢殿武
地址 401121 重庆市北部新区高新园黄山大道5号水星科技大厦南翼写字楼1楼3号
入库时间 2024-02-19 17:08:41
法律状态公告日
法律状态信息
法律状态
2018-08-14
专利权的转移 IPC(主分类):G06K9/62 登记生效日:20180726 变更前: 变更后: 申请日:20120929
专利申请权、专利权的转移
2016-04-13
授权
授权
2013-02-27
实质审查的生效 IPC(主分类):G06K9/62 申请日:20120929
实质审查的生效
2013-01-16
公开
公开
技术领域
本发明涉及字符识别技术,尤其涉及一种字符识别方法和字符识别器。
背景技术
字符识别是指利用计算机等设备自动识别字符的技术,其中字符包括:汉 字、英文字母、数字、标点等等,即诸如:包括:1、2、3、A、B、C、#、字, 等等。传统的字符识别技术,例如OCR(Opt ical Character Recognit ion,光 学字符识别),普遍存在的问题是:在处理大量固定字符集的文档时,处理效率 低,这主要是由于传统的文字识别技术中对每个字符进行复杂的计算。
发明内容
有鉴于此,本发明提供了一种字符识别方法和字符识别器。可以提高对字 符的识别速度。
本发明实施例提供的字符识别方法,包括如下步骤:
b、利用哈希算法计算待识别图片中字符图片的哈希值;
c、从预先建立的字符集哈希值训练库中查询所述哈希值,得到所述哈希值 对应的字符;
其中,所述b包括:
b1、从所述待识别图片中抽取单字字符图片;
b2、对所述单字字符图片进行单色滤镜处理;
b3、利用所述哈希算法计算所述单字字符图片的哈希值;
其中,所述字符集哈希值训练库包括:字符编码和与所述字符编码对应的 哈希值;所述c包括:
c1、从预先建立的字符集哈希值训练库中查询所述哈希值,得到所述哈希 值对应的字符编码;
c2、将所述得到的字符编码转换为相应的字符。
进一步,所述b之前还包括:a、建立字符集哈希值训练库;
所述a包括:
a1、提取字符集中的单字字符图片;
a2、对所述提取的单字符图片进行单色滤镜处理;
a 3、利用哈希算法计算所述提取的单字字符图片的哈希值;
a4、将所述提取的单字符图片的哈希值和所述单字字符图片的字符编码对 应地存储到字符集哈希值训练库。
进一步,所述哈希算法采用第五版消息摘要算法MD5。
进一步,所述字符编码采用二进制编码。
进一步,在所述预先建立的字符集哈希值训练库中,采用表的形式存储字 符编码和与所述字符编码对应的哈希值。
相应地,本发明实施例还提供了一种字符识别器,包括:
第一处理单元,用于利用哈希算法计算待识别图片中字符图片的哈希值;
第二处理单元,用于从预先建立的字符集哈希值训练库中查询所述第一处 理单元计算得到的哈希值,得到所述哈希值对应的字符;
其中,第一处理单元包括:
抽取子单元,用于从所述待识别图片中抽取单字字符图片;
第一滤镜处理子单元,用于对所述抽取子单元抽取的单字字符图片进行单 色滤镜处理;
第一计算子单元,用于利用哈希算法计算所述第一滤镜处理子单元处理后 的单字字符图片的哈希值;
其中,所述字符集哈希值训练库包括:字符编码和与所述字符编码对应的 哈希值;所述第二处理单元,包括:
查询子单元,用于从预先建立的字符集哈希值训练库中查询所述哈希值, 得到所述哈希值对应的字符编码;
转换子单元,用于将所述查询子单元查询到的字符编码转换为相应的字符。
进一步,还包括:建立单元,用于建立字符集哈希值训练库,所述建立单 元包括:
提取子单元,用于提取字符集中的单字字符图片;
第二滤镜处理子单元,用于对所述提取子单元提取的单字符图片进行单色 滤镜处理;
第二计算子单元,用于利用哈希算法计算所述第二滤镜处理子单元处理后 的单字字符图片的哈希值;
存储子单元,用于将所述提取的单字符图片的哈希值和所述单字字符图片 的字符编码对应地存储到字符集哈希值训练库。
进一步,所述哈希算法采用第五版消息摘要算法MD5。
进一步,所述字符编码采用二进制编码。
进一步,在所述预先建立的字符集哈希值训练库中,采用表的形式存储字 符编码和与所述字符编码对应的哈希值。
本发明的有益效果:
本发明实施例在对图片中的字符进行识别时,通过计算图片中的字符图片 的哈希值,然后在预先建立的字符集哈希值训练库中查询该哈希值,即可以得 到该字符图片的哈希值对应的字符,即实现了字符的识别。由于此种形式,通 过预先建立的字符集哈希值训练库,直接利用哈希值进行比较,对字符进行识 别,因此简化了字符识别过程,能够提高对字符的识别速度,适用于处理批量 庞大的图片资料。
附图说明
下面结合附图和实施例对本发明作进一步描述:
图1是本发明的字符识别方法的第一实施例的流程示意图。
图2是图1中的步骤S11的实施例的流程示意图。
图3是图1中步骤S12的实施例的流程示意图。
图4是本发明的字符识别方法的第二实施例的流程示意图。
图5是图4中的步骤S10的实施例的流程示意图。
图6是本发明的字符识别器的第一实施例的结构示意图。
图7是图6中第一处理单元的实施例的结构示意图。
图8是图6中第二处理单元的实施例的结构示意图。
图9是本发明的字符识别器的第二实施例的结构示意图。
图10是图9中建立单元的实施例的结构示意图。
具体实施方式
请参考图1,是本发明的字符识别方法的第一实施例的流程示意图。该方 法流程主要是用于对固定字符集图片中的字符进行识别。其包括如下步骤:
步骤S11、利用哈希算法计算待识别图片中字符图片的哈希值。
其中,哈希算法即hash,是一种将任意长度的消息压缩到某一固定长度的 消息摘要的函数,比较著名的哈希算法包括:MD2(Message Digest Algorithm 2,第二版消息摘要算法)、MD4(第四版消息摘要算法)、MD5(第五版消息摘要 算法)和SHA(Secure Hash Algorithm,安全哈希算法)。其中MD5是一种比 较成熟的、被广泛应用的哈希算法,因此在本实施例中选用MD5来计算待识别 图片中字符图片的哈希值。
下面介绍步骤S11的一种具体实施方式。如图2所示,步骤S11在一种实 施方式中包括如下步骤:
步骤S111、从所述待识别图片中抽取单字字符图片。
步骤S112、对所述单字字符图片进行单色滤镜处理。
步骤S113、利用所述哈希算法计算所述单字字符图片的哈希值。
其中,步骤S111待识别图片可能包括许多需要识别的字符,步骤S111将 这些字符一一地从待识别图片中进行抽取,得到单字字符图片。步骤S111得到 单字字符图片后,由于在实际中字符的颜色会发生变化,但字体的形态不变, 因此可以由步骤S112将单字字符图片进行单色滤镜处理,使得单字字符图片变 为单色,例如:黑色,再进行后续的处理,步骤S112即实现的目的是将“JPG”、 “PNG”和“GIF”等格式的图片中的字体处理为单色,通过步骤S112将图片的 颜色处理为单色,可以使得后续在进行字符识别时不会受到颜色的影响,提高 了字符识别的准确性和速度。经过上述处理后,再由步骤S113利用哈希算法, 例如:MD5,计算单字字符图片的哈希值。
步骤S12、从预先建立的字符集哈希值训练库中查询所述哈希值,得到所 述哈希值对应的字符。
其中,字符集哈希值训练库包括:字符编码和与所述字符编码对应的哈希 值。该字符集哈希值训练库可以在步骤S11之前建立,当需要对字符进行识别 时,直接调用该字符集哈希值训练库即可。并且,该字符集哈希值训练库可以 动态地进行更新。上述中,字符编码可以选用“UNICODE”、“GBK”、“GB2312”、 “UTF-8”、“UTF-16”等,一串字符编码唯一地对应一个字符,因此得到哈希值 对应的字符编码,也就相当于识别出了字符。
字符集哈希值训练库可以采用表的形式存储字符编码和哈希值,以及它们 的对应关系,在实际应用中,可以将“宋体”、“楷体”、“Arial”、“黑体”等常规 字符集中的固定字体形式的字符图片求哈希值(例如哈希算法采用MD5),存 入字符集哈希值训练库,字符编码可以采用UTF-8编码展示,其中字符“你”的 UTF-8编码为“0xE4BDA0”,字符“1”的UTF-8编码为“0x31”,字符“9”的UTF-8 编码为“0x39”,字符“好”的UTF-8编码为“0xE5A5BD”,例如采用表一的形式, 是对“黑体”字符集中“你”“1”“9”“好”的字符图片计算出的哈希值,各字 符编码对应的哈希值参见表一。
表一
另外,由于同一字符(如字符“1”)在多个字符集(如“宋体”、“楷体”、“Arial”、 “黑体”等字符集)中的字符图片有所不同,因此字符图片的不同导致得出的哈 希值也是不同的。当识别字符的时候,是以哈希值作为关键字查询的。
下面介绍步骤S12的一种具体实施方式。如图3所示,步骤S12在一种实 施方式中包括如下步骤:
步骤S121、从预先建立的字符集哈希值训练库中查询所述哈希值,得到所 述哈希值对应的字符编码。
步骤S122、将所述得到的字符编码转换为相应的字符。
例如:在字符集哈希值训练库中存在如下对应关系:“9”的字符编码对应 的哈希值(采用MD5得到的)为“45C48CCE2E2D7FBDEA1AFC51C7C6AD26”。如果 在某次字符识别中,当通过步骤S11的方式得到的哈希值为 “45C48CCE2E2D7FBDEA1AFC51C7C6AD26”,那么通过步骤S121即可以知道该哈 希值对应的是“9”的字符编码,因此步骤S122由“9”的字符编码即可以得到 字符“9”,也就是识别出字符“9”。
本实施例在对图片中的字符进行识别时,通过计算图片中的字符图片的哈 希值,然后在预先建立了字符集哈希值训练库中查询该哈希值,即可以得到该 字符图片的哈希值对应的字符,即实现了字符的识别。由于此种形式,通过预 先建立的字符集哈希值训练库,直接利用哈希值进行比较,对字符进行识别, 因此简化了字符识别过程,能够提高对字符的识别速度,适用于处理批量庞大 的图片资料。另外,本实施例在字符的识别过程中,还进行单色滤镜处理的操 作,从而使得字符的识别不受颜色的影响,因此可以进一步地提高字符识别的 速度和准确度。相对于现有OCR技术每秒10个字符的识别速度,本申请的字符 识别方法能够达到每秒识别1000个字符。
请参考图4,是本发明的字符识别方法的第二实施例的流程示意图。该实 施例与图1实施例的主要区别在于还包括:步骤S10、建立字符集哈希值训练 库。其中,如图5所示,步骤S10在其一种实施方式中包括:
步骤S101、提取字符集中的单字字符图片。
步骤S102、对所述提取的单字符图片进行单色滤镜处理。
步骤S103、利用哈希算法计算所述提取的单字字符图片的哈希值;
步骤S104、将所述提取的单字符图片的哈希值和所述单字字符图片的字符 编码对应地存储到字符集哈希值训练库。
其中步骤S101中的字符集可以是ttf(true Type Font)字符集,ttf字 符集是一种计算机中应用广泛的字符集。上述步骤S101-步骤S103与步骤S111- 步骤113的方法基本类似,其主要区别点在于:在步骤S101中由于是建立字符 集哈希值训练库的过程的一部分,因此从字符集中提取的字符图片是已知的, 而步骤S111由于是对待识别图片进行识别的过程的一部分,其抽取的单字字符 图片是未知的。
下面对可以执行上述方法流程的设备进行介绍。
请参考图6,是本发明的字符识别器的第一实施例的结构示意图。该字符 识别器1主要是用于对固定字符集图片中的字符进行识别。其包括:
第一处理单元11,用于利用哈希算法计算待识别图片中字符图片的哈希 值。
其中,哈希算法即hash,是一种将任意长度的消息压缩到某一固定长度的 消息摘要的函数,比较著名的哈希算法包括:MD2(Mes sage Digest Algorithm 2,第二版消息摘要算法)、MD4(第四版消息摘要算法)、MD5(第五版消息摘要 算法)和SHA(Secure Hash Algorithm,安全哈希算法)。其中MD5是一种比 较成熟的、被广泛应用的哈希算法,因此在本实施例中选用MD5来计算待识别 图片中字符图片的哈希值。
下面介绍第一处理单元11的一种具体结构的实施方式。如图7所示,第一 处理单元11在其一种实施方式中包括如下部件:
抽取子单元111,用于从待识别图片中抽取单字字符图片。
第一滤镜处理子单元112,用于对抽取子单元111抽取的单字字符图片进 行单色滤镜处理。
第一计算子单元113,用于利用哈希算法计算第一滤镜处理子单元112处 理后的单字字符图片的哈希值。
其中,待识别图片可能包括许多需要识别的字符,抽取子单元111将这些 字符一一地从待识别图片中进行抽取,得到单字字符图片。抽取子单元111得 到单字字符图片后,由于在实际中字符的颜色会发生变化,但字体的形态不变, 因此可以由第一滤镜处理子单元112将单字字符图片进行单色滤镜处理,使得 单字字符图片变为单色,例如:黑色,在进行后续的处理。第一滤镜处理子单 元112相当于实现的目的是将“JPG”、“PNG”和“GI F”等格式的图片中的字 体处理为单色,通过第一滤镜处理子单元112将图片的颜色处理为单色,可以 使得后续在进行字符识别时不会受到颜色的影响,提高了字符识别的准确性和 速度。经过上述处理后,再由第一计算子单元113利用哈希算法,例如:MD5, 计算单字字符图片的哈希值。
第二处理单元12,用于从预先建立的字符集哈希值训练库中查询第一处理 单元11计算得到的哈希值,得到该哈希值对应的字符。
其中,字符集哈希值训练库包括:字符编码和与所述字符编码对应的哈希 值。该字符集哈希值训练库可以预先建立,当需要对字符进行识别时,直接调 用该字符集哈希值训练库即可。并且,该字符集哈希值训练库可以动态地进行 更新。上述中,字符编码可以选用二进制编码,一串二进制编码唯一地对应一 个字符,因此得到哈希值对应的二进制编码,也就相当于识别出了字符。字符 集哈希值训练库可以采用表的形式存储字符编码和哈希值,以及它们的对应关 系,例如上述中的表一所示。
下面介绍第二处理单元12的一种具体结构。如图8所示,第二处理单元 12包括:
查询子单元121,用于从预先建立的字符集哈希值训练库中查询所述哈希 值,得到所述哈希值对应的字符编码。
转换子单元122,用于将查询子单元121查询得到的字符编码转换为相应 的字符。
例如:在字符集哈希值训练库中存在如下对应关系:“9”的字符编码对应 的哈希值(采用MD5得到的)为“45C48CCE2E2D7FBDEA1AFC51C7C6AD26”。如果 在某次字符识别中,当通过字符识别得到的哈希值为 “45C48CCE2E2D7FBDEA1AFC51C7C6AD26”,那么通过查询子单元121即可以知道 该哈希值对应的是“9”的字符编码,因此转换子单元122由“9”的字符编码 即可以得到字符“9”,也就是识别出字符“9”。
本实施例在对图片中的字符进行识别时,通过计算图片中的字符图片的哈 希值,然后在预先建立了字符集哈希值训练库中查询该哈希值,即可以得到该 字符图片的哈希值对应的字符,即实现了字符的识别。由于此种形式,通过预 先建立的字符集哈希值训练库,直接利用哈希值进行比较,对字符进行识别, 因此简化了字符识别过程,能够提高对字符的识别速度,适用于处理批量庞大 的图片资料。另外,本实施例在字符的识别过程中,还进行单色滤镜处理的操 作,从而使得字符的识别不受颜色的影响,因此可以进一步地提高字符识别的 速度和准确度。相对于现有OCR技术每秒10个字符的识别速度,本申请的字符 识别方法能够达到每秒识别1000个字符。
请参考图9,是本发明的字符识别器的第二实施例的结构示意图。该实施 例与图6实施例的结构主要区别在于还包括:建立单元10,用于建立字符集哈 希值训练库。其中,如图10所示,建立单元10的一种结构包括:
提取子单元101,用于提取字符集中的单字字符图片。
第二滤镜处理子单元102,用于对提取子单元101提取的单字符图片进行 单色滤镜处理。
第二计算子单元103,用于利用哈希算法计算第二滤镜处理子单元102处 理后的单字字符图片的哈希值;
存储子单元104,用于将提取子单元101提取的单字符图片的哈希值和第 二计算子单元103计算到的该单字字符图片的字符编码对应地存储到字符集哈 希值训练库。
其中字符集可以是ttf(true Type Font)字符集,ttf字符集是一种计算 机中应用广泛的字符集。上述由于是建立字符集哈希值训练库的过程的一部分, 因此从字符集中提取的字符图片是已知的。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管 参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解, 可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的 宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
机译: 手写字符识别器和手写字符识别方法
机译: 使用非字符识别器的字符识别方法
机译: 字符识别方法和字符识别器