本发明涉及一种字符识别方法,特别涉及只含确定字符的显示软件的字符识别。
背景技术:
在有高安全性要求的软件中,需要监控关键字符显示是否正确,如平显显示软件,对飞行关键字符(如,当前空速、当前高度)需要监控。
现有的字符识别技术需要采用复杂的算法,匹配庞大字符样本库,比较耗费时间;而对高安全性显示软件来说,需要算法尽量简单,降低验证时间成本,运算效率尽量提高,从而提高用户体验效果。
技术实现要素:
针对只含确定字符的显示软件,本发明提出一种字符识别方法,针对需要识别的字符画面,确定画面的独立识别区域,将待识别区域中的字符串分隔为单个字符,获取字符的rgb值,对rgb值进行归一,进行特定采样间隔的特征值求和,求和结果与字符库中字符进行匹配,从而达到字符识别的目的,该算法简单,可靠性高,能够满足高安全性显示软件要求。
本发明的技术方案为:
所述一种字符识别方法,其特征在于:包括以下步骤:
步骤1:对待显示图像的数据进行扫描,根据事先确定的识别区域,在扫描数据中确定每个待识别的独立识别区域,并将待识别区域中的字符串分隔为单个字符,确定单个字符的识别区域;
步骤2:对单个字符的识别区域进行如下处理:
步骤2.1:对单个字符识别区域每个像素点进行二值化:如果像素点存在rgb值,则将该像素点特征值设置为1,否则为0;
步骤2.2:对单个字符识别区域按照设定的采样行间隔,对所有采样的像素点特征值求和,根据求和结果将待识别字符与字符库中字符进行匹配;如果存在多个匹配结果,则将采样行间隔+1,再对所有采样的像素点特征值求和,根据求和结果将待识别字符与上一循环匹配过程中得到的多个匹配结果进行匹配,直至存在唯一匹配结果;
步骤3:重复步骤2,完成所有单个字符识别区域的字符识别。
有益效果
本发明的优点是:本发明所提供的字符识别的方法,不依赖复杂算法和庞大的字符样本库,而是对待识别字符的rgb值进行归一、特征值求和,结果匹配,达到字符识别的目的。该方法具有简单,高效等优点,提高高安全性软件字符监控的效率。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1:字符识别流程图;
图2:字符库;
图3:需要识别的关键字符举例;
图4:图3区域1中的字符串“200”对应的rgb数组;
图5:图4中的字符“2”对应的rgb数组。
具体实施方式
下面详细描述本发明的实施例,所述实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
本实施例中的字符识别方法主要的思路原理是针对需要识别的字符画面,确定画面的独立识别区域,将待识别区域中的字符串分隔为单个字符,获取字符的rgb值,对rgb值进行归一,进行特定采样间隔的特征值求和,求和结果与字符库中字符进行匹配,从而达到字符识别的目的。
具体包括以下步骤:
步骤1:对待显示图像的数据进行扫描,根据事先确定的识别区域,在扫描数据中确定每个待识别的独立识别区域,并将待识别区域中的字符串分隔为单个字符,确定单个字符的识别区域;
步骤2:对单个字符的识别区域进行如下处理:
步骤2.1:对单个字符识别区域每个像素点进行二值化:如果像素点存在rgb值,则将该像素点特征值设置为1,否则为0;
步骤2.2:对单个字符识别区域按照设定的采样行间隔,对所有采样的像素点特征值求和,根据求和结果将待识别字符与字符库中字符进行匹配;如果存在多个匹配结果,则将采样行间隔+1,再对所有采样的像素点特征值求和,根据求和结果将待识别字符与上一循环匹配过程中得到的多个匹配结果进行匹配,直至存在唯一匹配结果;
步骤3:重复步骤2,完成所有单个字符识别区域的字符识别。
需要注意的是,所述匹配指在某一采样行间隔下,待识别字符的特征值求和结果与字符库中字符的特征值之差在设定的容差范围内。
下面结合实施例描述本发明:
事先要建立确定字符的字符库:
1、对显示软件需要的字符,获取rgb值;
2、对字符每个像素点进行二值化:如果像素点存在rgb值,则将该像素点特征值设置为1,否则为0;
3、设置若干采样行间隔(采样行间隔的确定原则为:通过图1的流程,能够识别出来字符库中所有的字符,且采样间隔数目最少)
4、计算在每个采样行间隔下,字符库中每个字符的特征值和,并存储。
建立好字符库后,采用以下步骤进行字符识别:
步骤1:对待显示图像的数据进行扫描,根据事先确定的识别区域,在扫描数据中确定每个待识别的独立识别区域,并将待识别区域中的字符串分隔为单个字符,确定单个字符的识别区域。
所述事先确定的识别区域是连续的一行字符为一个识别区域,如图3所示的区域1—区域6。扫描字符串对应的rgb值,遇到rgb全0的若干列,则认为是单个字符的结束,若全0的列超出一定范围,则认为是字符串的结束。从而把字符串分隔为单个字符。对图4中区域1字符串“200”进行分隔后得到单个字符“2”。
步骤2:对单个字符的识别区域进行如下处理:
步骤2.1:对单个字符识别区域每个像素点进行二值化:如果像素点存在rgb值,则将该像素点特征值设置为1,否则为0;
步骤2.2:对单个字符识别区域按照设定的采样行间隔,对所有采样的像素点特征值求和,根据求和结果将待识别字符与字符库中字符进行匹配;如果存在多个匹配结果,则将采样行间隔+1,再对所有采样的像素点特征值求和,根据求和结果将待识别字符与上一循环匹配过程中得到的多个匹配结果进行匹配,直至存在唯一匹配结果;
对于单个字符“2”,采用采样行间隔为1的特征值求和,与字库中采样行间隔为1的字符进行匹配,唯一匹配到“2”,从而识别出2;接下来识别单个字符“0”,发现匹配到字库中的“0”和“c”;此时采样间隔换为4,通过匹配,唯一匹配到“0”,识别出0。
步骤3:重复步骤2,完成所有单个字符识别区域的字符识别。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。