本发明实施例涉及数字图像处理技术,尤其涉及一种二维码识别方法、装置和系统。
背景技术:
二维码(2-dimensional barcode),又称为二维条码,是在一维条码的基础上扩展出的一种具有可读性的条码。其使用某种特定的几何图形按一定规律在平面二维方向上分布的黑白相间的图形中,记录数据符号信息。在代码编制上利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图像输入设备或光电扫描设备自动识读,以实现信息的自动处理。
二维码的种类主要包括PDF417、QR码、码49以及码16K等,而QR(Quick Response,快速反应)码是其中常用的一种二维码。QR码呈正方形,只有黑白两色,在4个角落的其中3个,印有较小的像“回”字的正方图案。这3个正方图案是帮助解码软件定位的图案。
在实际的二维码识别过程中,由于识别环境复杂多变,例如:在采集二维码时受到了光照以及油污等影响,使得二维码的识别准确率受到了一定的影响。
技术实现要素:
有鉴于此,本发明实施例提供了一种二维码识别方法、装置和系统,以提高二维码的识别准确率。
第一方面,本发明实施例提供了一种二维码识别方法,该方法包括:
获取目标二维码的待识别图像;
从校正处理函数集中选择确定校正处理函数,作为当前校正处理函数;
采用所述当前校正处理函数对所述待识别图像进行图像校正处理,并将处理结果作为待确认校正图像;
如果确定所述待确认校正图像不满足合理校正条件,则返回执行从校正处理函数集中重新选择确定校正处理函数的操作,直至达到设定条件;
如果确定所述待确认校正图像满足所述合理校正条件,则在所述待确认校正图像中识别所述目标二维码。
第二方面,本发明实施例还提供了一种二维码识别装置,该装置包括:
待识别图像获取模块,用于获取目标二维码的待识别图像;
当前校正处理函数选择模块,用于从校正处理函数集中选择确定校正处理函数,作为当前校正处理函数;
图像校正处理模块,用于采用所述当前校正处理函数对所述待识别图像进行图像校正处理,并将处理结果作为待确认校正图像;
重复执行模块,用于如果确定所述待确认校正图像不满足合理校正条件,则返回执行从校正处理函数集中重新选择确定校正处理函数的操作,直至达到设定条件;
二维码识别模块,用于如果确定所述待确认校正图像满足所述合理校正条件,则在所述待确认校正图像中识别所述目标二维码。
第三方面,本发明实施例还提供了一种二维码识别系统,该系统包括:网络摄像机、终端设备以及云服务器;
所述终端设备,用于在成功联网后,生成包括联网信息的目标二维码的待识别图像;
所述网络摄像机,包括本发明实施例所述的二维码识别装置,还包括:
联网模块,用于根据识别到的所述目标二维码中包括的所述联网信息,连入所述终端设备所在的网络;
连接建立模块,用于在成功连入所述网络后,向所述云服务器发送连接建立请求,以与所述云服务器建立通信连接;
所述云服务器,用于根据所述连接建立请求,建立与所述网络摄像机的通信连接。
本发明实施例从校正处理函数集中选择确定校正处理函数对包括目标二维码的待识别图像进行图像校正处理;在确定该图像校正处理结果不满足合理校正条件时,重新选择确定校正处理函数对该待识别图像进行图像校正处理,直至达到设定条件,实现了当一种校正处理函数对待处理图像的图像校正处理不理想时,能够自适应的使用其他校正处理函数对该待处理图像进行重新处理,特别是当待处理图像的失真类型未知时,可以综合多个不同校正处理函数的优点,自动筛选出一个与待处理图像相匹配的校正处理函数对该待处理图像进行处理的技术效果,进而提高了复杂环境中二维码的识别准确率。
附图说明
图1是本发明实施例一提供的一种二维码识别方法的流程图;
图2是本发明实施例二提供的一种二维码识别方法的流程图;
图3是本发明实施例三提供的一种二维码识别方法的流程图;
图4是本发明实施例四提供的一种二维码识别方法的流程图;
图5是本发明实施例五提供的一种二维码识别装置的结构图;
图6是本发明实施例六提供的一种二维码识别系统的结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种二维码识别方法的流程图,本实施例可适用于对二维码进行识别的情况,该方法可以由二维码识别装置来执行,该装置可以通过软件,和/或硬件的方式来实现,一般可以集成于包括摄像头或者可以与摄像头配合使用的终端设备中,典型的,网络摄像机、智能手机或者平板电脑等。本实施例的方法具体包括如下步骤:
S110、获取目标二维码的待识别图像。
在本实施例中,所述目标二维码是指需要进行识别的二维码,所述待识别图像是指包括有目标二维码的图像。
为了后文便于说明,本发明实施例中所指的二维码一般指QR码。但是,可以理解的是,本发明实施例的方法还可以适用于其他类型的二维码,区别在于针对不同类型的二维码,使用的校正处理函数以及合理校正条件需要进行适应性的调整。
其中,可以通过摄像头捕捉的方式,获取待识别图像;也可以通过网络传输的方式,获取该待识别图像。典型的,可以通过开启内置摄像头的方式捕捉并获取待识别图像,也可以通过下载等方式获取其他设备发送的该待识别图像。
S120、从校正处理函数集中选择确定校正处理函数,作为当前校正处理函数。
在本实施例中,校正处理函数集中包括有多个校正处理函数。所述校正处理函数,用于对待识别图像进行一定的校正处理,以消除该待识别图像中目标二维码可能存在的各种失真,例如:在通过摄像头捕捉目标二维码时,由于拍摄角度的问题,可能会使目标二维码产生旋转失真(QR码的一边与水平面具有一定的夹角)或者几何畸变(QR码呈现不规则的四边形)等。
其中,不同类型的校正处理函数所使用的校正算法,适用的失真类型以及适用的二维码类型一般不同。相应的,不同校正处理函数对待识别图像的图像校正处理效果也不尽相同。
在本实施例中,从校正处理函数集中选择确定校正处理函数,作为当前校正处理函数可以为:从校正处理函数集中随机选择校正处理函数作为当前校正处理函数,也可以为:预先规定所述校正处理函数集中各校正处理函数的处理评分值,按照评分值从大到小的顺序,选择确定校正处理函数作为当前校正处理函数等。
其中,选择确定的所述当前校正处理函数可以为用于处理某一失真类型的一个校正处理函数,也可以为用于处理多个不同失真类型(典型的,旋转失真以及几何畸变)的多个校正处理函数,本实施例对此并不进行限制。
S130、采用所述当前校正处理函数对所述待识别图像进行图像校正处理,并将处理结果作为待确认校正图像。
其中,所述待确认校正图像是指所述待识别图像经过所述当前校正处理函数处理后生成的图像。
S140、如果确定所述待确认校正图像不满足合理校正条件,则返回执行从校正处理函数集中重新选择确定校正处理函数的操作,直至达到设定条件。
在本实施例中,在使用当前校正处理函数对待识别图像进行图像校正处理后,并不是直接根据生成的待确认校正图像进行二维码识别,而是首先验证该待确认校正图像是否满足合理校正条件:如果满足,则可以继续后续的二维码识别工作;如果不满足,则需要重新在校正处理函数集选择确定新的校正处理函数,重新对该待识别图像进行图像校正处理,以提高识别准确率。
其中,所述合理校正条件可以根据二维码的图形特点进行预设。典型的,针对QR码,所述合理校正条件可以包括:验证所述待识别图像中包括的夹角是否为直角,或者验证所述待识别图像中包括的直线是否与水平面垂直或者平行,或者验证所述待识别图像中包括的最长对角线与水平面的夹角是否为45°等。
其中,所述设定条件可以包括:遍历所述校正处理函数集中的设定数量(或者比例)的校正处理函数,或者全部校正处理函数;所述设定条件还可以包括:当前的处理时长超过时间阈值等,本实施例对此并不进行限制。
S150、如果确定所述待确认校正图像满足所述合理校正条件,则在所述待确认校正图像中识别所述目标二维码。
在本实施例中,为了在待确认校正图像中识别出所述目标二维码,首先需要在该待确认校正图像中定位该目标二维码的位置。
QR码有三个形状相同的位置探测图形,在没有旋转的情况下,这三个位置探测图形分别位于QR码符号的左上角、右上角和左下角。每个位置探测图形可以看作是由3个重叠的同心的正方形组成,它们分别为7*7个深色模块、5*5个浅模块和3*3个深色模块。位置探测图形的模块宽度比为1:1:3:1:1。通过在待确认校正图像中定位上述位置探测图形,可以进而确定目标二维码在待确认校正图像中的位置。
相应的,在确定目标二维码的位置后,可以通过设定的译码算法,识别目标二维码中记载的内容。
本发明实施例从校正处理函数集中选择确定校正处理函数对包括目标二维码的待识别图像进行图像校正处理;在确定该图像校正处理结果不满足合理校正条件时,重新选择确定校正处理函数对该待识别图像进行图像校正处理,直至达到设定条件,实现了当一种校正处理函数对待处理图像的图像校正处理不理想时,能够自适应的使用其他校正处理函数对该待处理图像进行重新处理,特别是当待处理图像的失真类型未知时,可以综合多个不同校正处理函数的优点,自动筛选出一个与待处理图像相匹配的校正处理函数对该待处理图像进行处理的技术效果,进而提高了复杂环境中二维码的识别准确率。
在上述技术方案的基础上,在获取目标二维码的待识别图像之后,所述方法还可以包括:对所述待识别图像进行二值化处理,以形成二值化图像;将所述二值化图像进行滤噪处理。
进行二值化处理的好处在于:将待识别图像中各像素点的灰度值设置为0或255,以将目标二维码与背景图像相分离,大大降低后续操作的计算量;进行滤噪处理的好处在于:降低获取目标二维码过程中引入的噪声,提高识别准确率。
实施例二
图2是本发明实施例二提供的一种二维码识别方法的流程图,本实施例以上述实施例为基础进行优化,在本实施例中,将对所述待识别图像进行二值化处理优化为:通过傅里叶变换算法,将RBG格式的所述待识别图像转换为YUV格式的图像;将所述YUV格式的图像中的U通道以及V通道的数值设定为预设值,以形成灰度化图像;选取设定分割阈值对所述灰度化图像进行二值化处理;
以及,将所述二值化图像进行滤噪处理优化为:获取所述二值化图像中的一个像素点,作为目标像素点;以所述目标像素点为中心,构造设定大小的二维窗口;将所述二维窗口内包括的像素点,按照像素灰度值进行排序,并使用排序结果中的中间像素点的灰度值替换所述目标像素点的灰度值;返回执行获取所述二值化图像中的一个像素点,作为目标像素点的操作,直至完成对所述二值化图像中全部像素点的处理。
相应地,本实施例的方法具体包括如下步骤:
S210、获取目标二维码的待识别图像。
S220、通过傅里叶变换算法,将RBG格式的所述待识别图像转换为YUV格式的图像。
在本实施例中,为了保证将所述待识别图像进行二值化处理的处理效果,可以首先对所述待识别图像进行灰度化处理。灰度化处理,就是使得图像仅包括亮度信息,而不包括有色彩信息。
考虑到对YUV格式的图像进行灰度化处理要比RBG格式的图像的灰度化处理更简单,且YUV格式的图像的总尺寸要小于RBG格式的图像,在本实施例中,首先将RBG格式的待识别图像转换为YUV格式的图像。
其中,RBG格式的图像是指使用R(Red,红)、G(Green,绿)以及B(Blue,蓝)表达图像中各个像素点的色彩值;YUV格式的图像是指使用亮度信号Y和两个色差信号即U和V表达图像中各个像素点的色彩值。通过摄像头捕捉获取的图像一般为RBG格式的图像。
其中,RBG格式与YUV格式具有相互转换公式。可以通过公式实现将RBG格式的所述待识别图像转换为YUV格式的图像,但是通过公式转换的方式,处理时间较长,不满足二维码识别的实时性要求。在本实施例中,通过采用傅里叶变换算法截取有限点的方式,将RBG格式的所述待识别图像转换为YUV格式的图像,可以大大加快转换速度。
S230、将所述YUV格式的图像中的U通道以及V通道的数值设定为预设值,以形成灰度化图像。
如前所述,将YUV格式的图像进行灰度化处理非常简单,只要保留图像中Y通道的数值,并且将U通道以及V通道的数值设定为0x80,即可形成该灰度化图像。
S240、选取设定分割阈值对所述灰度化图像进行二值化处理,以形成二值化图像。
为了更好的分割出目标二维码和背景图像,可以将二值化处理技术分为:最佳阈值、自适应阈值和全局阈值等,它们的主要区别是使用不同的方法来选择分割阈值。在本实施例中,可选使用自适应阈值的方法对所述灰度化图像进行二值化处理。也即:利用灰度化图像局部的特征,采用多个分割阈值在一幅图像中进行二值化处理。
S250、获取所述二值化图像中的一个像素点,作为目标像素点。
S260、以所述目标像素点为中心,构造设定大小的二维窗口。
发明人通过研究发现:针对QR码进行滤噪处理时,如果窗口的大小和形状选择不当,滤噪的效果会很差,窗口过大还会导致边缘模糊和丢失细小的特征。同时,综合考虑了QR码符号图像是正方形,因此,在本实施例中选择一个3*3像素大小的二维窗口来进行中值滤波。
S270、将所述二维窗口内包括的像素点,按照像素灰度值进行排序,并使用排序结果中的中间像素点的灰度值替换所述目标像素点的灰度值。
S280、判断是否完成对所述二值化图像中全部像素点的处理:若是,执行S290;否则,返回执行S250。
S290、从校正处理函数集中选择确定校正处理函数,作为当前校正处理函数。
S2100、采用所述当前校正处理函数对所述待识别图像进行图像校正处理,并将处理结果作为待确认校正图像。
S2110、如果确定所述待确认校正图像不满足合理校正条件,则返回执行从校正处理函数集中重新选择确定校正处理函数的操作,直至达到设定条件。
S2120、如果确定所述待确认校正图像满足所述合理校正条件,则在所述待确认校正图像中识别所述目标二维码。
本实施例的技术方案,在获取目标二维码的待识别图像之后,还引入了对所述待识别图像进行二值化处理,以形成二值化图像,以及将所述二值化图像进行滤噪处理的操作,并根据实际识别的二维码类型,细化了上述操作的具体实现细节,在最大程度的降低计算量,保证二维码识别实时性的同时,减少了噪声对二维码识别过程的干扰,进一步提高了识别的准确率。
实施例三
图3是本发明实施例三提供的一种二维码识别方法的流程图,本实施例以上述实施例为基础进行优化,在本实施例中,将采用所述当前校正处理函数对所述待识别图像进行图像校正处理优化为:采用当前校正处理函数对所述待识别图像进行旋转校正处理和几何校正处理;
以及,将确定所述待确认校正图像满足所述合理校正条件,优化为:提取所述待确认校正图像中包括的四个角点;获取任一角点与相邻两个角点的第一连线与第二连线,并计算所述第一连线与第二连线之间的夹角;如果计算得到的夹角满足角度阈值条件,则确定所述待确认校正图像满足所述合理校正条件。
相应地,本实施例的方法具体包括如下步骤:
S310、获取目标二维码的待识别图像。
S320、对所述待识别图像进行二值化处理,以形成二值化图像。
S330、将所述二值化图像进行滤噪处理。
S340、从校正处理函数集中选择确定校正处理函数,作为当前校正处理函数。
S350、采用所述当前校正处理函数对所述待识别图像进行旋转校正处理,以及几何校正处理,并将处理结果作为待确认校正图像。
在本实施例中,考虑到待识别图像中包括的目标二维码中既可能包括有旋转失真,又可能包括有几何畸变。为了最大程度的消除目标二维码中出现的失真,所选择确定的当前校正处理函数,既可以对所述待识别图像进行旋转校正处理,也可以对所述待识别图像进行几何校正处理。
其中,可以基于不同算法(典型的,Hough变换法、Radon变换法、最小二乘法以及两点法等)实现对一幅图像的旋转校正,也可以基于不同算法(仿射几何变换或者四叉树法等)实现对一幅图像的几何校正。不同类型的算法,针对不同类型的失真场景,校正效果一般不同。可以基于不同的算法构造不同的校正处理函数,存储于校正处理函数集中,以根据实际的校正效果,选择最适宜的校正处理函数对所述待识别图像进行校正处理。
S360、提取所述待确认校正图像中包括的四个角点。
S370、获取任一角点与相邻两个角点的第一连线与第二连线,并计算所述第一连线与第二连线之间的夹角。
S380、判断计算得到的夹角是否满足角度阈值条件,若是,执行S390;否则,执行S3100。
由于QR码的形状为正方形,如果对该QR码进行了合理的校正处理后,计算得到的上述夹角应该近似为90°,可以设定一个角度阈值条件,例如:90°±2°,如果计算得到的所述夹角满足角度阈值条件,则所述待确认校正图像满足合理校正条件,校正效果符合预期。如果计算得到的所述夹角不满足角度阈值条件,则所述待确认校正图像不满足合理校正条件,需要在校正处理函数集中选择新的校正处理函数重新对待识别图像进行图像校正处理。
S390、在所述待确认校正图像中识别所述目标二维码。
S3100、判断是否达到设定条件,若是,执行S3110;否则,返回执行S340。
在本实施例中,如果没有达到所述设定条件,就要返回执行从校正处理函数集中选择确定校正处理函数,作为当前校正处理函数,以最终获取满足角度阈值条件的待确认校正图像,这是本发明实施例的一个重点。而达到设定条件时(例如,遍历校正处理函数集中的全部校正处理函数),也没有生成满足角度阈值条件的待确认校正图像的情况的发生,并不是我们重点关心的内容。当上述情况发生时,可以采取任何处理策略进行处理,以保证方案的完整性。
S3110、执行预先设定的处理策略。
在本实施例中,所述预先设定的处理策略可以为:从多个待确认校正图像中选择一个校正处理效果最好的图像进行目标二维码的识别;或者重新获取新的目标二维码的待识别图像,并重新执行二维码识别的操作;或者可以采取一定的综合算法对多个待确认校正图像进行处理,生成一个综合校正图像进行目标二维码的识别等,本实施例对此并不进行限制。
本发明实施例的技术方案通过采用当前校正处理函数对所述待识别图像进行旋转校正处理以及几何校正处理,可以最大程度的消除目标二维码中出现的失真,通过提取待确认校正图像中包括的四个角点,获取任一角点与相邻两个角点的第一连线与第二连线,并计算所述第一连线与第二连线之间的夹角;根据该夹角值判断待确认校正图像是否满足合理校正条件的方式,可以简单、高效的验证校正处理函数对待确认校正图像的校正处理效果,实时性好。
在上述各实施例的基础上,获取目标二维码的待识别图像,可以包括:
获取摄像头对目标二维码连续捕捉的至少两张拍摄图像;
按照捕捉顺序在所述至少两张拍摄图像中选取一张图像作为所述待识别图像,将其他图像作为备选识别图像;
在所述待确认校正图像中识别二维码之后,还包括:
如果未在所述待确认校正图像中成功识别所述目标二维码,则在所述备选识别图像中选取新的待识别图像,并重新执行二维码识别操作。
这样设置的好处是:如果仅捕捉一张待识别图像进行后续二维码识别,可能由于抖动等原因造成二维码识别失败。因此,可以获取多张拍摄图像,在一张拍摄图像识别失败后,还可以继续使用备选识别图像重新进行二维码识别,提高了二维码识别的成功率。
实施例四
图4是本发明实施例四提供的一种二维码识别方法的流程图,本实施例以上述实施例为基础进行优化,在本实施例中,将确定所述待确认校正图像满足所述合理校正条件优化为:提取所述待确认校正图像中包括的四个角点;获取相邻的第一角点与第二角点之间的第一连线,以及相邻的第三角点与第四角点之间的第二连线;计算所述第一连线的第一斜率,以及所述第二连线的第二斜率;如果所述第一斜率与所述第二斜率满足斜率阈值条件,则确定所述待确认校正图像满足所述合理校正条件;
以及,所述方法还优选可以包括:如果确定所述待确认校正图像不满足合理校正条件且达到设定条件,则获取与各校正处理函数分别对应的校正处理结果;根据设定综合算法,以及与各校正处理函数分别对应的校正处理结果,生成综合校正图像;在所述综合校正图像中识别所述目标二维码。
相应的,本实施例的方法具体包括如下步骤:
S410、获取目标二维码的待识别图像。
S420、对所述待识别图像进行二值化处理,以形成二值化图像。
S430、将所述二值化图像进行滤噪处理。
S440、从校正处理函数集中选择确定校正处理函数,作为当前校正处理函数。
S450、采用所述当前校正处理函数对所述待识别图像进行旋转校正处理,以及几何校正处理,并将处理结果作为待确认校正图像。
S460、提取所述待确认校正图像中包括的四个角点。
S470、获取相邻的第一角点与第二角点之间的第一连线,以及相邻的第三角点与第四角点之间的第二连线,并计算所述第一连线的第一斜率,以及所述第二连线的第二斜率。
S480、判断所述第一斜率与所述第二斜率是否满足斜率阈值条件,若是,执行S490;否则,执行S4100。
由于QR码的形状为正方形,如果对该QR码进行了合理的校正处理后,针对该QR码计算得到的第一斜率与第二斜率应该近似相等,且近似为1或者近似为0。
基于所述QR码的上述特点,可以确定相应的斜率阈值条件,例如:|第一斜率-第二斜率|≤0.01;第一斜率∈([-0.01,0.01]或者[0.99,1.01]);第二斜率∈([-0.01,0.01]或者[0.99,1.01])等。
S490、在所述待确认校正图像中识别所述目标二维码。
S4100、判断是否达到设定条件,若是,执行S4110;否则,返回执行S440。
S4110、获取与各校正处理函数分别对应的校正处理结果。
S4120、根据设定综合算法,以及与各校正处理函数分别对应的校正处理结果,生成综合校正图像。
在本实施例中,如果确定达到设定条件时(例如,遍历校正处理函数集中的全部校正处理函数),也没有生成满足角度阈值条件的待确认校正图像,则说明不同校正处理函数对该待识别图像处理后生成的待确认校正图像,都没有对该待识别图像进行较好的图像校正处理。因此,可以通过一定的综合算法,将与各校正处理函数分别对应的校正处理结果进行综合,生成综合校正图像。
可选的,可以使用各校正处理结果在同一像素位置的像素值的平均值,作为该像素位置的像素值,也可以为不同的校正处理结果设定不同的权值系数,根据权值系数,确定不同像素位置的像素值等,本实施例对此并不进行限制。
S4130、在所述综合校正图像中识别所述目标二维码。
本发明实施例的技术方案在确定待确认校正图像不满足合理校正条件且达到设定条件时,通过获取与各校正处理函数分别对应的校正处理结果;根据设定综合算法,以及与各校正处理函数分别对应的校正处理结果,生成综合校正图像,并在所述综合校正图像中识别所述目标二维码,可以实现综合多个不同校正处理函数的优点,生成一个综合校正图像用以识别所述目标二维码的技术效果,进一步提高了复杂环境中二维码的识别准确率。
实施例五
在图5中示出了本发明实施例五提供的一种二维码识别装置的结构图。如图5所示,所述装置包括:待识别图像获取模块51、当前校正处理函数选择模块52、图像校正处理模块53、重复执行模块54以及二维码识别模块55。
待识别图像获取模块51,用于获取目标二维码的待识别图像。
当前校正处理函数选择模块52,用于从校正处理函数集中选择确定校正处理函数,作为当前校正处理函数。
图像校正处理模块53,用于采用所述当前校正处理函数对所述待识别图像进行图像校正处理,并将处理结果作为待确认校正图像。
重复执行模块54,用于如果确定所述待确认校正图像不满足合理校正条件,则返回执行从校正处理函数集中重新选择确定校正处理函数的操作,直至达到设定条件。
二维码识别模块55,用于如果确定所述待确认校正图像满足所述合理校正条件,则在所述待确认校正图像中识别所述目标二维码。
本发明实施例从校正处理函数集中选择确定校正处理函数对包括目标二维码的待识别图像进行图像校正处理;在确定该图像校正处理结果不满足合理校正条件时,重新选择确定校正处理函数对该待识别图像进行图像校正处理,直至达到设定条件,实现了当一种校正处理函数对待处理图像的图像校正处理不理想时,能够自适应的使用其他校正处理函数对该待处理图像进行重新处理,特别是当待处理图像的失真类型未知时,可以综合多个不同校正处理函数的优点,自动筛选出一个与待处理图像相匹配的校正处理函数对该待处理图像进行处理的技术效果,进而提高了复杂环境中二维码的识别准确率。
在上述各实施例的基础上,还可以包括:
二值化图像形成单元,用于在获取目标二维码的待识别图像之后,对所述待识别图像进行二值化处理,以形成二值化图像;
滤噪处理单元,用于将所述二值化图像进行滤噪处理。
在上述各实施例的基础上,二值化图像形成单元,具体可以用于:
通过傅里叶变换算法,将RBG格式的所述待识别图像转换为YUV格式的图像;
将所述YUV格式的图像中的U通道以及V通道的数值设定为预设值,以形成灰度化图像;
选取设定分割阈值对所述灰度化图像进行二值化处理。
在上述各实施例的基础上,所述滤噪处理单元,具体可以用于:
获取所述二值化图像中的一个像素点,作为目标像素点;
以所述目标像素点为中心,构造设定大小的二维窗口;
将所述二维窗口内包括的像素点,按照像素灰度值进行排序,并使用排序结果中的中间像素点的灰度值替换所述目标像素点的灰度值;
返回执行获取所述二值化图像中的一个像素点,作为目标像素点的操作,直至完成对所述二值化图像中全部像素点的处理。
在上述各实施例的基础上,图像校正处理模块,具体可以用于:
采用当前校正处理函数对所述待识别图像进行旋转校正处理,和/或几何校正处理。
在上述各实施例的基础上,重复执行模块,具体可以用于:
提取所述待确认校正图像中包括的四个角点;
获取任一角点与相邻两个角点的第一连线与第二连线,并计算所述第一连线与第二连线之间的夹角;
如果计算得到的夹角满足角度阈值条件,则确定所述待确认校正图像满足所述合理校正条件。
在上述各实施例的基础上,重复执行模块,具体可以用于:
提取所述待确认校正图像中包括的四个角点;
获取相邻的第一角点与第二角点之间的第一连线,以及相邻的第三角点与第四角点之间的第二连线;
计算所述第一连线的第一斜率,以及所述第二连线的第二斜率;
如果所述第一斜率与所述第二斜率满足斜率阈值条件,则确定所述待确认校正图像满足所述合理校正条件。
在上述各实施例的基础上,还可以包括,综合处理模块,用于:
如果确定所述待确认校正图像不满足合理校正条件且达到设定条件,则获取与各校正处理函数分别对应的校正处理结果;
根据设定综合算法,以及与各校正处理函数分别对应的校正处理结果,生成综合校正图像;
在所述综合校正图像中识别所述目标二维码。
上述产品可执行本发明任意实施例所提供的二维码识别方法,具备执行方法相应的功能模块和有益效果。
实施例六
在图6中示出了本发明实施例六提供的一种二维码识别系统的结构图。如图6所示,所述系统包括:终端设备61、网络摄像机62、以及云服务器63。
所述终端设备61,用于在成功联网后,生成包括联网信息的目标二维码的待识别图像。
所述网络摄像机62,包括本发明任意实施例所述的二维码识别装置621,还包括:
联网模块622,用于根据识别到的所述目标二维码中包括的所述联网信息,连入所述终端设备所在的网络。
连接建立模块623,用于在成功连入所述网络后,向所述云服务器发送连接建立请求,以与所述云服务器建立通信连接。
所述云服务器63,用于根据所述连接建立请求,建立与所述网络摄像机61的通信连接。
在本实施例中,将本发明任意实施例提供的二维码识别装置,应用于网络摄像机(也称为IP Camera)中。一般来说,网络摄像机在使用时,需要联网,在联网成功后,可以与一个云服务器建立通信连接,进而可以将网络摄像机获取的图像发送至该云服务器进行存储。
一般来说,直接操作网络摄像机进行联网比较复杂(典型的,通过使用网络摄像机发送广播信息的方式联网),一般需要专业人员进行操作。在本实施例中,提出了一种通过网络摄像机扫描二维码的方式,获取联网信息以连接网络。相应的,需要首先使用一个终端设备首先连接网络,在联网成功后,通过设定的应用程序生成与联网信息匹配的目标二维码,进而生成包括联网信息的目标二维码的待识别图像,提供给网络摄像机进行二维码识别。
当网络摄像机通过本发明实施例提供的二维码识别装置识别出所述目标二维码后,可以进而根据识别到的所述目标二维码中包括的所述联网信息,连入所述终端设备所在的网络。
在本实施例的一个可选的实施方式中,网络摄像机识别的二维码格式如下所示:[wifi:[KEYWORD1]:[VALUE1];[KEYWORD2]:[VALUE2];[KEYWORD3]:[VALUE3];;]。
其中,识别的第一个字符串标识是类型,如wifi(wireless-fidelity,无线保真)标识或者wifi配置信息;之后以冒号开始跟随多个键值对;每个键值对以分号分开;最后以两个分号结尾;例如:[wifi:S:ssid;P:12345678;;]。
本发明实施例的技术方案,对于广播联网的方式,不用依赖网络环境和信号质量,联网成功率高;针对用户通过向网络摄像机展示屏幕中的二维码时,终端离网络摄像机镜头的距离很难把握且手拿着终端设备中出现的抖动,而导致图像识别速度降低的问题,通过使用本发明实施例的二维码识别装置,可以实现当一种校正处理函数对待处理图像的图像校正处理不理想时,能够自适应的使用其他校正处理函数对该待处理图像进行重新处理,特别是当待处理图像的失真类型未知时,可以综合多个不同校正处理函数的优点,自动筛选出一个与待处理图像相匹配的校正处理函数对该待处理图像进行处理的技术效果,进而提高了复杂环境中二维码的识别准确率。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。