一种用于动态图像中的二维码识别方法及装置与流程

文档序号:13137560阅读:286来源:国知局
一种用于动态图像中的二维码识别方法及装置与流程
本发明涉及计算机操作系统领域,尤其涉及一种动态图像中的二维码识别方法、装置及显示装置。
背景技术
:现有技术中,随着二维码的产生和普及,信息的快速传播得到了很大的便利。二维码以某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。因此,二维码在信息快速传播过程中得到了极为广泛的应用。现有技术中,通常会将信息以静态元素的形式存储在二维码中,进而使其在数字信息流(如视频播放,电视直播,hdmi物理信号源接入信号)输出时,随数字信息流同时显示出来,用户可利用终端设备通过扫码形式读取上述数字信息流中的二维码,并对其解码后读取存储在二维码中的信息。例如,在电视直播中的购物或新闻等频道,会在屏幕中一定区域中显示二维码,供用户扫码识别,以提供给用户更为丰富的信息。然而,用于显示二维码的区域通常较小,且在数字信息流中,含有二维码的图像以帧为单位在毫秒级的时间内快速切换和轮播展示,不同帧图像中所包含的二维码图像的清晰度或可识别性高低不同,进而导致该二维码的识别会受到一定干扰,二维码识别成功率降低,给用户获取二维码中存储的信息带来不便。技术实现要素:本发明申请提供一种用于显示终端的动态图像中二维码的生成方法,通过将连续多帧内识别到的二维码进行对比,增加二维码的准确率,提高其识别成功率。第一方面,本申请提供一种用于显示终端的动态图像中二维码的生成方法,该方法包括:若截取到的当前帧图像包含二维码,截取当前帧之后的多帧初始图像并判断所述多帧初始图像中是否包含所述二维码,将包含所述二维码的所述多帧初始图像作为目标图像存储;依次统计所述目标图像的二维码中,目标位置上逻辑值1和0的个数,以个数多的逻辑值作为所述目标位置的逻辑值;遍历所述目标位置以生成最终的二维码。进一步的,若所述目标位置上,逻辑值1的个数多于0的个数,则以逻辑值1作为所述目标位置的逻辑值;若所述目标位置上,逻辑值1的个数小于0的个数,则以逻辑值0作为所述目标位置的逻辑值。第二方面,本申请提供用于显示终端的动态图像中二维码的生成装置,包括:目标图像存储模块,用于若截取到的当前帧图像包含二维码,且所述二维码解码失败时,截取当前帧之后的连续多帧初始图像并依次判断所述多帧初始图像中是否包含所述二维码,将包含所述二维码的所述多帧初始图像作为多帧目标图像存储;逻辑值确定模块,用于依次统计所述多帧目标图像的二维码中,同一目标位置上逻辑值1和0的个数,以个数多的逻辑值作为所述目标位置的逻辑值。二维码生成模块,用于遍历所述目标位置以生成最终的二维码。第三方面,本申请提供一种显示装置,该显示装置包括第二方面所述的目标图像存储模块、逻辑值确定模块及二维码生成模块。与现有技术相比,本申请所提出的技术方案的有益技术效果包括:本申请实施例中提供了一种用于显示终端动态图像中的二维码生成方法,当确定当前帧图像中包含二维码时,截取该当前帧图像对该二维码进行识别,若该二维码信息识别失败,则截取当前帧图像之和的若干帧原始图像,并依次判断该若干帧原始图像中是否包含二维码,若包含二维码,则将该帧原始图像作为需要进一步判定的目标图像进行保存,否则将该帧原始图像删除;进而获取保存的目标图像,分别统计该目标图像二维码中,目标位置的逻辑值1和0的个数,当逻辑值1的个数多于逻辑值0的个数,则认为该二维码在该目标位置的逻辑值为1,否则认为该目标位置的逻辑值为0;进而通过上述连续多帧图像的二维码的分析与统计,以生成最终的二维码。通过本申请提供的方法,大大降低了二维码识别过程中的难以识别的可能性,提高了二维码的可识别率及二维码识别准确性,进而方便用户从二维码中正确识别二维码信息。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术,描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例1中提供的用于动态图像中的二维码生成方法的流程示意图;图2为本申请实施例1中提供的用于判断图像中二维码图形的结构示意图;图3为本申请实施例1中提供的用于动态图像中的二维码生成装置的结构示意图;图4为本申请实施例1中提供的显示装置的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清除、完整地描述,显然,所描述的实施例仅仅是发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护范围。下面,通过具体实施例对本申请所示的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。实施例1本申请实施例1提供一种用于显示终端的动态图像中二维码生成方法,图1是本申请实施例给出的一种用于动态图像中的二维码生成方法的流程示意图,如图1所示,该方法包括:步骤s110:若截取到的当前帧图像包含二维码,截取当前帧之后的多帧初始图像并判断该多帧初始图像中是否包含该二维码,将包含该二维码的多帧初始图像作为多帧目标图像存储。进一步的,本申请实施例1中对下述概念做一个简单的说明:当前帧图像,即为动态播放的视频中当前时刻正在显示的图像画面;初始图像,即显示终端截取的连续多帧图像,且该连续多帧原始图像从当前帧的下一帧开始截取,在这些初始图像中不一定会包含需要识别的二维码;目标图像,即从初始图像中判断出的包含二维码的图像,通过对上述截取的连续若干帧初始图像依次判断,确定包含二维码的初始图像,并将其作为目标图像进行保存。优选的,当确定当前帧中包含二维码时,截取该二维码并对其解码,若解码成功,则直接读取并显示该二维码所包含的信息,且不再连续截取当前帧图像之后的多个图像帧,并对该多帧图像进行二维码识别。这是因为,当当前帧图像中包含的二维码能够被解析时,则可直接以该二维码中解码得到的信息作为该二维码中包含的信息,而无需再去截取其他图像进而做比较,这样可节省二维码识别与解码的时间。需要指出的是,若确定当前帧中包含二维码,则通常情况下,其后的连续多帧图像中都会包含二维码;但是若连续截取的原始图像帧数较多,则会出现连续截取的多帧图像中存在大量不包含二维码的图像,具体的,可以理解为,上述截取的所有图像中,当其中某一帧不含有二维码,且从该帧开始,之后的连续帧可能都不会再包含该二维码。需要指出的,图像的截取可以从当前帧开始,也可以从当前帧的下一帧开始。本申请实施例中示例性的以当前帧为截取起始图像,进行详细的说明。示例性的,若当前帧图像为第i帧图像,则截取当前帧及其之后的连续多帧图像作为初始图像,其分别为第i帧,第i+1帧,第i+2帧,……第i+n帧图像,依次判断上述连续多帧初始图像中是否包含二维码,其中,第i帧、第i+1帧、……、第i+m帧均含有二维码(m<n),从第i+m+1帧开始,直至i+n帧结束的连续n-m帧中可能都不会包含二维码。进一步的,上述从当前帧开始截取的第i帧,至第i+n帧图像的n+1帧图像,可以理解为原始图像,而第i帧到第i+m帧的m+1帧可以理解为目标图像。显然,若连续截取的原始图像帧数不多,则截取的原始图像有可能每一帧图像中都包含二维码,则将这些包含二维码的所有原始图像作为目标图像保存。一般情况下,当视频中包含二维码后,从检测到二维码的那一帧(即本申请实施例中的当前帧)之后包含二维码的初始图像应该是连续的,但可能存在某些特殊的情况,如图像清晰度问题导致二维码难以识别等,可能导致某一帧或者多帧识别不出对应的二维码,则确定这些图像帧中不包含二维码,删除对应的图像帧。示例性的,若当前帧图像为第i帧图像,则截取当前帧之后的连续多帧图像作为初始图像,其分别为第i+1帧,第i+2帧,……第i+n帧图像,(n的数值较小)依次判断上述连续多帧初始图像中是否包含二维码;经判断,第i+1帧、……、第i+5帧、第i+9帧、……第i+n帧包含二维码,其中,第i+6帧、第i+7帧、第i+8帧中可能包含二维码,但是由于其清晰度低或者识别度不高等问题,则会导致这3帧初始图像中的二维码难以有效识别,则确定这3帧不包含二维码,进而将这3帧原始图像删除,将剩余的包括当前帧在内的n-2帧图像作为目标图像存储。进一步的,上述原始图像中包含的二维码,与当前帧图像包含的二维码,两者存储的信息并不一定是同一信息,因此,需要将上述目标图像做进一步分析。可选的,对上述已经存储的目标图像做第二次判断,依次判断该目标图像中二维码的尺寸,与当前帧图像中二维码的尺寸是否一致,删除二维码尺寸与当前帧中二维码尺寸不同的图像,从而使该多帧目标图像中对应的二维码识别到的信息一致性更高,提高二维码准确识别率,且同时能够提高二维码识别效率。示例性的,若截取连续x帧图像,对该x帧图像依次判断,得到包含二维码的图像y帧,进而,对该y帧图像做第二次比较与判断,即将除当前帧之外的y-1帧分别与当前帧比较,删除二维码尺寸与当前帧中包含的二维码尺寸不同的图像帧,得到既包含二维码且该二维码尺寸又与当前帧图像中的二维码尺寸相同的z帧图像,进而再对这z帧图像进行处理。优选的,可将上述两个步骤结合为一步,即在判断该原始图像中是否包含二维码时,同时判断该二维码的尺寸是否与当前帧图像包含的二维码的尺寸相同,将不包含二维码或者二维码尺寸不符合标准的原始图像删除,则剩余的原始图像可作为目标图像保存。示例性的,示例性的,若截取连续x1帧图像,同时对该x1帧图像依次进行上述两种判断,得到符合标准的z1帧图像,将这z1帧图像作为目标图像进行保存。进一步的,在截取到的当前帧图像包含二维码前,显示终端间隔固定周期截取当前显示图像,并对该当前显示图像进行灰度化处理,得到灰度图像;进而基于otsu算法对所述灰度图像进行二值化处理,得到二值图像,将该二值图像作为当前帧图像进行分析。当尚未截取到包含二维码的图像前,以时间间隔t截取当前终端的正在播放的显示图像。这是因为,在截取的图像中尚未包含二维码时,不需要对正在播放的视频文件,截取其每一帧图像并判断其是否包含二维码,而只需要每个一个固定的时间周期t,去截取一帧图像,当截取到二维码时,判断该二维码是否可识别并继续本申请实施例给出的方法中的其他步骤,否则,隔一段时间t后重新判断。定期截取图像并判断,能提高二维码识别的效率,减少处理器的运算量,大大简化视频图像二维码识别的运算量。进一步的,将该截取的显示图像进行灰度化处理,得到灰度图像;进一步的,利用otsu(最大类间方差)算法确定灰度图像的最佳阈值。示例性的,otsu算法实现过程如下:对于当前正在处理的灰度图像p,其灰度值的均值为e;在灰度图像p的灰度值范围内任意取值a,通过a值将图像p的灰度值分为两个部分m和n,且m与n满足关系:那么,m与n部分各自的灰度值均值分别为:me和ne。同时,m部分像素个数占灰度图像p全部像素个数的比例为qm,n部分像素个数占灰度图像p全部像素个数的比例为qn,则qm与qn满足数学关系:qm+qn=1(式1-2)根据otsu算法,类间方差值(即icv)的数值计算如下:icv=qm×(em-e)2+qn×(en-e)2(式1-3)进一步的,在灰度值范围内遍历a,得到各个a值所对应的icv的值,icv值最大对于的a的值,即为我们需要的最佳阈值。进一步的,基于上述最佳阈值,对该灰度图像进行二值化处理,得到二值图像。进一步的,基于上述步骤得到的二值图像,根据二维码图像的图像特征性,检测图像中是否存在二维码探测图形。而根据qr二维码编码国际标准定义,二维码的探测图形可以根据图像中黑白块比例满足1:1:3:1:1关系来定位。具体的,图2是本申请实施例中二维码的构成示意图。如图2所示,该二维码包括分别位于左上、右上和左下角的三个方形区域,该方形区域为二维码探测图形,其与位置探测图形分隔符及定位图形一起,共同用于二维码的定位;对于任意二维码而言,其位置都是固定的,但是其大小通常会有所差异。在二维码的扫描过程中,通过探测图形可以对二维码进行定位,也就是找到二维码所在的区域;然后将确定的二维码从该帧二值灰度图像中辨识出来,辨识时以探测二维码图像的最外边沿为连线,进而确定二维码的位置及大小,进而确定该二维码中携带的信息。步骤s120,依次统计该多帧目标图像的二维码中,目标位置上逻辑值1和0的个数,以个数多的逻辑值作为该目标位置的逻辑值。首先,对步骤s120中目标位置的概念做一个解释。二维码,是按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的。在一涨二维码图形上,任一位置均以逻辑值1或0来表示。目标位置,即为二维码中当前时刻正在统计并分析的位置。具体的,对于上述生成的目标图像,依次对每一张目标图像的同一位置(即目标位置)的二值逻辑码进行统计,分别得到该目标位置上逻辑值1和逻辑值0的个数,若该目标位置逻辑值1的个数多于逻辑值0的个数,则确认该目标位置的逻辑值为1,否则若该目标位置逻辑值0的个数多于逻辑值1的个数,则确认该目标位置的逻辑值为0。进而,通过遍历目标图像中所有位置,并对所有位置的逻辑值进行统计并重新确定,从而生成一张新的二维码,并对该二维码进行识别,得到二维码信息。示例性的,对生成的10张目标图像,选择其包含的二维码中4个点((a,b)、(a+1,b)、(a,b+1)、(a+1,b+1))进行示意性说明;该10张目标图像的对应四个点的统计结果如表1所示。表1目标位置(a,b)(a+1,b)(a,b+1)(a+1,b+1)1111020100……………101100最终结果1100如表1所示,分别截取的10张目标图像在上述四个点位置的逻辑值进行统计,其得到的统计结果分别为:10张目标图像所对应的二维码中,点(a,b)处逻辑值1的个数为6个,逻辑值0的个数为4个;(a+1,b)处逻辑值1的个数为8个,逻辑值0的个数为2个;(a,b+1)处逻辑值1的个数为3个,逻辑值0的个数为7个;(a+1,b+1)处逻辑值1的个数为1个,逻辑值0的个数为9个;则最终结果如表1所示:(a,b)逻辑值为1、(a+1,b)逻辑值为1、(a,b+1)逻辑值为0、(a+1,b+1)逻辑值为0。显然,其他位置逻辑值的确定方式与上述四个坐标位置的逻辑值确定方式相同,此处不做过多赘述。进一步的,若上述目标位置处逻辑值1的个数等于逻辑值0的个数,则以逻辑值1作为该目标位置的逻辑值。示例性的,对于截取的10张目标图像,二维码中(x,y)坐标处(即目标位置)逻辑值1的个数为5个,逻辑值0的个数为5个,则确定该位置(x,y)的逻辑值为1。步骤s130,遍历目标位置以生成最终的二维码。通过遍历二维码中所有位置,重新确定二维码所有坐标的逻辑值,并生成新的二维码,将该二维码作为最终确定的二维码,对其扫描并读出其中的二维码消息。本申请实施例中提供了一种用于显示终端动态图像中的二维码识别方法,当确定当前帧图像中包含二维码时,截取该当前帧图像对该二维码进行识别,若该二维码信息识别失败,则截取当前帧图像之和的若干帧原始图像,并依次判断该若干帧原始图像中是否包含二维码,若包含二维码,则将该帧原始图像作为需要进一步判定的目标图像进行保存,否则将该帧原始图像删除;进而获取保存的目标图像,分别统计该目标图像二维码中,目标位置的逻辑值1和0的个数,当逻辑值1的个数多于逻辑值0的个数,则认为该二维码在该目标位置的逻辑值为1,否则认为该目标位置的逻辑值为0;进而通过上述连续多帧图像的二维码的分析与统计,生成最终的二维码。通过本申请提供的方法,大大降低了二维码识别过程中的难以识别的可能性,提高了二维码的可识别率及二维码识别准确性,进而方便用户从二维码中正确识别二维码信息。实施例2本申请实施例2提供一种用于显示终端动态图像中的二维码生成装置,如图3所示,所述二维码生成装置200包括:目标图像存储模块210,用于若截取到的当前帧图像包含二维码,且该二维码解码失败时,截取连续多帧初始图像并依次判断该多帧初始图像中是否包含该二维码,将包含该二维码的多帧初始图像作为多帧目标图像存储。逻辑值确定模块220,用于依次统计该多帧目标图像的二维码中,同一目标位置上逻辑值1和0的个数,以个数多的逻辑值作为该目标位置的逻辑值。二维码生成模块230,用于遍历目标位置以生成最终的二维码。实施例3本申请实施例3还提供了一种显示装置300,如图4所示,显示装置300包括:目标图像存储模块310及逻辑值确定模块320、二维码生成模块330及解码模块340,进一步的,目标图像存储模块310包括图像截取模块311、图像处理模块312、图像判断模块313,逻辑值确定模块320包括逻辑值统计模块321及逻辑值判断模块322。进一步的,图像截取模块311用于视频帧图像的截取,图像处理模块312用于图像帧的灰度化处理及二值化处理,图像判断模块313用于判断图像中是否包含二维码;逻辑值统计模块321用于统计目标图像二维码中目标位置的逻辑值情况,逻辑值判断模块322用于确定该目标位置的逻辑值;二维码生成模块330用于根据逻辑值统计模块321的统计结果及逻辑值判断模块322的确定结果,生成最终用于识别的二维码,解码模块340用于读取二维码信息。进一步的,目标图像存储模块310及逻辑值确定模块320与实施例2中目标图像存储模块210及逻辑值确定模块220所对应的任意技术方案类似,其实现原理和技术效果类似,此处不再赘述。本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。以上具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1