具体实施方式
发明人在针对图像拼接技术的研究中发现,上述“相关图像拼接技术”(例如,将多帧图像直接进行拼接处理等)不适于针对存在重叠区域的至少两个图像(例如,一个图像序列中任意两帧相邻图像之间存在重叠区域等)进行图像拼接处理。为了便于理解,下面结合扫描设备采集的扫描图像序列进行说明。
作为示例,当用户使用扫描设备对待扫描对象(如,绘本、课本和教材等书籍上的文字区域等)进行扫描时,该扫描设备会获取到扫描图像序列(例如,文字图像序列等)。然而,因该“扫描图像序列”中任意两个相邻扫描图像之间存在重叠区域,使得在将该“扫描图像序列”中所有扫描图像直接进行拼接时会导致拼接得到的图像中存在大量重复区域,从而使得该“拼接得到的图像”无法准确地描述出上述“待扫描对象”所携带的信息,如此导致扫描体验比较差。
基于上述发现,为了解决背景技术部分的技术问题,本申请实施例提供了一种图像拼接方法,该方法包括:在获取到待拼接图像之后,先对该待拼接图像进行字符检测处理,得到该待拼接图像的字符识别结果;再根据该待拼接图像的字符识别结果和参考图像的字符识别结果,确定该待拼接图像与该参考图像之间的字符匹配结果;其中,该参考图像与该待拼接图像之间存在重叠区域;然后,依据该待拼接图像与该参考图像之间的字符匹配结果,确定该待拼接图像的非重叠区域位置信息;最后,根据该待拼接图像的非重叠区域位置信息,对包括该参考图像的目标图像进行图像信息更新,以使更新后的目标图像不仅能够包括该参考图像所携带的图像信息,也包括该待拼接图像携带的图像信息,如此能够实现针对存在重叠区域的至少两个图像(例如,一个图像序列)进行拼接处理。
可见,因包括参考图像的目标图像是根据上述“待拼接图像的非重叠区域位置信息”进行更新的,使得在该目标图像的更新过程中着重参考该待拼接图像的非重叠区域,从而使得更新后的目标图像中只是新增了该待拼接图像的非重叠区域所携带的图像信息,如此能够有效地避免上述“参考图像与该待拼接图像之间存在重叠区域”对该目标图像的更新过程所造成的不良影响(如,导致拼接得到的图像中存在重复区域),从而能够提高图像拼接效果。
另外,本申请实施例不限定图像拼接方法的执行主体,例如,本申请实施例提供的图像拼接方法可以应用于终端设备或服务器等数据处理设备。其中,终端设备可以为扫描设备(例如,文字扫描笔)、智能手机、计算机、个人数字助理(Personal Digital Assitant,PDA)或平板电脑等。服务器可以为独立服务器、集群服务器或云服务器。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
方法实施例一
参见图1,该图为本申请实施例提供的一种图像拼接方法的流程图。
本申请实施例提供的图像拼接方法,包括S1-S4:
S1:在获取到待拼接图像之后,对该待拼接图像进行字符检测处理,得到该待拼接图像的字符识别结果。
其中,“待拼接图像”是指在图像拼接处理过程中需要将其拼接至其他图像(如,下文“目标图像”)上的一帧图像;而且该“待拼接图像”包括至少一个待拼接字符。“待拼接字符”用于表示在“待拼接图像”中出现的字符。
另外,本申请实施例不限定“待拼接图像”,例如,当针对扫描设备采集的扫描图像序列进行图像拼接处理时,为了提高图像拼接处理的实时性,可以将该扫描设备实时采集的扫描图像确定为该“待拼接图像”,以便实现将该扫描设备实时采集的扫描图像实时地进行图像拼接处理。基于此,本申请实施例还提供了获取“待拼接图像”的一种可能的实施方式,其具体可以包括:在获取到扫描设备采集的当前帧图像之后,可以将该当前帧图像确定为待拼接图像。其中,“当前帧图像”用于表示该扫描设备实时采集的扫描图像(如,携带有文字信息的扫描图像)。
上述“字符检测处理”用于检测一个图像数据所携带的字符信息;而且本申请实施例不限定“字符检测处理”的实施方式,例如,可以采用现有的或者未来出现的任一种能够针对图像数据进行字符检测处理的方法(例如,基于字符检测模型的方法)进行实施。
“字符检测模型”用于针对该字符检测模型的输入数据进行字符检测处理;而且本申请实施例不限定“字符检测模型”,例如,可以采用现有的或者未来出现的任一种能够实现字符检测处理的模型(例如,光学字符识别(Optical Character Recognition,OCR)模型、预先训练的具有字符检测功能的卷积神经网络模型、字符级别的文本检测(CharacterRegion Awareness for Text Detection,CRAFT)网络等)进行实施。
另外,本申请实施例不限定“字符检测模型”的训练过程,例如,若该“字符检测模型”只用于进行字符位置检测,则该“字符检测模型”可以根据样本文字图像和该样本文字图像对应的实际字符位置信息进行训练;或者,为了进一步提高该“字符检测模型”的检测性能,该“字符检测模型”可以根据样本文字图像、该样本文字图像对应的实际字符位置信息、和该样本文字图像对应的实际字符进行训练。又如,若该字符检测模型”用于进行字符识别以及字符位置检测,则该“字符检测模型”可以根据样本文字图像、该样本文字图像对应的实际字符位置信息、和该样本文字图像对应的实际字符进行训练。其中,“字符识别”是指识别一个图像数据中某个字符(例如,文字或者符号)是什么;“字符位置检测”是指检测一个图像数据中字符所处位置。
需要说明的是,在一些情况下,为了提高“字符检测模型”的检测性能,上述“样本文字图像”可以根据该“字符检测模型”的应用场景(例如,利用文字扫描笔针对绘本、课本、作业本、书籍等进行扫描处理的场景)进行采集。另外,为了提高“字符检测模型”的检测性能,可以尽可能地保证上述“样本文字图像”中所有字符都是完整的。此外,若后续“字符检测模型”被用于针对预设尺寸的图像数据进行字符检测,则上述“样本文字图像”也可以按照该预设尺寸进行采集,以使该“样本文字图像”也具有该预设尺寸。其中,预设尺寸可以预先设定,例如,其可以包括预设图像高度值(Hfigure)和预设图像宽度值(Wfigure)。
上述“待拼接图像的字符识别结果”用于表示该待拼接图像中至少一个待拼接字符的描述信息(如,字符位置信息和/或字符识别信息);而且本申请实施例不限定该“待拼接图像的字符识别结果”,例如,其可以包括该待拼接图像中至少一个待拼接字符的字符位置信息、和/或该拼接图像中至少一个待拼接字符的字符识别信息。其中,“字符位置信息”用于描述一个字符在图像数据中所处位置;而且本申请实施例不限定“字符位置信息”的表示方式,例如,其可以利用一个字符的外接四边形的四个顶点坐标进行表示。“字符识别信息”用于描述该字符是什么。
基于上述S1的相关内容可知,在获取到在获取到待拼接图像之后,对该待拼接图像进行字符检测处理,得到该待拼接图像的字符识别结果,以便后续能够基于该字符识别结果与该待拼接图像对应的参考图像的字符识别结果之间的差异性,实现针对该待拼接图像的图像拼接处理。例如,当本申请实施例提供的图像拼接方法应用于借助扫描设备的扫描场景时,为了提高图像拼接处理的实时性,可以在获取到该扫描设备采集的当前帧图像之后,对该当前帧图像进行字符检测处理,得到该当前帧图像的字符识别结果,以便后续能够基于该当前帧图像的字符识别结果与该当前帧图像对应的上一帧图像的字符识别结果(也就是,下文“参考图像的字符识别结果”)之间的差异性,实现针对该当前帧图像的图像拼接处理,如此有利于实现针对扫描设备实时采集的扫描图像实时地进行图像拼接处理。
S2:根据待拼接图像的字符识别结果和参考图像的字符识别结果,确定待拼接图像与参考图像之间的字符匹配结果。其中,参考图像与待拼接图像之间存在重叠区域。
其中,“参考图像”是指在将“待拼接图像”拼接至其他图像(如,下文“目标图像”)上时需要参考的且包括该“待拼接图像”中部分区域的图像;而且上述“其他图像”记录有该“参考图像”所携带的所有信息。可见,上述“其他图像”包括该“参考图像”,且该“参考图像”与待拼接图像之间存在重叠区域。为了便于理解“参考图像”,下面结合两个场景进行说明。
场景一,若S1-S4用于将“待拼接图像”拼接至“参考图像”,则该“参考图像”可以是指与该“待拼接图像”之间存在重叠区域的任一图像。
场景二,若S1-S4用于针对一个包括“待拼接图像”的图像序列(例如,由扫描设备通过针对待扫描对象进行扫描得到的扫描图像序列等)进行拼接处理,则该“参考图像”可以是指该图像序列中与该“待拼接图像”相邻,且排列位置比该“待拼接图像”靠前的一帧图像(也就是,该“参考图像”可以是指该“待拼接图像”的上一帧图像)。其中,“待扫描对象”是指被扫描设备扫描的对象(例如,绘本、课本和教材等书籍)。“扫描图像序列”用于记录由该扫描设备采集到的按照采集时间从先到后排列的多帧扫描图像。“排列位置”是指在将“图像序列”按照采集时间从先到后进行排列得到的。
上述“参考图像的字符识别结果”用于表示该参考图像中至少一个参考字符的相关信息(如,字符位置信息和/或字符识别信息);而且本申请实施例不限定该“参考图像的字符识别结果”,例如,其可以包括该参考图像中至少一个参考字符的字符位置信息、和/或该拼接图像中至少一个参考字符的字符识别信息。其中,“参考字符”用于表示在“参考图像”中出现的字符。
上述“待拼接图像与参考图像之间的字符匹配结果”用于表示该待拼接图像中至少一个待拼接字符与该参考图像中至少一个参考字符之间的匹配关系;而且本申请实施例不限定“待拼接图像与参考图像之间的字符匹配结果”的确定过程(也就是,S2的实施方式),可以采用现有的或者未来出现的任一种字符匹配方法进行实施。
另外,为了进一步提高字符匹配准确性,本申请实施例还提供了S2(也就是,“待拼接图像与参考图像之间的字符匹配结果”的确定过程)的一种可能的实施方式,其具体可以包括S21-S23:
S21:根据待拼接图像的字符识别结果,确定该待拼接图像中至少一个待拼接字符的字符特征。
其中,第n个待拼接字符的字符特征用于表示该第n个待拼接字符所携带的字符信息。其中,n为正整数,n≤N,N为正整数,且N表示待拼接字符的个数。
另外,本申请实施例不限定“第n个待拼接字符的字符特征”的确定过程,例如,若“待拼接图像的字符识别结果”包括该第n个待拼接字符的字符识别信息,则可以针对该第n个待拼接字符的字符识别信息进行文本特征提取,得到该第n个待拼接字符的字符特征。又如,若“待拼接图像的字符识别结果”包括该第n个待拼接字符的字符位置信息以及字符识别信息,则可以先对该第n个待拼接字符的字符位置信息进行位置特征提取,得到该第n个待拼接字符的位置特征,并对该第n个待拼接字符的字符识别信息进行文本特征提取,得到该第n个待拼接字符的文本特征;再将该第n个待拼接字符的位置特征以及该第n个待拼接字符的文本特征进行整合处理(例如,拼接处理、集合处理以及融合处理),得到该第n个待拼接字符的字符特征。其中,“文本特征提取”用于针对一个文本数据进行特征提取处理;而且本申请实施例不限定“文本特征提取”的实施方式。“位置特征提取”用于针对一个位置数据进行特征提取处理;而且本申请实施例不限定“位置特征提取”的实施方式。
此外,为了进一步提高字符特征准确性,本申请实施例还提供了“第n个待拼接字符的字符特征”的确定过程的另一种可能的实施方式,在该实施方式中,若“待拼接图像的字符识别结果”包括该第n个待拼接字符的字符位置信息,则该“第n个待拼接字符的字符特征”的确定过程,可以包括步骤11-步骤14:
步骤11:根据第n个待拼接字符的字符位置信息,确定第n个待拼接字符的图像区域。
其中,“第n个待拼接字符的图像区域”是指该第n个待拼接字符在待拼接图像中所处区域;而且本申请实施例不限定“第n个待拼接字符的图像区域”的获取方式。为了便于理解,下面结合示例进行说明。
作为示例,当以待拼接图像的左上角作为坐标原点建立坐标系,且第n个待拼接字符的字符位置信息利用该第n个待拼接字符的外接四边形的四个顶点坐标 以及进行表示时,则“第n个待拼接字符的图像区域”可以由该“第n个待拼接字符的图像区域”的左上角顶点坐标 以及右下角顶点坐标进行表示;其中,
步骤12:按照第n个待拼接字符的图像区域,从待拼接图像中提取该第n个待拼接字符的字符图像。
其中,“第n个待拼接字符的字符图像”是指从待拼接图像中截取的占有“第n个待拼接字符的图像区域”的部分图像,以使该“第n个待拼接字符的字符图像”只包括该第n个待拼接字符。
步骤13:对第n个待拼接字符的字符图像进行特征提取处理,得到第n个待拼接字符的图像特征。
其中,“特征提取处理”用于从一个图像数据中提取该图像数据所呈现的特征信息;而且本申请实施例不限定“特征提取处理”的实施方式,可以采用现有的或者未来出现的任一种图像特征提取方法进行实施。
“第n个待拼接字符的图像特征”用于表示该第n个待拼接字符的字符图像所具有的特征信息。
另外,为了进一步提高图像特征准确性,本申请实施例还提供了步骤13的一种可能的实施方式,在该实施方式中,若“第n个待拼接字符的字符图像”的数据维度为J(例如,2或者3等),则步骤13具体可以包括步骤131-步骤132:
步骤131:将第n个待拼接字符的字符图像按照第j个方向进行像素特征分析,得到该第n个待拼接字符的第j个像素分布特征。其中,j为正整数,j≤J,J为正整数。
其中,第1个方向至第J个方向可以预先设定,尤其可以根据该待拼接图像对应的坐标系进行设定。例如,当“第n个待拼接字符的字符图像”为二维图像,且以待拼接图像的左上角作为坐标原点建立二维坐标系时,则第1个方向可以是指x轴方向,以及第2个方向可以是指y轴方向。又如,当“第n个待拼接字符的字符图像”为三维图像,且以待拼接图像的左上角作为坐标原点建立三维坐标系时,则第1个方向可以是指x轴方向、第2个方向可以是指y轴方向、以及第3个方向可以是指z轴方向。
上述“像素特征分析”用于针对一个图像数据进行像素分析;而且本申请实施例不限定“像素特征分析”的实施方式,例如,可以采用像素平均值的方式进行实施。
上述“第n个待拼接字符的第j个像素分布特征”用于表示该第n个待拼接字符的字符图像在第j个方向上所呈现的像素特征;而且本申请实施例不限定“第n个待拼接字符的第j个像素分布特征”的确定过程。为了便于理解,下面结合示例进行说明。
作为示例,当“第n个待拼接字符的字符图像”为二维图像(也就是,公式(1)所示的Fn),第1个方向为x轴方向,且第2个方向为y轴方向时,可以采用公式(2)-(3)分别计算该第n个待拼接字符的第1个像素分布特征和该第n个待拼接字符的第2个像素分布特征。
式中,Fn表示第n个待拼接字符的字符图像;表示第n个待拼接字符的字符图像中第b行第d列的像素值,b为正整数,b≤B,B为正整数,d为正整数,d≤D,D为正整数;表示该第n个待拼接字符的第1个像素分布特征(也就是,该第n个待拼接字符在x轴方向的像素分布特征);表示该第n个待拼接字符的第2个像素分布特征(也就是,该第n个待拼接字符在y轴方向的像素分布特征);Dx(·)表示按照x轴方向进行像素特征分析;Dy(·)表示按照y轴方向进行像素特征分析。需要说明的是,本申请实施例不限定,B与D之间的大小关系。
步骤132:根据第n个待拼接字符的第1个像素分布特征至该第n个待拼接字符的第J个像素分布特征,确定该第n个待拼接字符的图像特征。
本申请实施例中,在获取到第n个待拼接字符的第1个像素分布特征至该第n个待拼接字符的第J个像素分布特征之后,可以将J个像素分布特征进行聚合处理(例如,拼接处理、集合处理或者融合处理等),得到该第n个待拼接字符的图像特征,以使该“第n个待拼接字符的图像特征”能够准确地表示出该第n个待拼接字符的字符图像中所有像素值的分布特点(尤其是,在各个方向上的分布特点)。
基于上述步骤131至步骤132的相关内容可知,在获取到第n个待拼接字符的字符图像之后,可以先针对该“第n个待拼接字符的字符图像”进行各个方向上的像素特征分析;再基于所有上的像素特征分析结果,确定该第n个待拼接字符的图像特征,以使该第n个待拼接字符的图像特征”能够准确地表示出该“第n个待拼接字符的字符图像”所呈现的图像特点。
另外,为了进一步提高字符特征的提取效果,本申请实施例还提供了步骤13的另一种可能的实施方式,其具体可以包括步骤21-步骤22:
步骤21:对第n个待拼接字符的字符图像进行预处理,得到该第n个待拼接字符的预处理图像。
其中,“预处理”可以预先设定,例如,其可以包括图像采样处理和/或图像增强处理。
“第n个待拼接字符的预处理图像”是指针对该第n个待拼接字符的字符图像进行预处理后得到的结果;而且本申请实施例不限定“第n个待拼接字符的预处理图像”的确定方式,例如,其具体可以包括步骤211-步骤212:
步骤211:将第n个待拼接字符的字符图像按照预设采样参数进行图像采样处理,得到该第n个待拼接字符的采样图像。
其中,“预设采样参数”可以预先设定,例如,其可以包括图像数据中各个数据维度下的采样点个数(如,若“第n个待拼接字符的字符图像”为二维图像,则该“预设采样参数”可以为32×32,也就是,在x轴方向上的采样点个数为32,且在y轴方向上的采样点个数也为32)。
另外,“图像采样处理”用于针对一个图像数据进行采样处理;而且本申请实施例不限定“图像采样处理”,可以采用现有的或者未来出现的任一种能够针对图像数据进行采样处理的方法进行实施。需要说明的是,“图像采样处理”的第一个目的是为了降低一个图像数据所携带的信息量,如此有利于提高字符特征提取效率;而且第二个目的是保证所有待拼接字符的图像特征的数据维度与所有参考字符的图像特征的数据维度保持一直。
“第n个待拼接字符的采样图像”是指针对该第n个待拼接字符的字符图像进行图像采样处理之后得到的图像。
步骤212:将第n个待拼接字符的采样图像进行图像增强处理,得到该第n个待拼接字符的预处理图像。
其中,“图像增强处理”用于针对一个图像数据进行增强处理(也就是,降低图像背景对图像信息(例如,第n个待拼接字符)所造成的影响);而且本申请实施例不限定“图像增强处理”的实施方式,可以采用现有的或者未来出现的任一种用于针对图像数据进行增强处理的方法(例如,二值化处理方法)进行实施。需要说明的是,“图像增强处理”的目的是为了增大一个字符图像中字符信息与图像背景之间的差距,如此有利于提高字符特征提取准确性。
“第n个待拼接字符的预处理图像”是指针对该第n个待拼接字符的采样图像进行图像增强处理之后得到的图像;而且本申请实施例不限定“第n个待拼接字符的预处理图像”的获取方式,例如,可以将第n个待拼接字符的采样图像进行二值化处理,得到该第n个待拼接字符的二值化图像,并将该第n个待拼接字符的二值化图像,确定为该第n个待拼接字符的预处理图像。
基于上述步骤21的相关内容可知,在获取到第n个待拼接字符的字符图像之后,可以先针对该第n个待拼接字符的字符图像进行预处理,得到该第n个待拼接字符的预处理图像,以使该预处理图像能够更好地表示出该第n个待拼接字符所携带的信息。
步骤22:对第n个待拼接字符的预处理图像进行特征提取处理,得到该第n个待拼接字符的图像特征。
需要说明的是,本申请实施例不限定步骤22的实施方式,例如,可以采用上文步骤131-步骤132所示的特征提取过程进行实施,只需将上文步骤131-步骤132所示的特征提取过程“第n个待拼接字符的字符图像”替换为“第n个待拼接字符的预处理图像”即可。
基于上述步骤21至步骤22的相关内容可知,在获取到第n个待拼接字符的字符图像之后,可以先对该第n个待拼接字符的字符图像进行预处理,得到该第n个待拼接字符的预处理图像,以使该预处理图像能够更好地表示出该第n个待拼接字符所携带的信息;再对该第n个待拼接字符的预处理图像进行特征提取处理,得到该第n个待拼接字符的图像特征,以使该第n个待拼接字符的图像特征能够更准确地表示出该“第n个待拼接字符的字符图像”所呈现的图像特点(尤其是,字符信息特点)。
基于上述步骤13的相关内容可知,在获取到第n个待拼接字符的字符图像之后,可以从该第n个待拼接字符的字符图像中提取该第n个待拼接字符的图像特征(例如,像素值分布特征等),以使该“第n个待拼接字符的图像特征”能够准确地表示出该“第n个待拼接字符的字符图像”所呈现的图像特点(尤其是,字符信息特点)。
步骤14:根据第n个待拼接字符的图像特征,确定第n个待拼接字符的字符特征。
本申请实施例中,在获取到第n个待拼接字符的图像特征之后,可以参考该第n个待拼接字符的图像特征,确定该第n个待拼接字符的字符特征(例如,可以直接将该第n个待拼接字符的图像特征,确定为该第n个待拼接字符的字符特征),以使该第n个待拼接字符的字符特征能够准确地表示出该第n个待拼接字符所具有的字符特点。
另外,为了进一步提高字符特征的准确性,本申请实施例还提供了步骤14的另一种可能的实施方式,在该实施方式中,若上述“待拼接图像的字符识别结果”还包括第n个待拼接字符的的字符识别信息,则步骤14具体可以包括:根据第n个待拼接字符的字符识别信息和该第n个待拼接字符的图像特征,确定该第n个待拼接字符的字符特征。为了便于理解,下面结合示例进行说明。
作为示例,步骤14具体可以包括步骤141-步骤142:
步骤141:对第n个待拼接字符的字符识别信息进行字符特征提取处理,得到该第n个待拼接字符的字符识别特征。
其中,“字符特征提取处理”用于针对一个字符数据进行特征提取处理;而且本申请实施例不限定“字符特征提取处理”,例如,可以采用现有的或者未来出现的任一种能够针对字符数据进行特征提取处理的方法进行实施。
步骤142:将第n个待拼接字符的字符识别特征与该第n个待拼接字符的图像特征进行预设聚合处理,得到该第n个待拼接字符的字符特征。
本申请实施例中,在获取到第n个待拼接字符的字符识别特征与该第n个待拼接字符的图像特征之后,可以将这两个特征进行预设聚合处理(如,拼接处理、集合处理和融合处理等),得到该第n个待拼接字符的字符特征,以使该第n个待拼接字符的字符特征能够更准确地表示出该第n个待拼接字符所具有的字符特点。
基于上述步骤11至步骤14的相关内容可知,在获取到待拼接图像的字符识别结果之后,可以根据该“待拼接图像的字符识别结果”所记录的各个待拼接字符的字符识别结果(例如,字符位置信息和/或字符识别信息),确定各个待拼接字符的字符特征,以使各个待拼接字符的字符特征分别能够准确地表示出各个待拼接字符所具有的字符特点。
基于上述S21的相关内容可知,在获取到待拼接图像的字符识别结果之后,可以根据该“待拼接图像的字符识别结果”,确定该待拼接图像中至少一个待拼接字符的字符特征,以使这些待拼接字符的字符特征能够准确地表示出该待拼接图像所携带的字符信息,以便后续能够基于这些待拼接字符的字符特征来确定该待拼接图像与参考图像之间的字符匹配关系。
S22:根据参考图像的字符识别结果,确定该参考图像中至少一个参考字符的字符特征。
其中,第m个参考字符的字符特征用于表示该第m个参考字符所携带的字符信息。其中,m为正整数,m≤M,M为正整数,且M表示参考字符的个数。另外,本申请实施例不限定上述“N”与M之间的大小关系,例如,N可以等于M。
另外,本申请实施例不限定“第m个参考字符的字符特征”的确定过程,例如,其可以采用上述S21所示的“第n个待拼接字符的字符特征”的确定过程的任一实施方式进行实施,只需将上述S21所示的“第n个待拼接字符的字符特征”的确定过程的任一实施方式中“待拼接字符”替换为“参考字符”、“n”替换为“m”、“N”替换为“M”、以及“待拼接图像”替换为“参考图像”即可。
基于上述S22的相关内容可知,在获取到参考图像的字符识别结果之后,可以根据该“参考图像的字符识别结果”,确定该参考图像中至少一个参考字符的字符特征,以使这些参考字符的字符特征能够准确地表示出该参考图像所携带的字符信息,以便后续能够基于这些参考字符的字符特征来确定该参考图像与待拼接图像之间的字符匹配关系。
S23:根据至少一个待拼接字符的字符特征和至少一个参考字符的字符特征,确定待拼接图像与参考图像之间的字符匹配结果。
为了便于理解S23,下面结合S23的两种可能的实施方式进行说明。
在第一种可能的实施方式中,为了提高上述“字符匹配结果”的准确性,S23具体可以包括步骤31-步骤33:
步骤31:根据第n个待拼接字符的字符特征与第1个参考字符的字符特征之间的相似度至该第n个待拼接字符的字符特征与第M个参考字符的字符特征之间的相似度,确定该第n个待拼接字符对应的字符匹配结果。其中,n为正整数,n≤N,N为正整数。
其中,“第n个待拼接字符的字符特征与第m个参考字符的字符特征之间的相似度”用于表示该第n个待拼接字符与第m个参考字符之间的相似程度。
另外,本申请实施例不限定“第n个待拼接字符的字符特征与第m个参考字符的字符特征之间的相似度”的计算过程,可以采用现有的或者未来出现的任一种相似度计算方法进行实施。例如,若上述“字符特征”采用向量进行表示,则可以将“第n个待拼接字符的字符特征”与“第m个参考字符的字符特征”之间的向量乘积,确定为“第n个待拼接字符的字符特征与第m个参考字符的字符特征之间的相似度”。
上述“第n个待拼接字符对应的字符匹配结果”用于表示该第n个待拼接字符与“参考图像”中至少一个参考字符之间的匹配关系。
另外,本申请实施例不限定“第n个待拼接字符对应的字符匹配结果”的确定过程,例如,其具体可以包括:若确定“第n个待拼接字符的字符特征与第m个参考字符的字符特征之间的相似度”达到预设相似度阈值(例如,0.98),则建立该第n个待拼接字符与该第m个参考字符之间的匹配关系;若确定“第n个待拼接字符的字符特征与第m个参考字符的字符特征之间的相似度”未达到预设相似度阈值,则确定该第n个待拼接字符与该第m个参考字符之间不存在匹配关系。其中,m为正整数,m≤M,M为正整数。
基于上述步骤31的相关内容可知,在获取到第n个待拼接字符的字符特征、以及M个参考字符的字符特征之后,可以先计算第n个待拼接字符的字符特征与第1个参考字符的字符特征之间的相似度、第n个待拼接字符的字符特征与第2个参考字符的字符特征之间的相似度、……、以及该第n个待拼接字符的字符特征与第M个参考字符的字符特征之间的相似度;再参考该第n个待拼接字符的字符特征与各个参考字符的字符特征之间的相似度,确定出该第n个待拼接字符对应的字符匹配结果,以使该“第n个待拼接字符对应的字符匹配结果”能够准确地表示出该第n个待拼接字符与“参考图像”中至少一个参考字符之间的匹配关系。其中,n为正整数,n≤N,N为正整数。
步骤32:按照预设匹配对查找方法,从第1个待拼接字符对应的字符匹配结果至第N个待拼接字符对应的字符匹配结果中查找出至少一个字符匹配对。
其中,“预设匹配对查找方法”可以预先设定;而且该“预设匹配对查找方法”用于从上述“第1个待拼接字符对应的字符匹配结果至第N个待拼接字符对应的字符匹配结果”中查找出最相似的字符匹配对组合(例如,具有最大平均相似度的字符匹配对组合)。
另外,本申请实施例不限定“预设匹配对查找方法”,例如,可以采用现有的或者未来出现的任一种最优路径查询方法进行实施。
“字符匹配对”是由一个待拼接字符与一个参考字符构成,而且该待拼接字符与该参考字符之间的相似程度比较高。另外,本申请实施例不限定上述“至少一个字符匹配对”;例如,该“至少一个字符匹配对”可以包括图2中匹配对(待拼接图像中第1个字符,参考图像中第4个字符)(也就是,(个,个))、匹配对(待拼接图像中第2个字符,参考图像中第5个字符)(也就是,(文,文))、……、匹配对(待拼接图像中第7个字符,参考图像中第10个字符)(也就是,(段,段))。可见,对于上述“至少一个字符匹配对”来说,不同“字符匹配对”中所包括的待拼接字符不同,且不同“字符匹配对”中所包括的参考字符也不同。
基于上述步骤32的相关内容可知,在获取到第1个待拼接字符对应的字符匹配结果至第N个待拼接字符对应的字符匹配结果之后,可以利用预设匹配对查找方法(如,最优路径查询方法),从该N个待拼接字符对应的字符匹配结果中查找出至少一个字符匹配对,以使该“至少一个字符匹配对”能够比较准确地表示出待拼接图像与参考图像之间的字符匹配关系(也就是,字符共有关系)。
步骤33:根据至少一个字符匹配对,确定待拼接图像与参考图像之间的字符匹配结果。
本申请实施例中,在获取到至少一个字符匹配对之后,可以参考该至少一个字符匹配对,确定待拼接图像与参考图像之间的字符匹配结果(例如,可以直接将该至少一个字符匹配对进行集合,得到待拼接图像与参考图像之间的字符匹配结果),以使该“待拼接图像与参考图像之间的字符匹配结果”能够准确地表示出该待拼接图像与参考图像之间的字符匹配关系(也就是,字符共有关系)。
基于上述步骤31至步骤33(也就是,S23的第一种可能的实施方式)的相关内容可知,在获取到至少一个待拼接字符的字符特征和至少一个参考字符的字符特征之后,可以先基于各个待拼接字符的字符特征与各个参考字符的字符特征之间的相似度,确定各个待拼接字符对应的字符匹配结果;再从这些待拼接字符对应的字符匹配结果查找出最相似的字符匹配对组合;最后,参考该字符匹配对组合,确定待拼接图像与参考图像之间的字符匹配结果,以使该“待拼接图像与参考图像之间的字符匹配结果”能够准确地表示出该待拼接图像与参考图像之间的字符匹配关系(也就是,字符共有关系)。
在第二种可能的实施方式中,为了提高上述“字符匹配结果”的匹配效率,S23具体可以包括步骤41-步骤48:
步骤41:将上述“至少一个参考字符的字符特征”进行集合,得到字符特征集合。
其中,“字符特征集合”用于记录参考图像中所有参考字符的字符特征。例如,若参考图像包括M个参考字符,则该“字符特征集合”可以包括M个字符特征。
另外,为了进一步提高字符匹配效果(例如,提高字符匹配准确性、字符匹配效率以及字符匹配灵活性),本申请还提供了步骤41的一种可能的实施方式,其具体可以包括:在获取到字符匹配方向之后,将至少一个参考字符的字符特征按照该字符匹配方向进行集合,得到字符特征集合,以使该字符特征集合用于记录一组字符特征序列。
其中,“字符匹配方向”用于描述待拼接图像中至少一个待拼接字符与参考图像中至少一个参考字符之间的匹配方向。
另外,本申请实施例不限定“字符匹配方向”,例如,“字符匹配方向”可以是从左到右的方向(如图2所示);也就是,将待拼接图像中所有待拼接字符的字符特征按照从左到右的位置排列顺序依次与参考图像中按照从左到右的位置排列顺序出现的至少一个参考字符的字符特征进行匹配(例如,如图2所示,可以先将待拼接图像中“个”的字符特征分别与参考图像中“这”的字符特征、“是”的字符特征、“一”的字符特征、……、“段”的字符特征依次进行匹配;再将待拼接图像中“文”的字符特征分别与参考图像中“这”的字符特征、“是”的字符特征、“一”的字符特征、……、“段”的字符特征依次进行匹配;……(以此类推))。又如,“字符匹配方向”也可以是从右到左的方向(如图3所示);也就是,将待拼接图像中所有待拼接字符的字符特征按照从右到左的位置排列顺序依次与参考图像中按照从右到左的位置排列顺序出现的至少一个参考字符的字符特征进行匹配(例如,如图3所示,可以先将待拼接图像中“段”的字符特征分别与参考图像中“图”的字符特征、“意”的字符特征、“示”的字符特征、……、“个”的字符特征依次进行匹配;再将待拼接图像中“片”的字符特征分别与参考图像中“图”的字符特征、“意”的字符特征、“示”的字符特征、……、“个”的字符特征依次进行匹配;……(以此类推))。
此外,本申请实施例不限定“字符匹配方向”的确定方式,例如,若待拼接图像与参考图像是由同一个图像采集设备(如,文字扫描笔)进行采集的,则可以根据从参考图像到待拼接图像之间的采集方向进行确定;而且该确定过程具体可以包括:当上述“图像采集设备”是按照从左到右依次采集的参考图像和待拼接图像,则可以将“从左到右的方向”确定为字符匹配方向;当上述“图像采集设备”是按照从右到左依次采集的参考图像和待拼接图像,则可以将“从右到左的方向”确定为字符匹配方向。可见,上述“字符匹配方向”是根据从参考图像到待拼接图像之间的采集方向确定的。
为了便于理解上述“步骤41的一种可能的实施方式”,下面结合两个示例进行说明。
示例1,当参考图像为图2所示的“参考图像”,且“字符匹配方向”是从左到右的方向时,步骤41具体可以为:将参考图像中“这”的字符特征、“是”的字符特征、“一”的字符特征、……、“段”的字符特征按照从左到右的位置排列顺序进行集合,得到字符特征集合,以使该字符特征集合包括“这”的字符特征、“是”的字符特征、“一”的字符特征、……、“段”的字符特征的字符序列。
示例2,当参考图像为图3所示的“参考图像”,且“字符匹配方向”是从右到左的方向时,步骤41具体可以为:将参考图像中“个”的字符特征、“文”的字符特征、“字”的字符特征、……、“图”的字符特征按照从右到左的位置排列顺序进行集合,得到字符特征集合,以使该字符特征集合包括“图”的字符特征、“意”的字符特征、“示”的字符特征、……、“个”的字符特征的字符序列。
基于上述步骤41的相关内容可知,在获取到参考图像中至少一个参考字符的字符特征之后,可以将这些参考字符的字符特征进行集合(尤其,可以将这些参考字符的字符特征按照上述“从参考图像到待拼接图像之间的采集方向”进行集合),得到字符特征集合,以使该字符特征集合用于记录该参考图像中至少一个参考字符的字符特征,以便后续能够基于该字符特征集合进行字符匹配处理。
步骤42:将k初始化为预设初始值。
其中,“k”用于表示需要进行字符匹配处理的一个待拼接字符在待拼接图像中所具有的位置排列序号。
“预设初始值”用于表示待拼接图像中第一需要进行字符匹配处理的待拼接字符;而且“预设初始值”可以预先设定;而且本申请实施例不限定“预设初始值”,例如,其可以是1。
另外,为了进一步提高字符匹配效果(例如,提高字符匹配准确性、字符匹配效率以及字符匹配灵活性),本申请还提供了k初始化过程的一种可能的实施方式,其具体可以包括:在获取到字符匹配方向之后,按照字符匹配方向对应的初始化过程,对k进行初始化处理。
其中,“字符匹配方向对应的初始值选择方式”可以预先设定;而且本申请实施例不限定“字符匹配方向对应的初始值选择方式”,例如,其可以包括:若“字符匹配方向”为从左到右的方向,则将待拼接图像中最左边字符的位置排列序号(例如,“1”)确定为初始值,并将该初始值赋值给k(例如,k=1);若“字符匹配方向”为从右到左的方向,则将待拼接图像中最右边字符的位置排列序号(例如,“M”)确定为初始值,并将该初始值赋值给k(例如,k=M)。
基于上述步骤42的相关内容可知,在获取到待拼接图像中至少一个待拼接字符的字符特征之后,可以从该待拼接图像中至少一个待拼接字符的位置排列序号中选择一个位置排列序号作为k,以便后续能够通过针对k的多次更新过程,实现针对待拼接图像中所有待拼接字符的字符匹配处理过程。
步骤43:依据第k个待拼接字符的字符特征与字符特征集合中至少一个字符特征之间的相似度,从该字符特征集合中查找满足预设相似度条件的字符特征,得到该第k个待拼接字符对应的查找结果。
其中,“预设相似度条件”可以预先设定;而且本申请实施例不限定“预设相似度条件”,例如,可以为与第k个待拼接字符的字符特征之间的相似度达到预设相似度阈值(例如,0.98)。可见,对于字符特征集合中第q个字符特征来说,若该第q个字符特征与第k个待拼接字符的字符特征之间的相似度达到预设相似度阈值,则可以确定该第q个字符特征满足预设相似度条件,故可以建立该第k个待拼接字符与该第q个字符特征对应的参考字符;若该第q个字符特征与第k个待拼接字符的字符特征之间的相似度没有达到预设相似度阈值,则可以确定该第q个字符特征不满足预设相似度条件。q为正整数,q≤Q,Q为正整数,Q表示字符特征集合中字符特征的个数。其中,上述“第q个字符特征对应的参考字符”是指具有该第q个字符特征的参考字符。
上述“第k个待拼接字符对应的查找结果”用于表示第k个待拼接字符与字符特征集合中至少一个字符特征对应的参考字符之间的匹配关系;而且本申请实施例不限定“第k个待拼接字符对应的查找结果”,例如,该“第k个待拼接字符对应的查找结果”可以用于表示该字符特征集合中是否存在满足预设相似度条件的字符特征,可以还用于记录该字符特征集合中存在的满足预设相似度条件的各个字符特征(也就是,与第k个待拼接字符之间具有匹配关系的各个参考字符的字符特征)。
基于上述步骤43的相关内容可知,在获取到k之后(例如,对k进行初始化处理之后;或者,对k进更新之后),可以先计算第k个待拼接字符的字符特征与字符特征集合中各个字符特征之间的相似度;再依据字符特征集合中所有字符特征对应的相似度,从该字符特征集合中查找满足预设相似度条件的字符特征,得到该第k个待拼接字符对应的查找结果,以使该“第k个待拼接字符对应的查找结果”能够准确地表示出第k个待拼接字符与字符特征集合中至少一个字符特征对应的参考字符之间的匹配关系,以便后续能够参考该“第k个待拼接字符对应的查找结果”,来确定上述“待拼接图像与参考图像之间的字符匹配结果”。
步骤44:根据第k个待拼接字符对应的查找结果,判断字符特征集合中是否存在至少一个满足预设相似度条件的字符特征,若是,则执行步骤45-步骤47;若否,则执行步骤47。
本申请实施例中,在获取到第k个待拼接字符对应的查找结果之后,若该“第k个待拼接字符对应的查找结果”表示字符特征集合中存在至少一个满足预设相似度条件的字符特征,则可以确定基于该“第k个待拼接字符对应的查找结果”能够找到与该第k个待拼接字符匹配成功的参考字符,故可以采用下文步骤45-步骤47进行处理;若确定该“第k个待拼接字符对应的查找结果”表示字符特征集合中不存在满足预设相似度条件的字符特征,则可以确定基于该“第k个待拼接字符对应的查找结果”无法找到与该第k个待拼接字符匹配成功的参考字符,故可以直接执行步骤47即可。
步骤45:根据上述“至少一个满足预设相似度条件的字符特征”,确定第k个待拼接字符匹配的至少一个参考字符。
本申请实施例中,若上述“第k个待拼接字符对应的查找结果”表示字符特征集合中存在至少一个满足预设相似度条件的字符特征,则可以根据该“第k个待拼接字符对应的查找结果”所记录的至少一个满足预设相似度条件的字符特征,确定第k个待拼接字符匹配的至少一个参考字符;而且该确定过程具体可以包括:将该“第k个待拼接字符对应的查找结果”所记录的各个满足预设相似度条件的字符特征对应的参考字符进行集合,得到该第k个待拼接字符匹配的至少一个参考字符,以使该第k个待拼接字符匹配的各个参考字符的字符特征与该第k个待拼接字符的字符特征之间的相似度满足上述“预设相似度条件”,从而使得上述“第k个待拼接字符匹配的至少一个参考字符”能够更好地表示出参考图像中出现的与该十分相似(甚至相同)的各个参考字符。
需要说明的是,本申请实施例不限定上述“第k个待拼接字符匹配的至少一个参考字符”的表示方式,例如,其可以采用数组进行表示。其中,用于表示与该第k个待拼接字符最相似的第ek个参考字符,且的字符特征与第k个待拼接字符的字符特征之间的相似度在该第k个待拼接字符对应的相似度排序中位于第ek个排列位置。其中,“第k个待拼接字符对应的相似度排序”是指将第k个待拼接字符的字符特征与字符特征集合中所有字符特征之间的相似度按照从大到小的顺序进行排序得到的;ek为正整数,ek≤Ek,Ek为正整数,Ek表示第k个待拼接字符匹配的参考字符的个数。
步骤46:将上述“至少一个满足预设相似度条件的字符特征”从字符特征集合中进行删除。
本申请实施例中,在获取到第k个待拼接字符匹配的至少一个参考字符之后,可以确定上述“至少一个满足预设相似度条件的字符特征”对应的参考字符已经被用于建立字符匹配关系,故为了提供字符匹配效率,可以直接将上述“至少一个满足预设相似度条件的字符特征”从字符特征集合中进行删除,以使该字符特征集合能够用于记录那些仍未被建立字符匹配关系的参考字符的字符特征。
步骤47:判断N个待拼接字符是否均被遍历,若是,则执行步骤49;若否,则执行步骤48。
本申请实施例中,在完成一轮字符匹配过程之后(例如,针对字符特征集合进行字符特征删除处理之后;或者,确定无法找到与第k个待拼接字符匹配的参考字符之后),可以判断N个待拼接字符是否均被遍历;若是,则表示不存在还未经历字符匹配过程的待拼接字符,从而可以确定已经完成了针对所有待拼接字符的字符匹配过程,故可以直接执行步骤49即可;若否,则表示仍然存在还未经历字符匹配过程的待拼接字符,从而可以确定针对N个待拼接字符的字符匹配过程仍未完成,故可以先更新k再执行新一轮的字符匹配过程。
步骤48:更新k,并返回执行步骤43。
本申请实施例不限定k的更新过程,例如,可以采用预先设定的更新过程进行实施。
另外,为了进一步提高字符匹配效果(例如,提高字符匹配准确性、字符匹配效率以及字符匹配灵活性),本申请还提供了步骤48的一种可能的实施方式,其具体可以包括:在获取到字符匹配方向之后,按照该字符匹配方向对应的更新方式,对k进行更新。
其中,“字符匹配方向对应的更新方式”可以预先设定;而且本申请实施例不限定“字符匹配方向对应的更新方式”,例如,若字符匹配方向是从左到右的方向,则该字符匹配方向对应的更新方式可以采用公式(4)进行实施;若字符匹配方向是从右到左的方向,则该字符匹配方向对应的更新方式可以采用公式(5)进行实施。
k′=k+1 (4)
k′=k-1 (5)
式中,k′表示k更新后的数值;k表示k更新前的数值。
基于上述步骤48的相关内容可知,在确定待拼接图像所包括的N个待拼接字符中存在未被遍历的待拼接字符(也就是,存在未被进行字符匹配过程的待拼接字符)之后,可以从那些未被遍历的待拼接字符的位置排序序号中选择一个位置排序序号作为k,并返回继续执行步骤43及其后续步骤以进行新一轮的字符匹配过程。
步骤49:根据至少一个待拼接字符匹配的至少一个参考字符,确定待拼接图像与参考图像之间的字符匹配结果。
本申请实施例不限定步骤49的实施方式,例如,在一种可能的实施方式中,可以直接将至少一个待拼接字符匹配的至少一个参考字符进行集合,得到待拼接图像与参考图像之间的字符匹配结果,以使该“待拼接图像与参考图像之间的字符匹配结果”能够表示出该待拼接图像中至少一个待拼接字符匹配的参考字符。
可见,在利用上文步骤41-步骤49获取到V个待拼接字符匹配的至少一个参考字符之后,可以直接将该V个待拼接字符匹配的至少一个参考字符进行集合,得到待拼接图像与参考图像之间的字符匹配结果,以使该“待拼接图像与参考图像之间的字符匹配结果”能够表示出该V个待拼接字符匹配的参考字符。其中,V表示与参考字符匹配成功的待拼接字符的个数。
另外,为了进一步提高字符匹配结果的准确性,可以针对异常匹配关系进行删除操作。基于此,本申请实施例还提供了步骤49的一种可能的实施方式,若上述“至少一个待拼接字符匹配的至少一个参考字符”包括V个待拼接字符匹配的至少一个参考字符,则步骤49具体可以包括步骤491-步骤493:
步骤491:按照异常识别条件,对“V个待拼接字符”中第v个待拼接字符匹配的至少一个参考字符进行异常识别处理,得到第v个待拼接字符对应的异常识别结果。其中,v为正整数,v≤V,V为正整数。
其中,“异常识别条件”可以预先设定;而且本申请实施例不限定“异常识别条件”,例如,其可以包括位置关系异常条件和/或字符面积异常条件。也就是,若第v个待拼接字符匹配的参考字符满足“位置关系异常条件”,则可以确定该参考字符满足上述“异常识别条件”;而且若第v个待拼接字符匹配的参考字符满足“字符面积异常条件”,则可以确定该参考字符也满足上述“异常识别条件”。
“位置关系异常条件”用于表示具有异常匹配关系的待拼接字符与参考字符之间所满足的相对位置条件(也就是,具有正常匹配关系的待拼接字符与参考字符之间不可能达到的相对位置条件);而且本申请实施例不限定“位置关系异常条件”,例如,其具体可以包括达到字符匹配方向对应的异常相对位置关系。
需要说明的是,上述“位置关系异常条件”可以基于以下理论进行设定:对于图像采集设备按照预设方向采集的相邻两帧图像(如,参考图像和待拼接图像)来说,该两帧图像所共有的同一个字符应该满足该预设方向对应的正常相对位置关系。下面结合两个示例进行说明。
示例1,如图2所示,若上述“预设方向”为从左到右的方向,则该预设方向对应的正常相对位置关系应该是上述“同一个字符”(如,“个”)在上述“相邻两帧图像”中前一帧图像(如,参考图像)内所处位置比上述“同一个字符”(如,“个”)在上述“相邻两帧图像”中后一帧图像(如,待拼接图像)内所处位置靠后,如此使得该预设方向对应的异常相对位置关系(也就是,上文“字符匹配方向对应的异常相对位置关系”)应该是上述“同一个字符”在上述“相邻两帧图像”中前一帧图像(如,参考图像)内所处位置比上述“同一个字符”在上述“相邻两帧图像”中后一帧图像(如,待拼接图像)内所处位置不靠后。
示例2,如图3所示,若上述“预设方向”为从右到左的方向,则该预设方向对应的正常相对位置关系应该是上述“同一个字符”(如,”段”)在上述“相邻两帧图像”中前一帧图像(如,参考图像)内所处位置比上述“同一个字符”(如,”段”)在上述“相邻两帧图像”中前一帧图像(如,待拼接图像)内所处位置靠前,如此使得该预设方向对应的异常相对位置关系(也就是,上文“字符匹配方向对应的异常相对位置关系”)应该是上述“同一个字符”在上述“相邻两帧图像”中前一帧图像(如,参考图像)内所处位置比上述“同一个字符”在上述“相邻两帧图像”中前一帧图像(如,待拼接图像)内所处位置不靠前。
上述“字符面积异常条件”用于表示具有异常匹配关系的待拼接字符与参考字符之间所满足的相对区域面积条件(也就是,具有正常匹配关系的待拼接字符与参考字符之间不可能达到的相对区域面积条件);而且本申请实施例不限定“位置关系异常条件”,例如,其具体可以包括字符区域面积之间的差距(例如,字符区域面积之间的比值;或者,字符区域面积之间的差值)达到预设面积阈值。其中,预设面积阈值可以预先设定。
需要说明的是,上述“字符面积异常条件”可以基于以下理论进行设定:用户使用图像采集设备进行图像采集时短时间内图像采集设备的采集角度几乎不发生改变(例如,当用户使用文字扫描笔进行图像扫描时,因用户的握笔姿势在短时间内基本不会发生太大的变化,使得利用该文字扫描笔在短时间内的扫描角度几乎不发生改变)。基于此可知,对于图像采集设备按照预设方向采集的相邻两帧图像(如,参考图像和待拼接图像)来说,该两帧图像所共有的同一个字符的区域面积之间的差距比较小(甚至不存在差距)。
上述“异常识别处理”用于从一个待拼接字符匹配的至少一个参考字符中查找出满足上述“异常识别条件”的参考字符(例如,从一个待拼接字符匹配的至少一个参考字符中查找出满足上述“位置关系异常条件”的参考字符,和/或满足上述“字符面积异常条件”的参考字符)。
上述“第v个待拼接字符对应的异常识别结果”是指针对第v个待拼接字符匹配的至少一个参考字符进行异常识别处理得到的结果,以使该“第v个待拼接字符对应的异常识别结果”能够表示出该“第v个待拼接字符匹配的至少一个参考字符”中是否存在满足上述“异常识别条件”的参考字符,也能够表示该“第v个待拼接字符匹配的至少一个参考字符”中满足上述“异常识别条件”的各个参考字符。
基于上述步骤491的相关内容可知,在获取到V个待拼接字符匹配的至少一个参考字符之后,可以分别针对各个待拼接字符匹配的至少一个参考字符进行异常识别处理,得到各个待拼接字符对应的异常识别结果,以便后续能够基于各个待拼接字符对应的异常识别结果,对各个待拼接字符匹配的至少一个参考字符进行异常字符删除处理。
步骤492:根据“V个待拼接字符”中第v个待拼接字符对应的异常识别结果,对该第v个待拼接字符匹配的至少一个参考字符进行异常字符删除处理,得到该第v个待拼接字符对应的至少一个匹配字符。其中,v为正整数,v≤V,V为正整数。
其中,“异常字符删除处理”用于将一个待拼接字符匹配的至少一个参考字符中满足异常识别条件的参考字符进行删除处理。
“第v个待拼接字符对应的至少一个匹配字符”是指与该第v个待拼接字符匹配的且不满足上述“异常识别条件”的参考字符。
步骤493:根据V个待拼接字符对应的至少一个匹配字符,确定待拼接图像与参考图像之间的字符匹配结果。
本申请实施例中,在获取到V个待拼接字符对应的至少一个匹配字符之后,可以根据该V个待拼接字符对应的至少一个匹配字符,确定待拼接图像与参考图像之间的字符匹配结果(例如,直接将该V个待拼接字符对应的至少一个匹配字符进行集合,确定为待拼接图像与参考图像之间的字符匹配结果)。
基于上述步骤41至步骤49(也就是S23的第二种可能的实施方式)的相关内容可知,可以借助迭代的方式实现针对待拼接图像中各个待拼接字符的字符匹配过程,以便后续能够基于所有待拼接字符的字符匹配过程所得到的字符匹配结果,确定待拼接图像与参考图像之间的字符匹配结果,如此有利于提高字符匹配效果(例如,字符匹配效率以及字符匹配准确性)。
基于上述S21至S23的相关内容可知,在获取到待拼接图像的字符识别结果和参考图像的字符识别结果之后,可以先根据待拼接图像的字符识别结果,确定待拼接图像中至少一个待拼接字符的字符特征,并根据参考图像的字符识别结果,确定参考图像中至少一个参考字符的字符特征;再根据至少一个待拼接字符的字符特征和至少一个参考字符的字符特征,确定待拼接图像与参考图像之间的字符匹配结果,以使该“待拼接图像与参考图像之间的字符匹配结果”能够准确地表示出待拼接图像与参考图像之间的字符匹配关系,以便后续能够基于该字符匹配关系,确定出该待拼接图像与参考图像之间的重叠区域(如图2所示的“个文字扫描片段”区域),从而确定出该待拼接图像中非重叠区域位置信息。
S3:依据待拼接图像与参考图像之间的字符匹配结果,确定待拼接图像的非重叠区域位置信息。
其中,“待拼接图像的非重叠区域位置信息”用于描述该待拼接图像中除了重叠区域以外的其他区域在该待拼接图像中所处位置;而且上述“重叠区域”是指在待拼接图像中存在且在参考图像中也存在的区域(例如,图2所示的“个文字扫描片段”区域)。
另外,本申请实施例不限定S3的实施方式,例如,在一种可能的实施方式中,S3具体可以包括S31-S32:
S31:依据待拼接图像与参考图像之间的字符匹配结果、待拼接图像中至少一个待拼接字符的字符位置信息、和参考图像中至少一个参考字符的字符位置信息,确定待拼接图像中重叠区域的位置偏移量。
其中,“待拼接图像中重叠区域的位置偏移量”用于表示上述“重叠区域”在待拼接图像中所处位置相对于上述“重叠区域”在参考图像中所处位置发生的位置偏移距离(例如,图2所示的“个文字扫描片段”区域在待拼接图像中所处位置相对于其在参考图像中所处位置发生了向左3个字符的移动距离);而且本申请实施例不限定“待拼接图像中重叠区域的位置偏移量”,例如,若待拼接图像的数据维度为J,则该“待拼接图像中重叠区域的位置偏移量”可以包括该待拼接图像中重叠区域在第1个方向上的位置偏移量至该待拼接图像中重叠区域在第J个方向上的位置偏移量。
另外,本申请实施例不限定S31的实施方式,为了便于理解,下面结合两种可能的实施方式进行说明。
第一种可能的实施方式,若上述“待拼接图像与参考图像之间的字符匹配结果”包括至少一个字符匹配对(也就是,上述“待拼接图像与参考图像之间的字符匹配结果”是通过执行步骤31-步骤33进行确定的),则S31具体可以包括步骤51-步骤52:
步骤51:根据待拼接图像中至少一个待拼接字符的字符位置信息和参考图像中至少一个参考字符的字符位置信息,确定至少一个字符匹配对的位置偏移量。
其中,第u个字符匹配对的位置偏移量是指该第u个字符匹配对中待拼接字符相对于该第u个字符匹配对中参考字符发生的位置偏移距离(例如,向左偏移3个字符)。u为正整数,u≤U,U为正整数,U表示字符匹配对的个数。
另外,本申请实施例不限定“第u个字符匹配对的位置偏移量”的确定过程,例如,其可以根据该第u个字符匹配对中待拼接字符的字符位置信息与该第u个字符匹配对中参考字符的字符位置信息之间的差值信息进行确定。其中,“差值信息”用于描述两个字符位置信息之间的位置距离;而且本申请实施例不限定“差值信息”,例如,若上述“字符位置信息”利用字符最小邻接矩阵的四个顶点坐标进行表示,则该“差值信息”也可以利用四个顶点坐标进行表示,也可以利用距离信息进行表示。
步骤52:对至少一个字符匹配对的位置偏移量进行第一统计分析,得到待拼接图像中重叠区域的位置偏移量。
其中,“第一统计分析”可以预先设定;而且本申请实施例不限定“第一统计分析”,例如,其可以为取平均值处理。
基于上述步骤51至步骤52(也就是,S31的第一种可能的实施方式中)的相关内容可知,在获取到至少一个字符匹配对之后,可以基于这些字符匹配对的位置偏移量来确定待拼接图像中重叠区域的位置偏移量,以使该“待拼接图像中重叠区域的位置偏移量”能够准确地表示出上述“重叠区域”在待拼接图像中所处位置相对于上述“重叠区域”在参考图像中所处位置发生的位置偏移距离。
第二种可能的实施方式,若上述“待拼接图像与参考图像之间的字符匹配结果”包括待拼接图像中H个待处理字符对应的至少一个匹配字符(也就是,上述“待拼接图像与参考图像之间的字符匹配结果”是通过执行步骤41-步骤49进行确定的),则S31具体可以包括步骤61-步骤63:
步骤61:从第h个待处理字符对应的至少一个匹配字符中筛选出满足预设使用条件的匹配字符,确定为该第h个待处理字符匹配的待使用字符;其中,h为正整数,h≤H,H为正整数。
其中,“待处理字符”用于表示待拼接图像中与参考字符存在对应关系的待拼接字符;而且“待处理字符对应的至少一个匹配字符”用于表示上述“待拼接图像中与参考字符存在对应关系的待拼接字符”匹配的至少一个参考字符,或者用于表示上述“待拼接图像中与参考字符存在对应关系的待拼接字符”对应的至少一个匹配字符。
需要说明的是,因上述“H个待处理字符”与上述“V个待拼接字符”均用于表示与参考字符具有匹配关系的至少一个待拼接字符,使得上述“H”可以等于“V”。
“预设使用条件”可以预先设定;而且本申请实施例不限定“预设使用条件”,例如,其具体可以为达到相似度最大。可见,对于第h个待处理字符对应的一个匹配字符来说,若该匹配字符的字符特征与该第h个待处理字符的字符特征之间的相似度大于上述“第h个待处理字符对应的至少一个匹配字符”中除了该匹配字符以外其他任一匹配字符的字符特征与该第h个待处理字符的字符特征,则可以确定该匹配字符的字符特征与该第h个待处理字符的字符特征之间的相似度最大,从而可以确定该匹配字符与该第h个待处理字符最相似,故可以确定该匹配字符满足预设使用条件,从而可以将该匹配字符确定为该第h个待处理字符匹配的待使用字符。
步骤62:根据第h个待处理字符的字符位置信息和该第h个待处理字符匹配的待使用字符的字符位置信息,确定该第h个待处理字符的位置偏移量;其中,h为正整数,h≤H,H为正整数。
其中,“第h个待处理字符的位置偏移量”用于表示该第h个待处理字符在待拼接图像中所处位置相对于该“第h个待处理字符匹配的待使用字符”在参考图像中所处位置发生的位置偏移距离。
另外,本申请实施例不限定“第h个待处理字符的位置偏移量”的确定过程,例如,其可以采用上文步骤51所示的“第u个字符匹配对的位置偏移量”的确定过程的任一实施方式进行实施,只需将上文步骤51所示的“第u个字符匹配对的位置偏移量”的确定过程的任一实施方式中“第u个字符匹配对中待拼接字符”替换为“第h个待处理字符”、“第u个字符匹配对中参考字符”替换为“第h个待处理字符匹配的待使用字符”、以及“第u个字符匹配对的位置偏移量”替换为“第h个待处理字符的位置偏移量”即可。
步骤63:对第1个待处理字符的位置偏移量至第H个待处理字符的位置偏移量进行第二统计分析,得到待拼接图像中重叠区域的位置偏移量。
其中,“第二统计分析”可以预先设定;而且本申请实施例不限定“第二统计分析”,例如,其可以为取平均值处理。
另外,为了进一步提高位置偏移量的准确性,本申请实施例还提供了步骤63的另一种可能的实施方式,在该实施方式中,当待拼接图像的数据维度为J,且上述“第h个待处理字符的位置偏移量”包括该第h个待处理字符在第1方向上的位置偏移量至该第h个待处理字符在第J方向上的位置偏移量时,步骤63具体可以包括步骤631-步骤634:
步骤631:对第1个待处理字符在第j个方向上的位置偏移量至第H个待处理字符在第j个方向上的位置偏移量进行方差统计分析,得到第j个方向的位置偏移量方差。其中,j为正整数,j≤J。
其中,“方差统计分析”用于针对一些数据进行方差计算处理。
“第j个方向的位置偏移量方差”用于表示第1个待处理字符在第j个方向上的位置偏移量至第H个待处理字符在第j个方向上的位置偏移量之间的方差值。
步骤632:根据第j个方向的位置偏移量方差,生成该第j个方向的位置偏移量筛选条件。其中,j为正整数,j≤J。
其中,“第j个方向的位置偏移量筛选条件”用于从上述“H个待处理字符的位置偏移量”中筛选出在该第j个方向上低于该第j个方向的位置偏移量方差的位置偏移量。
步骤633:按照第j个方向的位置偏移量筛选条件,对第1个待处理字符的位置偏移量至第H个待处理字符的位置偏移量进行筛选处理,得到第j个方向对应的至少一个待使用偏移量;其中,j为正整数,j≤J。
其中,“第j个方向对应的至少一个待使用偏移量”用于表示在该第j个方向上低于该第j个方向的位置偏移量方差的各个待处理字符的位置偏移量。也就是,第j个方向对应的各个待使用偏移量在该第j个方向上均低于该第j个方向的位置偏移量方差。
步骤634:对J个方向对应的至少一个待使用偏移量进行第三统计分析,得到待拼接图像中重叠区域的位置偏移量。
其中,“第三统计分析”可以预先设定;而且本申请实施例不限定“第三统计分析”,例如,其可以为取平均值处理。
基于上述步骤61至步骤63(也就是,S31的第二种可能的实施方式中)的相关内容可知,在获取到待拼接图像中H个待处理字符对应的至少一个匹配字符之后,可以先基于该各个待处理字符及其对应的至少一个匹配字符,确定各个待处理字符的位置偏移量;再基于这些待处理字符的位置偏移量,确定待拼接图像中重叠区域的位置偏移量,以使该“待拼接图像中重叠区域的位置偏移量”能够准确地表示出上述“重叠区域”在待拼接图像中所处位置相对于上述“重叠区域”在参考图像中所处位置发生的位置偏移距离。
基于上述S31的相关内容可知,在获取到待拼接图像与参考图像之间的字符匹配结果之后,可以先参考该“待拼接图像与所述参考图像之间的字符匹配结果”,确定待拼接图像中重叠区域的位置偏移量,以使该“待拼接图像中重叠区域的位置偏移量”能够准确地表示出上述“重叠区域”在待拼接图像中所处位置相对于上述“重叠区域”在参考图像中所处位置发生的位置偏移距离,以便后续能够基于该“待拼接图像中重叠区域的位置偏移量”,确定出待拼接图像中非重叠区域位置信息。
S32:根据待拼接图像中重叠区域的位置偏移量,确定待拼接图像的非重叠区域位置信息。
本申请实施例中,在获取到待拼接图像中重叠区域的位置偏移量之后,可以根据该“待拼接图像中重叠区域的位置偏移量”,确定待拼接图像的非重叠区域位置信息(例如,为了提高灵活性,可以根据该“待拼接图像中重叠区域的位置偏移量”和字符匹配方向对应的非重叠区域边界计算方法,确定待拼接图像的非重叠区域位置信息)。
其中,“字符匹配方向对应的非重叠区域边界计算方法”可以预先设定;而且本申请实施例不限定“字符匹配方向对应的非重叠区域边界计算方法”,例如,如图2所示,若“字符匹配方向”为从左到右的方向,则该“字符匹配方向对应的非重叠区域边界计算方法”具体可以包括:先将待拼接图像的右边界所处位置,确定为非重叠区域的右边界位置,并将待拼接图像的右边界所处位置按照上述“待拼接图像中重叠区域的位置偏移量”进行移动,确定该非重叠区域的左边界位置;再根据非重叠区域的右边界位置和该非重叠区域的左边界位置,生成待拼接图像的非重叠区域位置信息。又如,如图3所示,若“字符匹配方向”为从右到左的方向,则该“字符匹配方向对应的非重叠区域边界计算方法”具体可以包括:先将待拼接图像的左边界所处位置,确定为非重叠区域的左边界位置,并将待拼接图像的左边界所处位置按照上述“待拼接图像中重叠区域的位置偏移量”进行移动,确定该非重叠区域的右边界位置;再根据非重叠区域的左边界位置和该非重叠区域的右边界位置,生成待拼接图像的非重叠区域位置信息。
基于上述S3的相关内容可知,在获取到待拼接图像与参考图像之间的字符匹配结果之后,可以参考该“待拼接图像与参考图像之间的字符匹配结果”,确定该待拼接图像的非重叠区域位置信息,以使该“待拼接图像的非重叠区域位置信息”能够准确地表示出该待拼接图像中除了重叠区域以外的其他区域在该待拼接图像中所处位置。
S4:根据待拼接图像的非重叠区域位置信息,对目标图像进行图像信息更新;其中,目标图像包括参考图像。
其中,“目标图像”是指在针对该待拼接图像进行图像拼接处理时需要将该待拼接图像拼接到目标;而且本申请实施例不限定“目标图像”,例如,若利用上述S1-S4实现针对两个图像的拼接过程,则该目标图像是指上述“参考图像”。又如,若利用上述S1-S4实现针对一个图像序列(如,由扫描设备扫描得到的扫描图像序列等)进行拼接时,则该目标图像由该图像序列中排列位置比该待拼接图像的排列位置靠前的至少一帧图像进行拼接得到的,而且上述“图像序列中排列位置比该待拼接图像的排列位置靠前的至少一帧图像”包括上述“参考图像”。
“图像信息更新”用于向目标图像中添加新的图像信息;而且本申请实施例不限定“图像信息更新”的实施方式,为了便于理解,下面结合S4的两种可能的实施方式进行说明。
第一种可能的实施方式中,S4具体可以包括步骤71-步骤72:
步骤71:按照待拼接图像的非重叠区域位置信息,从该待拼接图像中提取非重叠区域图像。
其中,“非重叠区域图像”是指从该待拼接图像中截取的只包括非重叠区域的图像。
步骤72:将非重叠区域图像与目标图像进行拼接处理,得到更新后的目标图像。
本申请实施例中,在获取到非重叠区域图像之后,可以将该非重叠区域图像与目标图像进行拼接处理,得到更新后的目标图像,以使该“更新后的目标图像”能够进一步包括该待拼接图像中非重叠区域所携带的图像信息。
另外,为了进一步提高灵活性,步骤72具体可以包括:按照字符匹配方向对应的图像拼接位置,将非重叠区域图像与目标图像进行拼接处理,得到更新后的目标图像。
其中,“字符匹配方向对应的图像拼接位置”可以预先设定;例如,如图2所示,若“字符匹配方向”为从左到右的方向,则该“字符匹配方向对应的图像拼接边界”可以是指目标图像的右边界所处位置。又如,如图3所示,若“字符匹配方向”为从右到左的方向,则该“字符匹配方向对应的图像拼接边界”可以是指目标图像的左边界所处位置。
基于上述步骤71至步骤72(也就是,S4的第一种可能的实施方式)的相关内容可知,在获取到待拼接图像的非重叠区域位置信息之后,可以先参考该非重叠区域位置信息,从从待拼接图像中截取非重叠区域图像;再将该非重叠区域图像与目标图像进行拼接处理,得到更新后的目标图像,以使该“更新后的目标图像”不仅能够包括参考图像所携带的图像信息,还能够包括该待拼接图像中非重叠区域所携带的图像信息。
在第二种可能的实施方式中,S4具体可以包括步骤81-步骤82:
步骤81:按照待拼接图像的非重叠区域位置信息,对目标图像进行区域扩充处理,得到待贴合图像和待贴合图像对应的贴合标记位置。
其中,“待贴合图像”是指进行区域扩充处理后的目标图像;而且“待贴合图像对应的贴合标记位置”是指将待拼接图像贴合至该待贴合图像所需依据的边界位置。
为了便于理解步骤81,下面结合两个示例进行说明。
示例1,若上述“待拼接图像的非重叠区域位置信息”为[非重叠区域右边界-待使用位置偏移量,非重叠区域的右边界],则可以将目标图像向右扩充上述“待使用位置偏移量”,得到待贴合图像以及该待贴合图像对应的贴合标记位置(也就是,该待贴合图像的右边界),以便后续能够按照该待贴合图像对应的贴合标记位置,将该待拼接图像贴合至该待贴合图像中。
示例2,若上述“待拼接图像的非重叠区域位置信息”包括[第1个方向上右边界-第1个方向上位置偏移量,第1个方向上右边界]、[第2个方向上右边界-第2个方向上位置偏移量,第2个方向上右边界]、……、[第J个方向上右边界-第J个方向上位置偏移量,第J个方向上右边界],则可以按照第1个方向上位置偏移量以及该第1个方向上的扩充方向对该目标图像进行第1个方向上的区域扩充处理,按照第2个方向上位置偏移量以及该第2个方向上的扩充方向对该目标图像进行第2个方向上的区域扩充处理,……,并按照第J个方向上位置偏移量以及该第J个方向上的扩充方向对该目标图像进行第J个方向上的区域扩充处理,得到待贴合图像以及该待贴合图像对应的贴合标记位置,以便后续能够按照该待贴合图像对应的贴合标记位置,将该待拼接图像贴合至该待贴合图像中。其中,“第1个方向上的扩充方向”至“第J个方向上的扩充方向”均可以预先设定,也可以根据上述“待拼接图像中重叠区域的位置偏移量”进行确定。
步骤82:将待拼接图像按照待贴合图像对应的贴合标记位置贴合至该待贴合图像,得到更新后的目标图像。
本申请实施例中,因待拼接图像与参考图像之间存在重叠区域,使得该待拼接图像与包括该参考图像的目标图像之间也存在重叠区域,从而使得该待拼接图像与针对目标图像进行区域扩充处理得到的待贴合图像之间也存在重叠区域,故为了提高拼接效率,可以直接将该待拼接图像按照待贴合图像对应的贴合标记位置贴合至该待贴合图像即可,以使该待拼接图像中重叠区域所携带的图像信息能够被用于覆盖该待贴合图像中重叠区域所携带的图像信息,并使得该待拼接图像中非重叠区域所携带的图像信息能够被用于填充该待贴合图像的扩充区域。
基于上述步骤81至步骤82(也就是,S4的第二种可能的实施方式)的相关内容可知,在获取到待拼接图像的非重叠区域位置信息之后,可以先参考该非重叠区域位置信息,对目标图像进行区域扩充处理;再将该待拼接图像直接贴合至区域扩充后的目标图像中,得到更新后的目标图像,以使该“更新后的目标图像”不仅能够包括参考图像所携带的图像信息,还能够包括该待拼接图像中非重叠区域所携带的图像信息。
基于上述S4的相关内容可知,在获取到待拼接图像的非重叠区域位置信息之后,可以参考该非重叠区域位置信息,对目标图像进行图像信息更新,以使更新后的目标图像不仅能够包括参考图像所携带的图像信息,还能够包括该待拼接图像中非重叠区域所携带的图像信息,如此实现了无重叠区域的图像拼接过程。
需要说明的是,当上述S1-S4用于针对一个图像序列(例如,由扫描设备通过针对待扫描对象进行扫描得到的扫描图像序列等)进行拼接处理,且待拼接图像是指扫描设备采集的当前帧图像时,可以在获取到待拼接图像(也就是,上述“当前帧图像”)的非重叠区域位置信息之后,利用该待拼接图像,更新参考图像,以使更新后的参考图像能够参与针对由该扫描设备采集的下一帧图像的图像拼接过程。
还需要说明的是,本申请实施例不限定上述“待拼接图像”、“参考图像”以及“目标图像”中出现的文本行个数。也就是,上述“待拼接图像”、“参考图像”以及“目标图像”中均可以包括一个或者多个文本行。
基于上述S1至S4的相关内容可知,对于本申请实施例提供的图像拼接方法来说,在获取到待拼接图像之后,先对该待拼接图像进行字符检测处理,得到该待拼接图像的字符识别结果;再根据该待拼接图像的字符识别结果和参考图像的字符识别结果,确定该待拼接图像与该参考图像之间的字符匹配结果;其中,该参考图像与该待拼接图像之间存在重叠区域;然后,依据该待拼接图像与该参考图像之间的字符匹配结果,确定该待拼接图像的非重叠区域位置信息;最后,根据该待拼接图像的非重叠区域位置信息,对包括该参考图像的目标图像进行图像信息更新,以使更新后的目标图像不仅能够包括该参考图像所携带的图像信息,也包括该待拼接图像携带的图像信息,如此能够实现针对存在重叠区域的至少两个图像(例如,一个图像序列)进行拼接处理。
可见,因包括参考图像的目标图像是根据上述“待拼接图像的非重叠区域位置信息”进行更新的,使得在该目标图像的更新过程中着重参考该待拼接图像的非重叠区域,从而使得更新后的目标图像中只是新增了该待拼接图像的非重叠区域所携带的图像信息,如此能够有效地避免上述“参考图像与该待拼接图像之间存在重叠区域”对该目标图像的更新过程所造成的不良影响(如,导致拼接得到的图像中存在重复区域),从而能够提高图像拼接效果。
方法实施例二
另外,在一些情况下,上述“待拼接图像的非重叠区域位置信息”可能会发生异常,例如,因待拼接图像中重叠区域的位置偏移量发生异常(例如,基于图2所示的两个图像确定出的偏移量表示上述“重叠区域”在待拼接图像中所处位置相对于其在参考图像中所处位置发生了向右偏移预设距离,使得该偏移量所携带的偏移方向与上述“字符匹配方向”对应的偏移方向不一致,从而使得该偏移量发生异常)而导致基于上述“待拼接图像中重叠区域的位置偏移量”确定的“待拼接图像的非重叠区域位置信息”也发生异常。
基于此可知,为了进一步提高图像拼接准确性,本申请实施例还提供了图像拼接方法的另一种可能的实施方式,在该实施方式中,该图像拼接方法不仅包括上述S1-S3,可以还包括S4-S6:
S4:判断待拼接图像的非重叠区域位置信息是否满足预设更新条件。
其中,“预设更新条件”可以预先设定;而且本申请实施例不限定“预设更新条件”,例如,若上述“待拼接图像的非重叠区域位置信息”包括上述“待拼接图像中重叠区域的位置偏移量”,则该预设更新条件可以包括:上述“待拼接图像中重叠区域的位置偏移量”所表示的偏移方向与字符匹配方向对应的偏移方向一致。
“字符匹配方向对应的偏移方向”可以预先设定;例如,如图2所示,若字符匹配方向为从左到右的方向,则该“字符匹配方向对应的偏移方向”为向左偏移。又如,如图3所示,若字符匹配方向为从右到左的方向,则该“字符匹配方向对应的偏移方向”为向右偏移。
S5:若确定待拼接图像的非重叠区域位置信息不满足预设更新条件,则利用预设图像拼接过程,对待拼接图像与目标图像进行图像拼接处理。
其中,“预设图像拼接过程”是指预先设定的用于进行兜底处理的一种预设图像拼接过程;而且本申请实施例不限定该“预设图像拼接过程”,其可以采用现有的或者未来出现的任一种图像拼接方法进行实施。
S6:若确定待拼接图像的非重叠区域位置信息满足预设更新条件,则根据待拼接图像的非重叠区域位置信息,对目标图像进行图像信息更新。
需要说明的是,S6中“根据待拼接图像的非重叠区域位置信息,对目标图像进行图像信息更新”的相关内容请参见上文S4的相关内容。
基于上述S4至S6的相关内容可知,为了避免因待拼接图像的非重叠区域位置信息发生异常而导致无法进行图像拼接,可以将预设图像拼接过程作为兜底算法,以便在确定上述S1-S4无法准确地进行图像拼接时,借助该预设图像拼接过程进行图像拼接处理,如此能够有效地避免图像拼接发生中断,如此有利于提高图像拼接效果。
基于上述方法实施例提供的图像拼接方法,本申请实施例还提供了一种图像拼接装置,下面结合附图进行解释和说明。
装置实施例
装置实施例对图像拼接装置进行介绍,相关内容请参见上述方法实施例。
参见图4,该图为本申请实施例提供的一种图像拼接装置的结构示意图。
本申请实施例提供的图像拼接装置400,包括:
字符检测单元401,用于在获取到待拼接图像之后,对所述待拼接图像进行字符检测处理,得到所述待拼接图像的字符识别结果;
字符匹配单元402,用于根据所述待拼接图像的字符识别结果和参考图像的字符识别结果,确定所述待拼接图像与所述参考图像之间的字符匹配结果;其中,所述参考图像与所述待拼接图像之间存在重叠区域;
位置确定单元403,用于依据所述待拼接图像与所述参考图像之间的字符匹配结果,确定所述待拼接图像的非重叠区域位置信息;
图像拼接单元404,用于根据所述待拼接图像的非重叠区域位置信息,对目标图像进行图像信息更新;其中,所述目标图像包括所述参考图像。
在一种可能的实施方式中,所述字符匹配单元402,包括:
第一确定子单元,用于根据所述待拼接图像的字符识别结果,确定所述待拼接图像中至少一个待拼接字符的字符特征;
第二确定子单元,用于根据所述参考图像的字符识别结果,确定所述参考图像中至少一个参考字符的字符特征;
第三确定子单元,用于根据所述至少一个待拼接字符的字符特征和所述至少一个参考字符的字符特征,确定所述待拼接图像与所述参考图像之间的字符匹配结果。
在一种可能的实施方式中,所述至少一个待拼接字符包括目标字符,且所述目标字符对应的目标图像为所述待拼接图像;或者,所述至少一个参考字符包括目标字符,且所述目标字符对应的目标图像为所述参考图像;
若所述字符识别结果包括字符位置信息,则所述目标字符的字符特征的获取过程,包括:根据所述目标字符的字符位置信息,确定所述目标字符的图像区域;按照所述目标字符的图像区域,从所述目标字符对应的目标图像中提取所述目标字符的字符图像;对所述目标字符的字符图像进行特征提取处理,得到所述目标字符的图像特征;根据所述目标字符的图像特征,确定所述目标字符的字符特征。
在一种可能的实施方式中,若所述字符图像的数据维度为J,则所述目标字符的图像特征的确定过程,包括:将所述目标字符的字符图像按照第j个方向进行像素特征分析,得到所述目标字符的第j个像素分布特征;其中,j为正整数,j≤J,J为正整数;根据所述目标字符的第1个像素分布特征至所述目标字符的第J个像素分布特征,确定所述目标字符的图像特征。
在一种可能的实施方式中,所述目标字符的图像特征的确定过程,包括:对所述目标字符的字符图像进行预处理,得到所述目标字符的预处理图像;对所述目标字符的预处理图像进行特征提取处理,得到所述目标字符的图像特征。
在一种可能的实施方式中,所述目标字符的预处理图像的确定过程,包括:将所述目标字符的字符图像按照预设采样参数进行图像采样处理,得到所述目标字符的采样图像;将所述目标字符的采样图像进行图像增强处理,得到所述目标字符的预处理图像。
在一种可能的实施方式中,当所述字符识别结果还包括字符识别信息时,所述目标字符的字符特征的确定过程,包括:根据所述目标字符的字符识别信息和所述目标字符的图像特征,确定所述目标字符的字符特征。
在一种可能的实施方式中,所述待拼接字符的个数为N;且所述第三确定子单元,包括:
特征集合子单元,用于将所述至少一个参考字符的字符特征进行集合,得到字符特征集合;
参数初始化子单元,用于将k初始化为预设初始值;
第一查找子单元,用于依据所述第k个待拼接字符的字符特征与所述字符特征集合中至少一个字符特征之间的相似度,从所述字符特征集合中查找满足预设相似度条件的字符特征,得到所述第k个待拼接字符对应的查找结果;
第一处理子单元,用于若所述查找结果表示所述字符特征集合中存在至少一个满足预设相似度条件的字符特征,则根据所述至少一个满足预设相似度条件的字符特征,确定所述第k个待拼接字符匹配的至少一个参考字符;将所述至少一个满足预设相似度条件的字符特征从所述字符特征集合中进行删除;更新所述k,并返回所述第一查找子单元继续执行所述依据所述第k个待拼接字符的字符特征与所述字符特征集合中至少一个字符特征之间的相似度,从所述字符特征集合中查找满足预设相似度条件的字符特征;
第二处理子单元,用于若所述查找结果表示所述字符特征集合中不存在满足预设相似度条件的字符特征,则更新所述k,并返回所述第一查找子单元继续执行所述依据所述第k个待拼接字符的字符特征与所述字符特征集合中至少一个字符特征之间的相似度,从所述字符特征集合中查找满足预设相似度条件的字符特征的步骤;
第四确定子单元,用于在确定N个待拼接字符均被遍历之后,根据所述至少一个待拼接字符匹配的至少一个参考字符,确定所述待拼接图像与所述参考图像之间的字符匹配结果。
在一种可能的实施方式中,所述第四确定子单元,具体用于:若所述至少一个待拼接字符匹配的至少一个参考字符包括V个待拼接字符匹配的至少一个参考字符,则按照异常识别条件,对所述V个待拼接字符中第v个待拼接字符匹配的至少一个参考字符进行异常识别处理,得到所述第v个待拼接字符对应的异常识别结果;其中,v为正整数,v≤V,V为正整数;根据所述第v个待拼接字符对应的异常识别结果,对所述第v个待拼接字符匹配的至少一个参考字符进行异常字符删除处理,得到所述第v个待拼接字符对应的至少一个匹配字符;其中,v为正整数,v≤V,V为正整数;根据所述V个待拼接字符对应的至少一个匹配字符,确定所述待拼接图像与所述参考图像之间的字符匹配结果。
在一种可能的实施方式中,所述图像拼接装置400还包括:
匹配方向获取单元,用于获取字符匹配方向;
所述特征集合子单元,具体用于:将所述至少一个参考字符的字符特征按照所述字符匹配方向进行集合,得到字符特征集合;
所述参数初始化子单元,具体用于:按照所述字符匹配方向对应的初始化过程,对所述k进行初始化处理;
所述k的更新过程,包括:按照所述字符匹配方向对应的更新方式,对所述k进行更新。
在一种可能的实施方式中,所述第三确定子单元,具体用于:当所述待拼接字符的个数为N,且所述参考字符的个数为M时,根据所述第n个待拼接字符的字符特征与第1个参考字符的字符特征之间的相似度至所述第n个待拼接字符的字符特征与第M个参考字符的字符特征之间的相似度,确定所述第n个待拼接字符对应的字符匹配结果;其中,n为正整数,n≤N,N为正整数;按照预设匹配对查找方法,从所述第1个待拼接字符对应的字符匹配结果至第N个待拼接字符对应的字符匹配结果中查找出至少一个字符匹配对;根据所述至少一个字符匹配对,确定所述待拼接图像与所述参考图像之间的字符匹配结果。
在一种可能的实施方式中,所述位置确定单元403,包括:
第五确定子单元,用于依据所述待拼接图像与所述参考图像之间的字符匹配结果、所述待拼接图像中至少一个待拼接字符的字符位置信息、和所述参考图像中至少一个参考字符的字符位置信息,确定所述待拼接图像中重叠区域的位置偏移量;
第六确定子单元,用于根据所述待拼接图像中重叠区域的位置偏移量,确定所述待拼接图像的非重叠区域位置信息。
在一种可能的实施方式中,所述第五确定子单元,具体用于:若所述待拼接图像与所述参考图像之间的字符匹配结果包括至少一个字符匹配对,则根据所述待拼接图像中至少一个待拼接字符的字符位置信息和所述参考图像中至少一个参考字符的字符位置信息,确定所述至少一个字符匹配对的位置偏移量;
对所述至少一个字符匹配对的位置偏移量进行第一统计分析,得到所述待拼接图像中重叠区域的位置偏移量。
在一种可能的实施方式中,所述第五确定子单元,具体用于:若所述待拼接图像与所述参考图像之间的字符匹配结果包括所述待拼接图像中H个待处理字符对应的至少一个匹配字符,则从第h个待处理字符对应的至少一个匹配字符中筛选出满足预设使用条件的匹配字符,确定为所述第h个待处理字符匹配的待使用字符;其中,h为正整数,h≤H,H为正整数;根据所述第h个待处理字符的字符位置信息和所述第h个待处理字符匹配的待使用字符的字符位置信息,确定所述第h个待处理字符的位置偏移量;其中,h为正整数,h≤H,H为正整数;对第1个待处理字符的位置偏移量至第H个待处理字符的位置偏移量进行第二统计分析,得到所述待拼接图像中重叠区域的位置偏移量。
在一种可能的实施方式中,所述第h个待处理字符的位置偏移量包括所述第h个待处理字符在第1方向上的位置偏移量至所述第h个待处理字符在第J方向上的位置偏移量;其中,J为正整数,J表示所述待拼接图像的数据维度;
所述待拼接图像中重叠区域的位置偏移量的确定过程,包括:对第1个待处理字符在第j个方向上的位置偏移量至第H个待处理字符在第j个方向上的位置偏移量进行方差统计分析,得到所述第j个方向的位置偏移量方差;其中,j为正整数,j≤J;根据所述第j个方向的位置偏移量方差,生成所述第j个方向的位置偏移量筛选条件;其中,j为正整数,j≤J;按照所述第j个方向的位置偏移量筛选条件,对所述第1个待处理字符的位置偏移量至第H个待处理字符的位置偏移量进行筛选处理,得到所述第j个方向对应的至少一个待使用偏移量;其中,j为正整数,j≤J;对所述J个方向对应的至少一个待使用偏移量进行第三统计分析,得到所述待拼接图像中重叠区域的位置偏移量。
在一种可能的实施方式中,所述图像拼接单元404,具体用于:按照所述待拼接图像的非重叠区域位置信息,从所述待拼接图像中提取非重叠区域图像;将所述非重叠区域图像与所述目标图像进行拼接处理,得到更新后的目标图像。
在一种可能的实施方式中,所述图像拼接单元404,具体用于:按照所述待拼接图像的非重叠区域位置信息,对所述目标图像进行区域扩充处理,得到待贴合图像和所述待贴合图像对应的贴合标记位置;将所述待拼接图像按照所述待贴合图像对应的贴合标记位置贴合至所述待贴合图像,得到更新后的目标图像。
在一种可能的实施方式中,所述图像拼接装置400还包括:
条件判断单元,用于判断所述待拼接图像的非重叠区域位置信息是否满足预设更新条件;
拼接处理单元,用于若确定所述待拼接图像的非重叠区域位置信息不满足预设更新条件,则利用预设图像拼接过程,对所述待拼接图像与所述目标图像进行图像拼接处理;
所述图像拼接单元404,具体用于:若确定所述待拼接图像的非重叠区域位置信息满足预设更新条件,则根据所述待拼接图像的非重叠区域位置信息,对目标图像进行图像信息更新。
在一种可能的实施方式中,所述图像拼接装置400还包括:
图像获取单元,用于在获取到扫描设备采集的当前帧图像之后,将所述当前帧图像确定为所述待拼接图像;
图像更新单元,用于在获取到所述待拼接图像的非重叠区域位置信息之后,利用所述待拼接图像,更新所述参考图像。
进一步地,本申请实施例还提供了一种图像拼接设备,包括:处理器、存储器、系统总线;
所述处理器以及所述存储器通过所述系统总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述图像拼接方法的任一种实现方法。
进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述图像拼接方法的任一种实现方法。
进一步地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述图像拼接方法的任一种实现方法。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。