发明内容
本发明所要解决的技术问题在于,提供一种二维码校正识别方法及装置,能够对获取到的包含有二维码但不能正常/正确识别出二维码的图像执行识别和校正操作,使得校正后图像更容易识别出二维码,减少二维码无法识别的情况,提高了二维码的识别率。
为了解决上述技术问题,本发明第一方面公开了一种二维码识别校正方法,所述方法包括:
获取目标二维码对应的目标图像,所述目标图像包括所述目标二维码的相关图像信息;
根据所述目标图像确定所述相关图像信息所在的第一图像区域;
对确定出的所述第一图像区域执行二维码特征识别操作,得到特征识别结果;
判断所述特征识别结果是否包括所述目标二维码的特征标识,所述特征标识用于识别所述目标二维码;
当判断结果为是时,对所述特征标识执行二维码识别操作,以识别出所述目标二维码;
当判断结果为否时,对所述第一图像区域执行第一校正操作,得到第一校正图像区域;
检测所述第一校正图像区域是否存在待校正特征;
当检测结果为否时,对所述第一校正图像区域执行二维码识别操作,以识别出所述目标二维码。
作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:
当检测结果为是时,对所述第一校正图像区域执行第二校正操作,得到第二校正结果;
对所述第二校正结果中包括的第二校正图像区域执行二维码识别操作,得到二维码识别结果。
作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:
判断所述二维码识别结果是否表示已识别到所述目标二维码;
当判断结果为否时,获取所述目标图像的下一帧图像,并对所述下一帧图像执行二维码识别处理操作;其中,所述二维码识别处理操作包括所述二维码特征识别操作以及所述二维码识别操作,或者,所述二维码识别处理操作包括所述二维码特征识别操作、所述二维码识别操作以及二维码识别校正操作。
作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:
在对所述目标图像执行二维码识别校正操作的过程中,并行对所述目标图像之后的至少一帧在后图像执行所述二维码特征识别操作;
当对图像集合中的任一图像识别出所述目标二维码时,终止对所述图像集合的其它图像的处理操作;
其中,所述图像集合包括所述目标图像以及所有所述在后图像。
作为一种可选的实施方式,在本发明第一方面中,所述根据所述目标图像确定所述相关图像信息所在的第一图像区域之前,所述方法还包括:
获取样本图像数据,所述样本图像数据包括若干个二维码图像数据,所述二维码图像数据为包括对应的样本二维码以及能够用于识别出所述样本二维码的二维码特征标识;
基于所述样本图像数据,对预先确定出的定位模型算法进行训练,得到目标定位模型算法;
以及,所述根据所述目标图像确定所述相关图像信息所在的第一图像区域,包括:
基于所述目标定位模型算法,从所述目标图像中确定所述相关图像信息所在的第一图像区域。
作为一种可选的实施方式,在本发明第一方面中,所述对所述第一图像区域执行第一校正操作,得到第一校正图像区域,包括:
调用图像处理算法,基于所述第一图像区域对应的图像数据调整所述图像处理算法中用于校正图像的参数;
基于调整后的所述参数以及所述图像处理算法,对所述第一图像区域执行色彩锐化增强操作和/或均衡化处理操作,得到第一校正图像区域。
作为一种可选的实施方式,在本发明第一方面中,所述对所述第一校正图像区域执行第二校正操作,得到第二校正结果,包括:
在所述第一校正图像区域中定位出所述相关图像信息所在的第三图像区域;
将所述第三图像区域对应的位置信息输入第一校正函数中,得到所述位置信息对应的转换矩阵;
将所述第三图像区域以及所述转换矩阵输入第二校正函数中,得到第二校正结果。
本发明第二方面公开了一种二维码校正识别装置,所述装置包括:
获取模块,用于获取目标二维码对应的目标图像,所述目标图像包括所述目标二维码的相关图像信息;
确定模块,用于根据所述目标图像确定所述相关图像信息所在的第一图像区域;
第一识别模块,用于对确定出的所述第一图像区域执行二维码特征识别操作,得到特征识别结果;
第一判断模块,用于判断所述特征识别结果是否包括所述目标二维码的特征标识,所述特征标识用于识别所述目标二维码;
第二识别模块,用于当所述第一判断模块判断结果为是时,对所述特征标识执行二维码识别操作,以识别出所述目标二维码;
第一校正模块,用于当所述第一判断模块判断结果为否时,对所述第一图像区域执行第一校正操作,得到第一校正图像区域;
检测模块,用于检测所述第一校正图像区域是否存在待校正特征;
所述第二识别模块,还用于当所述检测模块检测结果为否时,对所述第一校正图像区域执行二维码识别操作,以识别出所述目标二维码。
作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:
第二校正模块,用于当所述检测模块检测结果为是时,对所述第一校正图像区域执行第二校正操作,得到第二校正结果;
所述第二识别模块,还用于对所述第二校正结果中包括的第二校正图像区域执行二维码识别操作,得到二维码识别结果。
作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:
第二判断模块,用于判断所述二维码识别结果是否表示已识别到所述目标二维码;
所述获取模块,还用于当所述第二判断模块判断结果为否时,获取所述目标图像的下一帧图像;
识别处理模块,用于对所述下一帧图像执行二维码识别处理操作,其中,所述二维码识别处理操作包括所述二维码特征识别操作以及所述二维码识别操作,或者,所述二维码识别处理操作包括所述二维码特征识别操作、所述二维码识别操作以及二维码识别校正操作。
作为一种可选的实施方式,在本发明第二方面中,所述第一识别模块,还用于在对所述目标图像执行二维码识别校正操作的过程中,并行对所述目标图像之后的至少一帧在后图像执行所述二维码特征识别操作;
以及所述装置还包括:
终止模块,用于当对图像集合中的任一图像识别出所述目标二维码时,终止对所述图像集合的其它图像的处理操作;
其中,所述图像集合包括所述目标图像以及所有所述在后图像。
作为一种可选的实施方式,在本发明第二方面中,所述获取模块,还用于在所述确定模块根据所述目标图像确定所述相关图像信息所在的第一图像区域之前,获取样本图像数据,所述样本图像数据包括若干个二维码图像数据,所述二维码图像数据为包括对应的样本二维码以及能够用于识别出所述样本二维码的二维码特征标识;
所述装置还包括:
训练模块,用于基于所述样本图像数据,对预先确定出的定位模型算法进行训练,得到目标定位模型算法;
以及,所述确定模块根据所述目标图像确定所述相关图像信息所在的第一图像区域的方式具体包括:
基于所述目标定位模型算法,从所述目标图像中确定所述相关图像信息所在的第一图像区域。
作为一种可选的实施方式,在本发明第二方面中,所述第一校正模块对所述第一图像区域执行第一校正操作,得到第一校正图像区域的方式具体包括:
调用图像处理算法,基于所述第一图像区域对应的图像数据调整所述图像处理算法中用于校正图像的参数;
基于调整后的所述参数以及所述图像处理算法,对所述第一图像区域执行色彩锐化增强操作和/或均衡化处理操作,得到第一校正图像区域。
作为一种可选的实施方式,在本发明第二方面中,所述第二校正模块对所述第一校正图像区域执行第二校正操作,得到第二校正结果的方式具体包括:
在所述第一校正图像区域中定位出所述相关图像信息所在的第三图像区域;
将所述第三图像区域对应的位置信息输入第一校正函数中,得到所述位置信息对应的转换矩阵;
将所述第三图像区域以及所述转换矩阵输入第二校正函数中,得到第二校正结果。
本发明第三方面公开了另一种二维码校正识别装置,所述装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的二维码校正识别方法。
本发明第四方面公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的二维码校正识别方法。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例中,获取目标二维码对应的目标图像,目标图像包括目标二维码的相关图像信息,根据目标图像确定相关图像信息所在的第一图像区域,对确定出的第一图像区域执行二维码特征识别操作,得到特征识别结果,判断特征识别结果是否包括目标二维码的特征标识,若判断为是,对特征标识执行二维码识别操作,若判断为否,对第一图像区域执行第一校正操作,检测第一校正图像区域是否存在待校正特征,检测结果为否,对第一校正图像区域执行二维码识别操作。可见,实施本发明能够对获取到的不能正常/正确识别出二维码的图像执行识别和校正操作,使得校正后包含二维码的图像更容易识别出二维码,减少二维码无法识别的情况,提高了二维码的识别率。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或端没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或端固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明公开了一种二维码校正识别方法及装置,能够对获取到的不能正常/正确识别出二维码的图像执行识别和校正操作,使得校正后包含二维码的图像更容易识别出二维码,减少二维码无法识别的情况,提高了二维码的识别率。以下分别进行详细说明。
实施例一
请参阅图1,图1是本发明实施例公开的一种二维码校正识别方法的流程示意图。其中,图1所描述的二维码校正识别方法可以应用于电力行业设备巡检中,也可以应用于工厂机械设备巡检中,以及图1所描述的二维码校正识别方法可以封装在SDK中,该SDK可以应用于Android系统的APP中,也可以应用在IOS系统的APP中,本发明实施例不做限定。如图1所示,该二维码校正识别方法可以包括以下操作:
101、获取目标二维码对应的目标图像。
本发明实施例中,该获取到的目标二维码对应的目标图像可以包括目标二维码的相关图像信息,以及,获取目标二维码的方式可以包括:通过加载有扫描功能的仪器或者设备对承载有目标二维码的物体表面进行扫描获取,例如通过移动设备的手机摄像头,或者是加载有扫描获取功能的仪器和/或设备获取目标二维码对应的目标图像,本发明实施例不做限定。
本发明实施例中,可选的,获取该目标图像的方式可以通过人工的方式利用上述加载有扫描功能的仪器或者设备获取该目标图像,也可以通过专门用于扫描功能的仪器和/或设备采用自动扫描的形式,获取仪器扫描范围内的所有图像,并根据预设的筛选算法自动筛选所有图像中包括有所需目标二维码对应的目标图像,本发明实施例不做限定,通过仪器仪器和/或设备自动扫描的方式相对于人工的方式,在图像获取效率上提高了,节约了人力资源的消耗。
102、根据目标图像确定相关图像信息所在的第一图像区域。
本发明实施例中,根据目标图像确定相关图像信息所在的第一图像区域,也即,获取到目标图像后,若是该获取到的目标图像包括了其他冗杂的元素/信息,该元素/信息可能会影响/干扰到后续二维码识别扫描的的操作,例如有大量空白的背景或者有额外的文字、图像参杂其中,则需要从该目标图像中截取确定出用于进行二维码识别工作所需的目标二维码的部分,即确定出目标二维码所在的第一图像区域,可以通过调用预先训练好的算法的方式,基于该算法自动截取该目标图像中用包括的目标二维码所在的第一图像区域,或者,采用人工在界面上手动截取的方式,截取确定出所需的第一图像区域,本发明实施例不做限定。
可见,本发明实施例中,通过上述方法可以在获取到的目标图像中定位到目标二维码所在的大概位置,同时一定程度上减少获取到的目标图像中掺杂的多余元素/信息,使得后续识别操作的进行减少出现因多余元素/信息的干扰导致识别成功率降低的情况,从而一定程度上提高后续识别操作的成功率。
103、对确定出的第一图像区域执行二维码特征识别操作,得到特征识别结果。
本发明实施例中,在确定出第一图像区域之后,该第一图像区域可以包括用于执行二维码扫描操作所需的目标二维码,且执行二维码识别的关键技术之一包括扫描并识别二维码上承载的二维码特征点以及二维码上由黑白元素组成的数据区域,从而在确定出第一图像区域之后,需执行二维码特征识别操作,确保该第一图像区域上包括有二维码组成要素的二维码特征点。
本发明实施例中,上述对确定出的第一图像区域执行二维码特征识别操作可以包括以下步骤:
调用二维码特征识别程序,对该第一图像区域执行二维码特征识别操作;
其中,该二维码特征识别程序可以为预先训练好用于执行该二维码特征识别功能的算法程序,也可以是简单的二维码特征点判定识别程序,本发明实施例不做限定。
104、判断特征识别结果是否包括目标二维码的特征标识,当步骤104的判断结果为是时,触发执行步骤105,当步骤104的判断结果为否时,触发执行步骤106。
本发明实施例中,该特征标识用于识别目标二维码,根据得到的该特征识别结果确定其中是否包括所需的目标二维码的特征标识,根据包括与不包括该二维码特征标识的情况,触发执行与两种情况匹配的步骤。
105、对特征标识执行二维码识别操作。
本发明实施例中,对特征标识执行二维码识别操作,以达到识别出所需目标二维码的目的,该二维码识别操作可以是通过移动端设备和/或仪器自带的软件和/或程序实现的,也可以是通过PC端上自带或者自主开发的软件和/或程序实现的,本发明实施例不做限定。
106、对第一图像区域执行第一校正操作,得到第一校正图像区域。
本发明实施例中,在步骤104的判断结果为否时,即上述特征识别结果中判断未包括有二维码特征标识,为了达到成功识别出目标图像中包括的目标二维码的目的,初步对第一图像区域执行第一校正操作,通过该校正操作得到第一校正结果,该第一校正结果包括该第一校正图像区域,也即校正后目标二维码对应的目标图像所在的图像区域。
107、检测第一校正图像区域是否存在待校正特征,当步骤107的检测结果为否时,触发执行步骤108,当步骤107的检测结果为是时,可以继续执行步骤107。
本发明实施例中,初步对第一图像区域执行第一校正操作,得到第一校正图像区域之后,需要进一步检测第一校正图像区域是否存在第一校正操作不能处理的待校正特征,若存在待校正特征,则后续针对该待校正特征调用处理该待校正特征的程序,若不存在待校正特征,即上述第一校正图像区域可直接用于二维码识别操作,需要说明的是,该待校正特征可以是第一校正图像区域中的该图像存在图像弯曲或者折叠的情况,本发明实施例不做限定。
108、对第一校正图像区域执行二维码识别操作。
本发明实施例中,在步骤107中检测出不存在待校正特征时,无需执行其他程序,默认第一校正图像区域即为执行第一校正处理操作后校正成功的图像区域,再对成功校正的图像执行二维码识别操作即可。
可见,实施图1所描述的二维码校正识别方法,能够对获取到的需要执行二维码识别操作的图像执行包括以下操作:初步定位目标二维码的位置,进一步确认该目标二维码图像是否有二维码特征点,若该图像无二维码特征点,则对该图像执行第一校正操作,之后对第一校正操作后的图像执行二维码识别操作,通过执行上述操作,能够实现初步校正不能正常/正确识别出二维码的图像这一功能,从而使得校正后的图像容易识别出二维码,提高了二维码的识别率。
在一个可选的实施例中,在根据目标图像确定相关图像信息所在的第一图像区域之前,该二维码校正识别方法还可以包括以下步骤:
获取样本图像数据,样本图像数据包括若干个二维码图像数据,二维码图像数据为包括对应的样本二维码以及能够用于识别出样本二维码的二维码特征标识;
基于样本图像数据,对预先确定出的定位模型算法进行训练,得到目标定位模型算法;
以及,根据目标图像确定相关图像信息所在的第一图像区域可以包括以下步骤:
基于目标定位模型算法,从目标图像中确定相关图像信息所在的第一图像区域。
可见,在可选的实施例中,通过训练得到一个定位模型算法,该模型算法可以通过TensorFlow这一软件训练得到,基于该算法实现在获取到的图像中定位到所需的二维码所在的位置的功能,该功能除了定位二维码之外,还可以在一定程度上减少获取到的图像中多余的图像信息,从而在一定程度上降低多余的图像信息在后续识别流程中的干扰,进而在一定程度上提高后续识别流程中二维码的识别成功率。
在另一个可选的实施例中,在对第一图像区域执行第一校正操作,得到第一校正图像区域,该二维码校正识别方法还可以包括以下步骤:
调用图像处理算法,基于第一图像区域对应的图像数据调整图像处理算法中用于校正图像的参数;
基于调整后的参数以及图像处理算法,对第一图像区域执行色彩锐化增强操作和/或均衡化处理操作,得到第一校正图像区域。
可见,在该可选的实施例中,通过调用图像处理算法,结合在前步骤获取到的第一图像区域中的图像数据,该图像数据可以是认定为褪色的图像数据,对应调整图像处理算法中用于校正图像的参数,基于调整后的参数以及图像处理算法,对第一图像区域执行色彩锐化增强操作和/或均衡化处理操作,达到使由于褪色的因素导致不能正常/正确识别出二维码的第一图像区域能充分显现出二维码的特征颜色的目的,在二维码的特征颜色能充分显现之后,后续二维码的识别成功率也会相应提高,从而实现了提高二维码能被识别出来的成功率的目的。
在又一个可选的实施例中,在判断出特征识别结果不包括目标二维码的特征标识时,检测第一图像区域中包括的待校正特征的类型,当检测出该待校正特征类型与第一待校正类型匹配时,触发执行对第一图像区域执行第一校正操作,得到第一校正图像区域的操作;
当检测出该待校正特征类型与第二待校正类型匹配时,对第一图像区域执行第二校正操作,得到第一校正图像区域。
需要说明的是,在该可选的实施例中,在检测第一图像区域中包括的待校正特征的类型时,上述第一待校正类型可以包括图像褪色的类型,上述第二待校正类型可以包括图像弯曲、颠倒的类型,也即,在检测出第一图像区域中包括图像弯曲和/或颠倒的情况,但不包括图像褪色的情况时,可以直接执行针对图像弯曲和/或颠倒的校正操作,而不执行针对图像褪色的校正操作。
可见,在该可选的实施例中,针对只存在图像弯曲和/或颠倒,不存在颜色褪色的情况,直接调用针对图像弯曲和/或颠倒的图像校正处理程序,根据图像上存在的问题针对性的调用与该存在的问题对应的处理程序,一定程度上提高了二维码校正识别流程的效率。
在另一个可选的实施例中,在获取目标二维码对应的目标图像,根据目标图像确定相关信息所在的第一图像区域之后,对第一图像区域执行二维码识别操作,得到二维码识别结果;
根据该二维码是被结果判断是否需要对第一图像区域执行图像校正处理操作;
当判断结果为是时,检测第一图像区域存在的待校正特征类型,根据该待校正特征类型执行不同的校正处理操作;
当判断结果为否时,结束所有流程。
在该可选的实施例中,在确定出第一图像区域之后,无需检测/判断该第一图像区域是否包括二维码特征标识,直接对该第一图像区域执行二维码识别操作,后续根据识别的结果执行相应的流程操作。
可见,在该可选的实施例中,在默认定位到目标二维码的所在的第一图像区域中目标二维码包括了二维码特征标识的情况,简化了二维码识别流程中二维码特征识别的步骤,从而优化了整个二维码识别流程,提高了二维码识别效率。
实施例二
请参阅图2,图2是本发明实施例公开的一种二维码校正识别方法的流程示意图。其中,图2所描述的二维码校正识别方法可以应用于电力行业设备巡检中,也可以应用于工厂机械设备巡检,以及图1所描述的二维码校正识别方法可以封装在SDK中,该SDK可以应用于Android系统的APP中,也可以应用在IOS系统的APP中,本发明实施例不做限定。如图2所示,该二维码校正识别方法可以包括以下操作:
201、获取目标二维码对应的目标图像。
202、根据目标图像确定相关图像信息所在的第一图像区域。
203、对确定出的第一图像区域执行二维码特征识别操作,得到特征识别结果。
204、判断特征识别结果是否包括目标二维码的特征标识,当步骤204的判断结果为是时,触发执行步骤205,当步骤204的判断结果为否时,触发执行步骤206。
205、对特征标识执行二维码识别操作。
206、对第一图像区域执行第一校正操作,得到第一校正图像区域。
207、检测第一校正图像区域是否存在待校正特征,当步骤207的检测结果为否时,触发执行步骤208,当步骤207的检测结果为是时,触发执行步骤209。
208、对第一校正图像区域执行二维码识别操作。
本发明实施例中,针对步骤201-步骤208的其他描述请参阅实施例一中针对步骤101-步骤108的其他具体描述,本发明实施例不再赘述。
209、对第一校正图像区域执行第二校正操作,得到第二校正结果。
本发明实施例中,当步骤207检测出第一校正图像区域中存在待校正特征时,则默认存在该待校正特征的第一校正图像区域不能被正确识别出二维码,不将该第一校正图像区域用于二维码识别操作中,需要依照流程对第一校正图像区域执行第二校正操作,之后得到第二校正结果。
210、对第二校正结果中包括的第二校正图像区域执行二维码识别操作,得到二维码识别结果。
本发明实施例中,对第二校正结果中包括的第二校正图像区域执行二维码识别操作,得到二维码识别结果,也即,将上述第一校正图像区域执行第二校正操作之后,得到的第二校正结果中包括有第二校正图像区域,默认该第二校正图像经过处理后可以被正常/成功识别出二维码,从而后续二维码识别操作将直接调用该第二校正图像区域。
可见,实施图2所描述的二维码校正识别方法,能够在对无法正常/成功识别出二维码的图像执行第一校正操作,得到的第一校正图像之后,进一步对还包括有待校正特征的第一校正图像执行第二校正操作,对图像执行进一步的校正处理,通过两次有针对性的图像校正操作,得到最后的校正结果这一种方式,使得经过两次图像校正处理得到的最后图像更容易被识别出二维码,从而提高了二维码识别成功率。
在一个可选的实施例中,该二维码校正识别方法还可以包括以下步骤:
判断上述二维码识别结果是否表示已识别到目标二维码;
当判断结果为否时,获取目标图像的下一帧图像,并对下一帧图像执行二维码识别处理操作;其中,二维码识别处理操作包括二维码特征识别操作以及二维码识别操作,或者,二维码识别处理操作包括二维码特征识别操作、二维码识别操作以及二维码识别校正操作。
在该可选的实施例中,当执行完步骤210后得到二维码识别结果,该二维码识别结果为不能成功识别出二维码时,执行获取目标图像的下一帧图像的操作,并对下一帧图像执行二维码识别处理操作,即在停止获取目标图像之前,将重复执行获取目标图像的下一帧图像的操作,并对下一帧图像执行二维码识别处理操作,其中,针对获取到的目标图像的下一帧图像,若该下一帧图像在执行二维码特征识别操作时能识别出二维码特征标识,则该二维码识别处理操作可以只包括二维码特征识别操作以及二维码识别操作;若该下一帧图像在执行二维码特征识别操作时未能识别出二维码特征标识,则该二维码识别处理操作可以包括二维码特征识别操作、二维码识别操作以及二维码识别校正操作。
可见,在该可选的实施例中,能够对获取到的目标图像的不同帧图像连续不中断的执行二维码识别处理操作,一定程度上提高了二维码识别速率,且根据不同帧图像初步执行二维码特征标识识别操作后的不同结果,对应执行后续操作,使得整个二维码识别流程高效合理的进行。
在另一个可选的实施例中,该二维码校正识别方法还可以包括以下步骤:
在对目标图像执行二维码识别校正操作的过程中,并行对目标图像之后的至少一帧在后图像执行二维码特征识别操作;
当对图像集合中的任一图像识别出目标二维码时,终止对图像集合的其它图像的处理操作;
其中,图像集合包括目标图像以及所有在后图像。
在该可选的实施例中,通过并行处理的方式,在对目标图像执行二维码识别校正操作的同时,可以并行对目标图像之后的至少一帧在后图像执行二维码特征识别操作,实现了单次二维码识别和对目标图像的增强校正处理的并行运行功能,该功能可以通过采用例如多线程的技术来实现,本发明实施例中不做限定,该并行功能的实现可以参阅图7。
在该可选的实施例中,在对图像集合中的任一图像识别出目标二维码时,即达到识别出二维码的目的时,可以直接终止对图像集合的其它图像的处理操作,减少运行程序的资源消耗。
可见,该可选的实施例可以通过采用多线程技术的方式对整个二维码识别流程中的二维码识别流程和二维码校正流程实现并行处理的功能,达到优化整体的二维码识别流程的目的,提高了二维码的识别效率。
在另一个可选的实施例中,在对目标图像执行二维码识别校正操作的过程中,并行对目标图像之后的至少一帧在后图像执行二维码特征识别操作;
当对图像集合中的任一图像在满足预设的条件是时,仍未识别出目标二维码时,终止对图像集合的其它图像的处理操作;
其中,该预设的条件可以包括预设的识别次数和/或预设的识别时间。
在该可选的实施例中,需要说明的是,当对图像集合中的图像执行执行识别次数达到预设的次数,如10次时,和/或针对图像集合中的图像执行校正后识别的操作次数达到预设的次数,如10次时,则判断无法实现对该图像的成功校正识别,立即终止对图像集合的其他图像的处理操作,以防止系统因大量重复且无效的运算造成资源浪费,或者,在预设的识别时间/校正时间,如1分钟,在对图像集合中的图像进行校正和/或识别的时间达到1分钟仍未成功识别出二维码时,也可以判断为无法实现对该图像的成功校正识别,立即终止对图像集合的其他图像的处理操作,以防止系统因大量长时间的重复且无效的运算造成资源浪费。
可见,该可选的实施例中,通过增加对图像集合中图像的识别和/或校正的执行条件这一方式,一定程度上预防出现无法实现对图像的成功校正识别,但系统仍在进行长时间大量的无效运算,最后造成系统资源浪费的情况。
在又一个可选的实施例中,对第一校正图像区域执行第二校正操作,得到第二校正结果的方法可以包括以下步骤:
在第一校正图像区域中定位出相关图像信息所在的第三图像区域;
将第三图像区域对应的位置信息输入第一校正函数中,得到位置信息对应的转换矩阵;
将第三图像区域以及转换矩阵输入第二校正函数中,得到第二校正结果。
在该可选的实施例中,在判断出该第一校正图像区域存在待校正特征时,在第一校正图像区域中定位出相关图像信息所在的第三图像区域,也即重新定位出二维码的精确位置,该重新定位的方式可以包括,将该第一校正图像区域中可能存在的图像旋转颠倒的情况修复,也可以为当该第一校正图像中目标二维码的位置处于整体图像的边缘位置时,将该目标二维码的位置修复至处于图像中心位置,本发明实施例不做限定。
在该可选的实施例中,在第一校正图像区域中重新定位出相关图像信息所在的第三图像区域后,调用与该待校正情况对应的图像处理算法,将第三图像区域对应的位置信息输入到该图像处理算法中包括的第一校正函数中,经过该第一校正函数运行处理后,得到与该第三图像区域位置信息对应的转换矩阵,后续将第三图像区域以及该转换矩阵输入该图像处理算法中包括的第二校正函数中,经过该第二校正函数运行处理之后,得到第二校正结果。需要说明的是,该图像处理算法可以是由OpenCV提供的图像投影校正算法,也可以是其他软件提供的图像投影校正算法,本发明实施例不做限定,该第一校正函数可以是OpenCV提供的cv::findHomography()函数,上述第二校正函数可以是cv::warpPerspective()函数。
在该可选的实施例中,得到位置信息对应的转换矩阵该转换矩阵的矩阵形式可以如下所示:
T2=[a13 a23]T
T3=[a31 a32]
其中,T1的矩阵表示图像线性变换,T2表示的矩阵用于产生图像透视变换,T3表示的矩阵用于表示图像平移。
该投影校正算法中涉及的透视变换的数学公式表达可以如下所示:
可见,在该可选的实施例中,通过调用在OpenCV库中与该待校正情况对应的图像处理算法,对存在的待校正错误进行处理,包括:对图像进行二次定位,定位后获得更准确的二维码图像所在的图像区域,基于上述图像处理算法和定位后获得的新图像区域,对新图像区域执行校正处理,经由这些处理步骤,使得包含二维码的图像更容易被识别出来,减少了无法识别出二维码的情况,也即,提高了二维码的识别率。
实施例三
请参阅图3,图3是本发明实施例公开的一种二维码校正识别装置的结构示意图。其中,图3所描述的二维码校正识别装置可以应用于电力行业设备巡检中,也可以应用于工厂机械设备巡检中,以及图1所描述的二维码校正识别方法可以封装在SDK中,该SDK可以应用于Android系统的APP中,也可以应用在IOS系统的APP中,本发明实施例不做限定。如图3所示,该二维码校正识别装置可以包括获取模块301、确定模块302、第一识别模块303、第一判断模块304、第二识别模块305、第一校正模块306以及检测模块307,其中:
获取模块301,用于获取目标二维码对应的目标图像,目标图像包括目标二维码的相关图像信息。
确定模块302,用于根据目标图像确定相关图像信息所在的第一图像区域。
第一识别模块303,用于对确定出的第一图像区域执行二维码特征识别操作,得到特征识别结果。
第一判断模块304,用于判断特征识别结果是否包括目标二维码的特征标识,特征标识用于识别目标二维码。
第二识别模块305,用于当第一判断模块304判断结果为是时,对特征标识执行二维码识别操作,以识别出目标二维码。
第一校正模块306,用于当第一判断模块304判断结果为否时,对第一图像区域执行第一校正操作,得到第一校正图像区域。
检测模块307,用于检测第一校正图像区域是否存在待校正特征。
第二识别模块305,还用于当检测模块307检测结果为否时,对第一校正图像区域执行二维码识别操作,以识别出目标二维码。
可见,实施图3所描述的二维码校正识别装置,能够实现对获取到的需要执行二维码识别操作的图像包括以下功能:初步定位目标二维码的位置,进一步确认该目标二维码图像是否有二维码特征点,若该图像无二维码特征点,则对该图像执行第一校正操作,之后对第一校正操作后的图像执行二维码识别操作,通过执行上述操作,能够实现初步校正不能正常/正确识别出二维码的图像这一功能,从而使得校正后的图像容易识别出二维码,提高了二维码的识别率。
在一个可选的实施例中,如图4所示,该二维码校正识别装置还可以包括:
第二校正模块308,用于当检测模块307检测结果为是时,对第一校正图像区域执行第二校正操作,得到第二校正结果。
第二识别模块305,还用于对第二校正结果中包括的第二校正图像区域执行二维码识别操作,得到二维码识别结果。
可见,实施图4所描述的二维码校正识别装置,能够对无法正常/成功识别出二维码的图像执行第一校正操作,得到的第一校正图像之后,进一步对包括有待校正特征的第一校正图像执行第二校正操作,对图像执行进一步的校正处理,以提高后续对图像的二维码识别成功率。
在另一个可选的实施例中,如图5所示,该二维码校正识别装置还可以包括第二判断模块309以及识别处理模块310,其中:
第二判断模块309,用于判断第二识别模块305识别得到的二维码识别结果是否表示已识别到目标二维码。
获取模块301,还用于当第二判断模块309判断结果为否时,获取目标图像的下一帧图像。
识别处理模块310,用于对下一帧图像执行二维码识别处理操作,其中,二维码识别处理操作包括二维码特征识别操作以及二维码识别操作,或者,二维码识别处理操作包括二维码特征识别操作、二维码识别操作以及二维码识别校正操作。
可见,实施图5描述的二维码校正识别装置,能够在对无法正常/成功识别出二维码的图像执行第一校正操作,得到的第一校正图像之后,进一步对包括有待校正特征的第一校正图像执行第二校正操作,对图像执行进一步的校正处理,通过两次有针对性的图像校正操作,得到最后的校正结果这一种方式,使得经过两次图像校正处理得到的最后图像更容易被识别出二维码,从而提高了二维码识别成功率。
在另一个可选的实施例中,如图6所示,该二维码校正识别装置还可以包括终止模块311,其中:
第一识别模块303,还用于在对目标图像执行二维码识别校正操作的过程中,并行对目标图像之后的至少一帧在后图像执行二维码特征识别操作。
终止模块311,用于当对图像集合中的任一图像识别出目标二维码时,终止对图像集合的其它图像的处理操作。
其中,图像集合包括目标图像以及所有在后图像。
可见,实施图6描述的二维码校正识别装置,能够对获取到的目标图像的不同帧图像连续不中断的执行二维码识别处理操作,一定程度上提高了二维码识别速率,且根据不同帧图像初步执行二维码特征标识识别操作后的不同结果,对应执行后续操作,使得整个二维码识别流程高效合理的进行。
在又一个可选的实施例中,如图4所示,获取模块301还用于在确定模块302根据目标图像确定相关图像信息所在的第一图像区域之前,获取样本图像数据,样本图像数据包括若干个二维码图像数据,二维码图像数据为包括对应的样本二维码以及能够用于识别出样本二维码的二维码特征标识。
该二维码校正识别装置还可以包括训练模块312,其中:
训练模块312,用于基于样本图像数据,对预先确定出的定位模型算法进行训练,得到目标定位模型算法。
以及,确定模块302根据目标图像确定相关图像信息所在的第一图像区域的方式具体包括:
基于目标定位模型算法,从目标图像中确定相关图像信息所在的第一图像区域。
可见,实施图4描述的二维码校正识别装置,可以通过采用多线程技术的方式对整个二维码识别流程中的二维码识别流程和二维码校正流程实现并行处理的功能,达到优化整体的二维码识别流程的目的,从而提高了二维码的识别效率。
在另一个可选的实施例中,如图4所示,第一校正模块306对第一图像区域执行第一校正操作,得到第一校正图像区域的方式具体包括:
调用图像处理算法,基于第一图像区域对应的图像数据调整图像处理算法中用于校正图像的参数;
基于调整后的参数以及图像处理算法,对第一图像区域执行色彩锐化增强操作和/或均衡化处理操作,得到第一校正图像区域。
可见,实施图4描述的二维码校正识别装置,通过训练得到一个定位模型算法,该模型算法可以通过TensorFlow这一软件训练得到,基于该算法实现在获取到的图像中定位到所需的二维码所在的位置的功能,该功能除了定位二维码之外,还可以在一定程度上减少获取到的图像中多余的图像信息,从而在一定程度上降低降低多余的图像信息在后续识别流程中的干扰,进而在一定程度上提高后续识别流程的识别成功率。
在又一个可选的实施例中,如图4所示,第二校正模块308对第一校正图像区域执行第二校正操作,得到第二校正结果的方式具体包括:
在第一校正图像区域中定位出相关图像信息所在的第三图像区域;
将第三图像区域对应的位置信息输入第一校正函数中,得到位置信息对应的转换矩阵;
将第三图像区域以及转换矩阵输入第二校正函数中,得到第二校正结果。
可见,实施图4描述的二维码校正识别装置,通过调用图像处理算法,结合在前模块获取到的第一图像区域中的图像数据,该图像数据可以是认定为褪色的图像数据,对应调整图像处理算法中用于校正图像的参数,基于调整后的参数以及图像处理算法,对第一图像区域执行色彩锐化增强操作和/或均衡化处理操作,达到使由于褪色的因素导致不能正常/正确识别出二维码的第一图像区域能充分显现出二维码的特征颜色的目的,从而实现了提高二维码能被识别出来的成功率的目的。
实施例四
请参阅图8,图8是本发明实施例公开的又一种二维码校正识别装置的结构示意图。如图8所示,该二维码校正识别装置可以包括:
存储有可执行程序代码的存储器401;
与存储器401耦合的处理器402;
处理器402调用存储器401中存储的可执行程序代码,执行本发明实施例一或本发明实施例二所描述的二维码校正识别方法中的步骤。
实施例五
本发明实施例公开了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,该计算机指令被调用时,用于执行本发明实施例一或本发明实施例二所描述的二维码校正识别方法中的步骤。
实施例六
本发明实施例公开了一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行实施例一或实施例二中所描述的智能控制可循环使用容器流通的方法中的步骤。
以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种二维码校正识别方法及装置所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。