一种通过图像比对实现数据补全的方法与流程

文档序号:12134650阅读:547来源:国知局

本发明涉及图像处理领域,具体涉及一种通过图像对比实现数据补全的方法。



背景技术:

在身份识别领域,身份证是经常使用的证件,在银行,多采用人工验证身份证、人工录入信息并比对的方式输入个人信息,由于人工比对标准不一致、宽严条件个性化,客户身份信息录入的有效性差、耗时耗力,并且填写信息时客户身份信息会暴露,给不法分子可乘之机,不法分子利用虚假(或骗取)居民身份证开立假账户、假贷款等现象还时有发生。



技术实现要素:

本发明为解决上述技术问题所采用的技术方案是提供一种通过图像对比实现数据补全的方法,包括:

S1、在终端层采集用户多个属性数据填入表单;

S2、终端层将所述多个属性数据发送到认证层,密钥匹配后,认证层的数据库验证所述多个属性数据是否存在并且是否相互对应,如果验证不通过,则向终端层返回失败信息,返回S1,若通过,进入S3;

S3、以所述多个属性数据作为索引,在认证层的数据库中以要查询的目标数据作为目标字段,将所要查询的目标字段的信息返回给终端层;

S4、终端层向用户核实所返回的目标字段的信息是否正确,如果正确,则将目标字段的信息填入表单。

优选地,S1包括手动输入多个属性数据,或者通过自动字体识别解析多个属性数据。

优选地,自动字体识别解析的方法步骤包括:影像输入;影像预处理,其包括灰度变换,图像降噪,角度校正;文字特征抽取,包括:以文字区域内的黑/白点数比抽取,形成空间的数值向量,进行比对;或者文字影像细线化后,取得字的笔划端点、交叉点的数量及位置,以笔划段为特征,进行比对;对比识别:包括采用计算数学距离的方法进行比对;字词后处理。

优选地,在对比识别中,采用廓型跟踪法识别汉字。

优选地,S2中的密钥匹配包括:终端层向认证层请求动态密钥,认证层生成动态密钥发送给终端层,并且在认证层保存该动态密钥;终端层获得动态密钥后,将需要发送到认证层的数据用动态密钥的特定加密算法加密,终端层把加密好的数据发送给认证层;认证层收到加密好的终端层数据,认证层用动态密钥中的加密算法对认证层保存的数据进行加密,生成加密好的认证层数据,与加密好的终端层数据进行比较,相等则认证成功,认证层删除动态密钥。

本发明通过图像识别算法,准确识别已有信息,通过特有的加密算法,在身份数据查找中,使个人身份数据实现安全保密传输,防止明文数据传输时被黑客截获所带来的安全隐患,通过与数据库的交互实现自动补全,节省时间。

附图说明

图1是本发明通过图像对比实现数据补全的方法流程图。

具体实施方式

以下结合附图和实施例对本发明作以详细的描述:

本发明提供一种通过图像对比实现数据补全的方法,包括:S1在终端层采集用户多个属性数据填入表单;S2终端层将所述多个属性数据发送到认证层,密钥匹配后,认证层的数据库验证所述多个属性数据是否存在并且是否相互对应,如果验证不通过,则向终端层返回失败信息,返回S1,若通过,进入S3;S3以所述多个属性数据作为索引,在认证层的数据库中以要查询的目标数据作为目标字段,将所要查询的目标字段的信息返回给终端层;S3终端层向用户核实所返回的目标字段的信息是否正确,如果正确,则将目标字段的信息填入表单。

优选地,S1包括手动输入多个属性数据,或者通过自动字体识别解析多个属性数据。

优选地,自动字体识别解析的方法步骤包括:影像输入;影像预处理,其包括灰度变换,图像降噪,角度校正;文字特征抽取,包括:以文字区域内的黑/白点数比抽取,形成空间的数值向量,进行比对;或者文字影像细线化后,取得字的笔划端点、交叉点的数量及位置,以笔划段为特征,进行比对;对比识别:包括采用计算数学距离的方法进行比对;字词后处理。

优选地,在对比识别中,采用廓型跟踪法识别汉字。

优选地,S2中的密钥匹配包括:终端层向认证层请求动态密钥,认证层生成动态密钥发送给终端层,并且在认证层保存该动态密钥;终端层获得动态密钥后,将需要发送到认证层的数据用动态密钥的特定加密算法加密,终端层把加密好的数据发送给认证层;认证层收到加密好的终端层数据,认证层用动态密钥中的加密算法对认证层保存的数据进行加密,生成加密好的认证层数据,与加密好的终端层数据进行比较,相等则认证成功,认证层删除动态密钥。

在优选实施方式中,所采用的自动字体识别属于模式识别,其分为以下几个步骤:影像输入、影像预处理、文字特征抽取、比对识别、最后经人工校正将认错的文字更正,将结果输出。

1.影像输入。

2.影像预处理:灰度变换:由于彩色图像所含信息量过于巨大,在对图像中印刷体字符进行识别处理前,需要对图像进行灰度变换处理,使图像只包含黑色的前景信息和白色的背景信息,提升识别处理的效率和精确度。图像降噪:由于待识别图像的品质受限于输入设备、环境、以及文档的印刷质量,在对图像中印刷体字符进行识别处理前,需要根据噪声的特征对待识别图像进行去噪处理,提升识别处理的精确度。角度校正:由于扫描和拍摄过程涉及人工操作,输入计算机的待识别图像或多或少都会存在一些角度偏差,在对图像中印刷体字符进行识别处理前,就需要进行图像方向检测,并校正图像方向。

3.文字特征抽取:特征抽取是自动字体识别的核心,特征是识别的筹码,可分为两类:一为统计的特征,如文字区域内的黑/白点数比,当文字区分成好几个区域时,这一个个区域黑/白点数比之联合,成了空间的一个数值向量。而另一类特征为结构的特征,如文字影像细线化后,取得字的笔划端点、交叉点之数量及位置,或以笔划段为特征,配合特殊的比对方法,进行比对。

4.对比数据库:当输入文字算完特征后,不管是用统计或结构的特征,都有一比对数据库或特征数据库来进行比对,数据库的内容包含所有欲识别的字集文字,根据与输入文字一样的特征抽取方法所得的特征群组。

在对比识别中,根据不同的特征特性,选用不同的数学距离函数,为了使识别的结果更稳定,利用各种特征比对方法的相异互补性,使识别出的结果信心度高。

5.字词后处理:由于自动字体识别的识别率并无法达到百分之百,为了加强比对的正确性及信心值,利用比对后的识别文字与其可能的相似候选字群中,根据前后的识别文字找出最合乎逻辑的词,做更正的功能,即字词后处理,其包含在自动字体识别系统中。

在优选实施方式中,对比识别采用廓型跟踪法识别汉字。对于一幅二值图像的一条廓型线,廓型跟踪的过程是:按照从上到下、从左到右的顺序在图像中搜索,找到的第一个值为1的像素作为廓型线的起点S,然后从S点出发按照一定的“跟踪准则”找到其相邻的廓型点,直到找到所有的廓型点。

简单的“跟踪准则”描述为:如果当前廓型点为N,则在N的8-邻域中寻找目标点M,如果M的4-邻域点不都是目标点,则M是廓型点,否则不是廓型点;如果M和S重合,则廓型跟踪结束,否则继续寻找下一点。这种算法要对每个廓型点8-邻域内的所有点的4-邻域点进行判别,计算量比较大,影响跟踪的速度,为此本发明提出一种改进算法。

1)按照从上到下、从左到右的顺序在字符图像中搜索,找到的第一个值为1的像素作为字符廓型线的起点,记该像素为P1

2)考虑一个以P1为中心的3×3模板。将模板内的各像素按图1所示标记序号为0~7,从序号为0的像素开始按顺序检查各像素是否是值为1的像素,把最初遇到的值为1且不为已跟踪过的廓型点的像素设为P2。如果从0到7全是值为0的像素,则P1为孤立点,转到4);

3)将P2作为模板中心像素,按同样的方法搜索P3,P4,…。如果搜索的结果Pn=P1,Pn+1=P2,则表明P1,P2,…,Pn已经形成一个闭环,中止本条廓型线的跟踪。点列P1,P2,…,Pn就是要找的一条廓型线。

4)从P1出发按照从上到下、从左到右的顺序在图像中搜索,找到的第一个值为1且不在已经找到的廓型线上的廓型点作为另一条廓型线的起点,转到2),直到找不到新的廓型线的起点为止。

这个改进算法不仅简化了判断廓型点的计算,而且可以跟踪一幅图像的所有廓型线。

设字符的廓型特征数据序列为X=x1,x2,…xn,标准字符特征数据序列为Y=y1,y2,…yn,则两个特征数据序列的相关系数为:

其中E()表示期望值;

相关系数是一个比率,不是等单位量度,不是相关的百分数,没有单位名称,其正负号只表示相关的方向,绝对值表示相关的程度。因为不是等单位的度量,因而不能说相关系数0.7是0.35两倍,只能说相关系数为0.7的二列变量相关程度比相关系数为0.35的二列变量相关程度更为密切和更高。也不能说相关系数从0.70到0.80与相关系数从0.30到0.40增加的程度一样大。通常地,相关系数与相关程度的关系如下:

因而,在所检测的字符与所比较的字符计算结果为高度相关时,判定已经识别出该字符。

在优选实施方式中,密钥匹配包括:终端层向认证层请求动态密钥,认证层生成动态密钥发送给终端层,并且在认证层保存该动态密钥;终端层获得动态密钥后,将需要发送到认证层的数据用动态密钥的特定加密算法加密,终端层把加密好的数据发送给认证层;认证层收到加密好的终端层数据,认证层用动态密钥中的加密算法对认证层保存的数据进行加密,生成加密好的认证层数据,与加密好的终端层数据进行比较,相等则认证成功,认证层删除动态密钥。

其中的加密算法采用如下特定的加密算法。

以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。首先需要对信息进行填充,使其字节长度对512求余数的结果等于448。因此,信息的字节长度将被扩展至N*512+448,即N*64+56个字节,N为一个正整数。填充的方法如下,在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充。然后再在这个结果后面附加一个以64位二进制表示的填充前的信息长度。经过这两步的处理,现在的信息字节长度=N*512+448+64=(N+1)*512,即长度恰好是512的整数倍数。这样做的原因是为满足后面处理中对信息长度的要求。有四个32位被称作链接变量的整数参数,他们分别为:A=0x01234567,B=0x89abcdef,C=0xfedcba98,D=0x76543210。设置好这四个链接变量,开始进入算法的四轮循环运算,循环的次数是信息中512位信息分组的数目。

将上面四个链接变量复制到另外四个变量中:A到a,B到b,C到c,D到d。主循环有四轮,每轮循环都很相似。第一轮进行16次操作。每次操作对a、b、c和d中的其中三个作一次非线性函数运算,然后将所得结果加上第四个变量(文本中的一个子分组和一个常数)。再将所得结果向右环移一个不定的数,并加上a、b、c或d中之一。最后用该结果取代a、b、c或d中之一。

优选地,可以采用1024分组来处理输入的信息,且每一分组又被划分为32个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。首先需要对信息进行填充,使其字节长度对512求余数的结果等于448。因此,信息的字节长度将被扩展至N*512+448,即N*64+56个字节,N为一个正整数。填充的方法如下,在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充。然后再在这个结果后面附加一个以64位二进制表示的填充前的信息长度。经过这两步的处理,现在的信息字节长度=N*512+448+64=(N+1)*512,即长度恰好是512的整数倍数。这样做的原因是为满足后面处理中对信息长度的要求。有四个32位被称作链接变量的整数参数,他们分别为:A=0x01234567,B=0x89abcdef,C=0xfedcba98,D=0x76543210。设置好这四个链接变量,开始进入算法的四轮循环运算,循环的次数是信息中512位信息分组的数目。

将上面四个链接变量复制到另外四个变量中:A到a,B到b,C到c,D到d。主循环有八轮,每轮循环都很相似。第一轮进行16次操作。每次操作对a、b、c和d中的其中三个作一次非线性函数运算,然后将所得结果加上第四个变量(文本中的一个子分组和一个常数)。再将所得结果向右环移一个不定的数,并加上a、b、c或d中之一。最后用该结果取代a、b、c或d中之一。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1