CN107908998B - 二维码解码方法、装置、终端设备及计算机可读存储介质 - Google Patents
二维码解码方法、装置、终端设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN107908998B CN107908998B CN201711219251.9A CN201711219251A CN107908998B CN 107908998 B CN107908998 B CN 107908998B CN 201711219251 A CN201711219251 A CN 201711219251A CN 107908998 B CN107908998 B CN 107908998B
- Authority
- CN
- China
- Prior art keywords
- frame
- decoding
- current
- dimensional code
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1443—Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明属于图像处理技术领域,尤其涉及一种二维码解码方法、装置、终端设备及计算机可读存储介质。所述方法在对当前解码帧解码失败后,采取了间隔取帧的处理方式,即首先确定从所述当前解码帧中识别出的二维码定位符个数,然后根据所述二维码定位符个数确定两个相邻解码帧之间的间隔帧数,最后将与所述当前解码帧相隔所述间隔帧数的图像帧确定为新的当前解码帧,继续进行解码,而且所述间隔帧数与所述二维码定位符个数负相关,如果从当前解码帧中识别出的二维码定位符越少,则与之临近的图像帧解码成功的几率则越小,可以将与之较远的图像帧确定为新的当前解码帧,避免了对解码成功几率不大的图像帧进行逐帧解码,大大减少了解码所需时间。
Description
技术领域
本发明属于图像处理技术领域,尤其涉及一种二维码解码方法、装置、终端设备及计算机可读存储介质。
背景技术
随着银联二维码支付标准的出台,二维码的解码功能已经成为各种支付终端必备的功能,但是某些支付终端的处理器主频较低,处理能力有限,在摄像头采集图像的帧率较高的情况下,可能无法及时从摄像头中读取有效图像,导致解码过程耗时过长。
发明内容
有鉴于此,本发明实施例提供了一种二维码解码方法、装置及终端设备,以解决现有技术中在摄像头采集图像的帧率较高的情况下,可能无法及时从摄像头中读取有效图像,导致解码过程耗时过长的问题。
本发明实施例的第一方面提供了一种二维码解码方法,可以包括:
从目标摄像头采集的图像帧中选取一个图像帧作为当前解码帧;
对所述当前解码帧进行解码,得到解码结果;
若所述解码结果为失败,则确定从所述当前解码帧中识别出的二维码定位符个数;
根据所述二维码定位符个数确定两个相邻解码帧之间的间隔帧数,所述间隔帧数与所述二维码定位符个数负相关;
将与所述当前解码帧相隔所述间隔帧数的图像帧确定为新的当前解码帧,然后返回执行所述对所述当前解码帧进行解码的步骤,直至解码成功为止。
本发明实施例的第二方面提供了一种二维码解码装置,可以包括:
帧选取模块,用于从目标摄像头采集的图像帧中选取一个图像帧作为当前解码帧;
解码模块,用于对所述当前解码帧进行解码,得到解码结果;
定位符个数确定模块,用于若所述解码结果为失败,则确定从所述当前解码帧中识别出的二维码定位符个数;
间隔帧数确定模块,用于根据所述二维码定位符个数确定两个相邻解码帧之间的间隔帧数,所述间隔帧数与所述二维码定位符个数负相关;
解码帧确定模块,用于将与所述当前解码帧相隔所述间隔帧数的图像帧确定为新的当前解码帧。
本发明实施例的第三方面提供了一种二维码解码终端设备,可以包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以上任一种二维码解码方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以上任一种二维码解码方法的步骤。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例在对当前解码帧解码失败后,采取了间隔取帧的处理方式,即首先确定从所述当前解码帧中识别出的二维码定位符个数,然后根据所述二维码定位符个数确定两个相邻解码帧之间的间隔帧数,最后将与所述当前解码帧相隔所述间隔帧数的图像帧确定为新的当前解码帧,继续进行解码,而且所述间隔帧数与所述二维码定位符个数负相关,如果从当前解码帧中识别出的二维码定位符越多,则与之临近的图像帧解码成功的几率则越大,可以取较小的间隔帧数,将与之较为接近的图像帧确定为新的当前解码帧,而如果从当前解码帧中识别出的二维码定位符越少,则与之临近的图像帧解码成功的几率则越小,可以取较大的间隔帧数,将与之较远的图像帧确定为新的当前解码帧,避免了对解码成功几率不大的图像帧进行逐帧解码,大大减少了解码所需时间。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的二维码解码方法的示意流程图;
图2为本发明实施例中确定第一帧数的示意流程图;
图3为本发明实施例中多帧融合解码的示意流程图;
图4为本发明实施例提供的二维码解码装置的示意框图;
图5是本发明实施例提供的二维码解码终端设备的示意框图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,是本发明实施例提供的一种二维码解码方法的示意流程图,所述方法可以包括:
步骤S101、从目标摄像头采集的图像帧中选取一个图像帧作为当前解码帧。
在本实施例中,可以从目标摄像头采集的图像帧中任意选取一个图像帧作为当前解码帧,例如,可以将目标摄像头采集的第一个图像帧作为当前解码帧。但是,考虑到初始采集的图像帧可能因为拍摄角度不佳或者尚未完成对焦等原因导致图像较为模糊,使用这些图像帧进行解码,解码成功的概率往往较低,因此,本实施例中优选丢弃初始采集的若干帧图像,也即选取与所述目标摄像头采集的第一个图像帧相隔预设的第一帧数的图像帧,然后将选取的图像帧确定为所述当前解码帧。所述第一帧数可以根据实际情况进行设置,例如可以将其设置为4,本实施例对此不作具体限定。
步骤S102、对所述当前解码帧进行解码,得到解码结果。
具体的二维码解码过程是本领域较为常规的技术,在本实施例中,可以采用现有技术中的各种常规解码方法,本实施例对此不再赘述。
步骤S103、判断所述解码结果是否为成功。
若所述解码结果为成功,则执行步骤S104,若所述解码结果为失败,则执行步骤S105及后续步骤。
步骤S104、结束本次解码过程。
步骤S105、确定从所述当前解码帧中识别出的二维码定位符个数。
所述二维码定位符是由黑白相间的正方形嵌套组成的图案,一个二维码中含有3个定位符,分别位于二维码左上角、右上角、左下角,目的是为了确定二维码的大小和位置。
由于解码帧的图像质量参差不齐,从当前解码帧中可能识别出全部的3个定位符,也可能只识别出1个或2个定位符,甚至无法识别出定位符。
步骤S106、根据所述二维码定位符个数确定两个相邻解码帧之间的间隔帧数。
所述间隔帧数与所述二维码定位符个数负相关,即识别出的二维码定位符个数越多,则所述间隔帧数应当设置的越小,识别出的二维码定位符个数越少,则所述间隔帧数应当设置的越大。
例如,若所述二维码定位符个数为两个以上,则将所述间隔帧数确定为0,也即不进行间隔取帧,在当前解码帧解码失败后直接连续取帧进行解码;若所述二维码定位符个数为一个,则将所述间隔帧数确定为1,即在当前解码帧解码失败后间隔一帧后再取帧进行解码,可选地,还可以根据累计解码失败的次数来对所述间隔帧数进行调整,若累计解码失败次数大于2时,则可将所述间隔帧数确定为2,并依次类推,不断增大所述间隔帧数,但一般不宜超过所述第一帧数的一半;若所述二维码定位符个数为0,则根据所述第一帧数确定所述间隔帧数,可以将其设置为所述第一帧数的一半,有效过滤无效帧。
需要注意的是,以上仅仅是所述间隔帧数设置的一个实例,还可以根据实际情况选择其它的设置方式,本实施例对此不作具体限定。
步骤S107、将与所述当前解码帧相隔所述间隔帧数的图像帧确定为新的当前解码帧。
在步骤S107之后,返回执行步骤S102及其后续步骤,直至解码成功为止。
综上所述,本发明实施例在对当前解码帧解码失败后,采取了间隔取帧的处理方式,即首先确定从所述当前解码帧中识别出的二维码定位符个数,然后根据所述二维码定位符个数确定两个相邻解码帧之间的间隔帧数,最后将与所述当前解码帧相隔所述间隔帧数的图像帧确定为新的当前解码帧,继续进行解码,而且所述间隔帧数与所述二维码定位符个数负相关,如果从当前解码帧中识别出的二维码定位符越多,则与之临近的图像帧解码成功的几率则越大,可以取较小的间隔帧数,将与之较为接近的图像帧确定为新的当前解码帧,而如果从当前解码帧中识别出的二维码定位符越少,则与之临近的图像帧解码成功的几率则越小,可以取较大的间隔帧数,将与之较远的图像帧确定为新的当前解码帧,避免了对解码成功几率不大的图像帧进行逐帧解码,大大减少了解码所需时间。
优选地,为了减少解码初始采集的图像帧可能耗费的时间,进一步缩短解码的总时长,本实施例在上述步骤S101之前,还可以通过如图2所示的过程来确定所述第一帧数:
步骤S201、初始化预设的计数值和累加值。
在本实施例中,可以使用COUNT表示所述计数值,使用SUM表示所述累加值,则初始化过程可以表示为:COUNT=0,SUM=0。
步骤S202、获取所述目标摄像头在预设的时长内采集的图像帧。
所述预设的时长可以根据实际情况进行设置,例如,可以将其设置为1秒、2秒或者3秒等等,本实施例对此不作具体限定。但是,应保证可以采集足够的图像帧样本,避免因图像帧样本采集过少而无法成功解码。
步骤S203、对采集的所述图像帧按照采集时的先后顺序依次进行解码,直至解码成功为止,然后确定在解码成功的图像帧之前解码过的图像帧个数。
在本实施中,可以使用N表示在解码成功的图像帧之前解码过的图像帧个数,也即解码失败的图像帧个数。
步骤S204、将所述计数值增加一个计数单位。
即COUNT=COUNT+1。
步骤S205、将确定的所述图像帧个数累加入所述累加值。
即SUM=SUM+N。
步骤S206、判断所述计数值是否小于预设的统计次数。
在本实施例中,可以使用M表示所述统计次数,所述统计次数可以根据实际情况进行设置,例如,可以将其设置为1000次、2000次或者3000次等等,本实施例对此不作具体限定。但是,为了保证最终结果的精确性,所述统计次数不宜设置过低。
若所述计数值小于所述统计次数,即COUNT<M,则返回执行步骤S202及其后续步骤,直至所述计数器等于所述统计次数为止。
若所述计数值等于所述统计次数,即COUNT=M,则执行步骤S207及其后续步骤。
步骤S207、计算所述累加值与所述统计次数的比值。
在本实施例中,可以使用P表示所述比值,则P=SUM/M。
步骤S208、根据所述比值以及预设的第一对应关系确定所述第一帧数。
所述第一对应关系为所述比值与所述第一帧数之间的对应关系,所述第一对应关系可以根据实际情况进行设置,例如,所述第一帧数可以为所述比值P取整后的值,即可以通过对所述比值P进行四舍五入、向上取整或者向下取整等处理来得到所述第一帧数。
本实施例通过事先进行大量的样本计算得到的所述第一帧数,较之仅仅凭借使用者的主观猜测去进行设置更为客观准确,更加符合所述目标摄像头的图像采集特点,进一步地减少了解码耗费的时间。
上述步骤S102中采用了现有技术中常用的解码方法来进行解码,但目前的解码方法一般只是孤立地对各个解码帧进行解码,解码成功率一般较低,因此,在本实施例中,优选采用如图3所示的多帧融合的解码方式:
步骤S301、计算所述当前解码帧的清晰度和灰度值矩阵。
在无参考图像的质量评价中,图像的清晰度是衡量图像质量优劣的重要指标,它能够较好的与人的主观感受相对应,图像的清晰度不高表现出图像的模糊。在本实施例中,可以使用Brenner梯度函数、Tenengrad梯度函数、Laplacian梯度函数、灰度方差函数等方法计算清晰度,本实施例对此不作具体限定。
所述灰度值矩阵是指由图像中的各个像素点的灰度值所构成的矩阵。
步骤S302、判断所述当前解码帧是否为第一个解码帧。
若所述当前解码帧为第一个解码帧,则执行步骤S303,若所述当前解码帧不是第一个解码帧,则执行步骤S304及其后续步骤。
步骤S303、根据所述当前解码帧的灰度值矩阵对所述当前解码帧进行解码。
一般地,可以先对灰度值矩阵进行二值化处理,然后对得到的二进制码流进行解码。
步骤S304、根据参考清晰度和所述当前解码帧的清晰度计算参考灰度值矩阵的第一权重系数和所述当前解码帧的灰度值矩阵的第二权重系数。
所述参考清晰度为所述当前解码帧的上一个解码帧的清晰度,所述参考灰度值矩阵为所述当前解码帧的上一个解码帧的灰度值矩阵。
在本实施例中,权值系数与清晰度之间是正相关的关系,若所述参考清晰度大于所述当前解码帧的清晰度,则所述第一权重系数应大于所述第二权重系数,反之,若所述参考清晰度小于所述当前解码帧的清晰度,则所述第一权重系数应小于所述第二权重系数。
例如,若所述参考清晰度为L1,所述当前解码帧的清晰度为L2,则可以确定所述第一权重系数为L1/(L1+L2),所述第二权重系数为L2/(L1+L2)。
步骤S305、根据所述第一权重系数、所述第二权重系数、所述参考灰度值矩阵和所述当前解码帧的灰度值矩阵计算加权后的灰度值矩阵。
例如,可以使用所述第一权重系数对所述参考灰度值矩阵加权,使用所述第二权重系数对所述当前解码帧的灰度值矩阵加权,然后对两者求和,得到所述加权后的灰度值矩阵。
步骤S306、根据所述加权后的灰度值矩阵对所述当前解码帧进行解码。
具体的解码方式与步骤S303类似,具体可参见步骤S303中的说明,本实施例对此不再赘述。
以上是对两个解码帧融合进行解码,以此类推,还可以对两个以上的解码帧融合进行解码,具体选择哪种多帧融合方式,可以根据实际情况设置。通过上述的多帧融合的解码方式,将上一个解码帧的信息加权到当前解码帧的信息中,通过两者的融合来进行解码,大大提高了二维码解码的速度和准确度。
如图4所示,是本发明实施例提供的一种二维码解码装置的示意框图,所述装置可以包括:
帧选取模块401,用于从目标摄像头采集的图像帧中选取一个图像帧作为当前解码帧;
解码模块402,用于对所述当前解码帧进行解码,得到解码结果;
定位符个数确定模块403,用于若所述解码结果为失败,则确定从所述当前解码帧中识别出的二维码定位符个数;
间隔帧数确定模块404,用于根据所述二维码定位符个数确定两个相邻解码帧之间的间隔帧数,所述间隔帧数与所述二维码定位符个数负相关;
解码帧确定模块405,用于将与所述当前解码帧相隔所述间隔帧数的图像帧确定为新的当前解码帧。
进一步地,所述帧选取模块可以包括:
间隔取帧单元,用于选取与所述目标摄像头采集的第一个图像帧相隔预设的第一帧数的图像帧,然后将选取的图像帧确定为所述当前解码帧。
进一步地,所述二维码解码装置还可以包括:
初始化模块,用于初始化预设的计数值和累加值;
图像帧获取模块,用于获取所述目标摄像头在预设的时长内采集的图像帧;
图像帧数确定模块,用于对采集的所述图像帧按照采集时的先后顺序依次进行解码,直至解码成功为止,然后确定在解码成功的图像帧之前解码过的图像帧个数;
计数模块,用于将所述计数值增加一个计数单位;
累加模块,用于将确定的所述图像帧个数累加入所述累加值;
比值计算模块,用于计算所述累加值与所述统计次数的比值;
第一帧数确定模块,用于根据所述比值以及预设的第一对应关系确定所述第一帧数,所述第一对应关系为所述比值与所述第一帧数之间的对应关系。
进一步地,所述间隔帧数确定模块可以包括:
第一间隔确定单元,用于若所述二维码定位符个数为两个以上,则将所述间隔帧数确定为0;
第二间隔确定单元,用于若所述二维码定位符个数为一个,则将所述间隔帧数确定为1;
第三间隔确定单元,用于若所述二维码定位符个数为0,则根据所述第一帧数确定所述间隔帧数。
进一步地,所述解码模块可以包括:
解码帧计算单元,用于计算所述当前解码帧的清晰度和灰度值矩阵;
第一解码单元,用于若所述当前解码帧为第一个解码帧,则根据所述当前解码帧的灰度值矩阵对所述当前解码帧进行解码;
权重系数计算单元,用于若所述当前解码帧不是第一个解码帧,则根据参考清晰度和所述当前解码帧的清晰度计算参考灰度值矩阵的第一权重系数和所述当前解码帧的灰度值矩阵的第二权重系数,所述参考清晰度为所述当前解码帧的上一个解码帧的清晰度,所述参考灰度值矩阵为所述当前解码帧的上一个解码帧的灰度值矩阵;
灰度值矩阵加权单元,用于根据所述第一权重系数、所述第二权重系数、所述参考灰度值矩阵和所述当前解码帧的灰度值矩阵计算加权后的灰度值矩阵;
第二解码单元,用于根据所述加权后的灰度值矩阵对所述当前解码帧进行解码。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
应理解,上述各个实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图5是本发明一实施例提供的二维码解码终端设备的示意框图。如图5所示,该实施例的二维码解码终端设备5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52。所述处理器50执行所述计算机程序52时实现上述各个二维码解码方法实施例中的步骤,例如图1所示的步骤S101至步骤S107。或者,所述处理器50执行所述计算机程序52时实现上述各装置实施例中各模块/单元的功能,例如图4所示模块401至模块405的功能。
示例性的,所述计算机程序52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序52在所述二维码解码终端设备5中的执行过程。例如,所述计算机程序52可以被分割成帧选取模块、解码模块、定位符个数确定模块、间隔帧数确定模块和解码帧确定模块等等。
所述二维码解码终端设备5可以是手机、平板电脑、桌上型计算机、笔记本及云端服务器等计算设备。所述二维码解码终端设备可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是二维码解码终端设备5的示例,并不构成对二维码解码终端设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述二维码解码终端设备5还可以包括输入输出设备、网络接入设备、总线等。
所述处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述二维码解码终端设备5的内部存储单元,例如二维码解码终端设备5的硬盘或内存。所述存储器51也可以是所述二维码解码终端设备5的外部存储设备,例如所述二维码解码终端设备5上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述二维码解码终端设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述二维码解码终端设备5所需的其它程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种二维码解码方法,其特征在于,包括:
从目标摄像头采集的图像帧中选取一个图像帧作为当前解码帧;
对所述当前解码帧进行解码,得到解码结果;
若所述解码结果为失败,则确定从所述当前解码帧中识别出的二维码定位符个数;
根据所述二维码定位符个数确定两个相邻解码帧之间的间隔帧数,所述间隔帧数与所述二维码定位符个数负相关;
将与所述当前解码帧相隔所述间隔帧数的图像帧确定为新的当前解码帧,然后返回执行所述对所述当前解码帧进行解码的步骤,直至解码成功为止。
2.根据权利要求1所述的二维码解码方法,其特征在于,所述从目标摄像头采集的图像帧中选取一个图像帧作为当前解码帧包括:
选取与所述目标摄像头采集的第一个图像帧相隔预设的第一帧数的图像帧,然后将选取的图像帧确定为所述当前解码帧。
3.根据权利要求2所述的二维码解码方法,其特征在于,在选取与所述目标摄像头采集的第一个图像帧相隔预设的第一帧数的图像帧之前,还包括:
初始化预设的计数值和累加值;
获取所述目标摄像头在预设的时长内采集的图像帧;
对采集的所述图像帧按照采集时的先后顺序依次进行解码,直至解码成功为止,然后确定在解码成功的图像帧之前解码过的图像帧个数;
将所述计数值增加一个计数单位;
将确定的所述图像帧个数累加入所述累加值;
若所述计数值小于预设的统计次数,则返回执行所述获取所述目标摄像头在预设的时长内采集的图像帧的步骤,直至所述计数值等于所述统计次数为止;
计算所述累加值与所述统计次数的比值;
根据所述比值以及预设的第一对应关系确定所述第一帧数,所述第一对应关系为所述比值与所述第一帧数之间的对应关系。
4.根据权利要求2所述的二维码解码方法,其特征在于,所述根据所述二维码定位符个数确定两个相邻解码帧之间的间隔帧数包括:
若所述二维码定位符个数为两个以上,则将所述间隔帧数确定为0;
若所述二维码定位符个数为一个,则将所述间隔帧数确定为1;
若所述二维码定位符个数为0,则根据所述第一帧数确定所述间隔帧数。
5.根据权利要求1至4中任一项所述的二维码解码方法,其特征在于,所述对所述当前解码帧进行解码包括:
计算所述当前解码帧的清晰度和灰度值矩阵;
若所述当前解码帧为第一个解码帧,则根据所述当前解码帧的灰度值矩阵对所述当前解码帧进行解码;
若所述当前解码帧不是第一个解码帧,则根据参考清晰度和所述当前解码帧的清晰度计算参考灰度值矩阵的第一权重系数和所述当前解码帧的灰度值矩阵的第二权重系数,所述参考清晰度为所述当前解码帧的上一个解码帧的清晰度,所述参考灰度值矩阵为所述当前解码帧的上一个解码帧的灰度值矩阵;
根据所述第一权重系数、所述第二权重系数、所述参考灰度值矩阵和所述当前解码帧的灰度值矩阵计算加权后的灰度值矩阵;
根据所述加权后的灰度值矩阵对所述当前解码帧进行解码。
6.一种二维码解码装置,其特征在于,包括:
帧选取模块,用于从目标摄像头采集的图像帧中选取一个图像帧作为当前解码帧;
解码模块,用于对所述当前解码帧进行解码,得到解码结果;
定位符个数确定模块,用于若所述解码结果为失败,则确定从所述当前解码帧中识别出的二维码定位符个数;
间隔帧数确定模块,用于根据所述二维码定位符个数确定两个相邻解码帧之间的间隔帧数,所述间隔帧数与所述二维码定位符个数负相关;
解码帧确定模块,用于将与所述当前解码帧相隔所述间隔帧数的图像帧确定为新的当前解码帧。
7.根据权利要求6所述的二维码解码装置,其特征在于,还包括:
初始化模块,用于初始化预设的计数值和累加值;
图像帧获取模块,用于获取所述目标摄像头在预设的时长内采集的图像帧;
图像帧数确定模块,用于对采集的所述图像帧按照采集时的先后顺序依次进行解码,直至解码成功为止,然后确定在解码成功的图像帧之前解码过的图像帧个数;
计数模块,用于将所述计数值增加一个计数单位;
累加模块,用于将确定的所述图像帧个数累加入所述累加值;
比值计算模块,用于计算所述累加值与预设的统计次数的比值;
第一帧数确定模块,用于根据所述比值以及预设的第一对应关系确定第一帧数,所述第一对应关系为所述比值与所述第一帧数之间的对应关系;
所述帧选取模块包括:
间隔取帧单元,用于选取与所述目标摄像头采集的第一个图像帧相隔所述第一帧数的图像帧,然后将选取的图像帧确定为所述当前解码帧。
8.根据权利要求6所述的二维码解码装置,其特征在于,所述解码模块包括:
解码帧计算单元,用于计算所述当前解码帧的清晰度和灰度值矩阵;
第一解码单元,用于若所述当前解码帧为第一个解码帧,则根据所述当前解码帧的灰度值矩阵对所述当前解码帧进行解码;
权重系数计算单元,用于若所述当前解码帧不是第一个解码帧,则根据参考清晰度和所述当前解码帧的清晰度计算参考灰度值矩阵的第一权重系数和所述当前解码帧的灰度值矩阵的第二权重系数,所述参考清晰度为所述当前解码帧的上一个解码帧的清晰度,所述参考灰度值矩阵为所述当前解码帧的上一个解码帧的灰度值矩阵;
灰度值矩阵加权单元,用于根据所述第一权重系数、所述第二权重系数、所述参考灰度值矩阵和所述当前解码帧的灰度值矩阵计算加权后的灰度值矩阵;
第二解码单元,用于根据所述加权后的灰度值矩阵对所述当前解码帧进行解码。
9.一种二维码解码终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的二维码解码方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的二维码解码方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711219251.9A CN107908998B (zh) | 2017-11-28 | 2017-11-28 | 二维码解码方法、装置、终端设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711219251.9A CN107908998B (zh) | 2017-11-28 | 2017-11-28 | 二维码解码方法、装置、终端设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107908998A CN107908998A (zh) | 2018-04-13 |
CN107908998B true CN107908998B (zh) | 2020-11-03 |
Family
ID=61849228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711219251.9A Active CN107908998B (zh) | 2017-11-28 | 2017-11-28 | 二维码解码方法、装置、终端设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107908998B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108960384B (zh) * | 2018-06-07 | 2020-04-28 | 阿里巴巴集团控股有限公司 | 一种图形码的解码方法及客户端 |
CN109711223A (zh) * | 2018-12-28 | 2019-05-03 | 福州符号信息科技有限公司 | 一种提升qr码解码率方法及设备 |
CN111507120A (zh) * | 2019-01-31 | 2020-08-07 | 北京骑胜科技有限公司 | 二维码定位框识别方法、装置、电子设备及存储介质 |
CN110738067B (zh) * | 2019-09-30 | 2023-05-23 | 百富计算机技术(深圳)有限公司 | 提升扫码效率的方法及装置 |
CN113935352A (zh) * | 2020-06-29 | 2022-01-14 | 比亚迪股份有限公司 | 乘车二维码的扫描解码方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581567A (zh) * | 2012-07-31 | 2014-02-12 | 国际商业机器公司 | 可视编码序列处理方法及其***、可视编码序列播放及其*** |
CN103955670A (zh) * | 2014-04-22 | 2014-07-30 | 广州宽度信息技术有限公司 | 一种动态识别采集真知码的方法 |
CN106372556A (zh) * | 2016-08-30 | 2017-02-01 | 西安小光子网络科技有限公司 | 一种光标签的识别方法 |
CN106846670A (zh) * | 2016-12-27 | 2017-06-13 | 福建瑞之付微电子有限公司 | 一种应用于pos端的条码识读方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8851378B2 (en) * | 2009-09-24 | 2014-10-07 | Ebay Inc. | System and method for recognizing deformed linear barcodes from a stream of varied-focus video frames |
US9189722B2 (en) * | 2014-03-24 | 2015-11-17 | Cellum Innovacios Es Szolgal Tato Zrt | Systems and methods for motion two dimensional codes |
-
2017
- 2017-11-28 CN CN201711219251.9A patent/CN107908998B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581567A (zh) * | 2012-07-31 | 2014-02-12 | 国际商业机器公司 | 可视编码序列处理方法及其***、可视编码序列播放及其*** |
CN103955670A (zh) * | 2014-04-22 | 2014-07-30 | 广州宽度信息技术有限公司 | 一种动态识别采集真知码的方法 |
CN106372556A (zh) * | 2016-08-30 | 2017-02-01 | 西安小光子网络科技有限公司 | 一种光标签的识别方法 |
CN106846670A (zh) * | 2016-12-27 | 2017-06-13 | 福建瑞之付微电子有限公司 | 一种应用于pos端的条码识读方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107908998A (zh) | 2018-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107908998B (zh) | 二维码解码方法、装置、终端设备及计算机可读存储介质 | |
CN111950723B (zh) | 神经网络模型训练方法、图像处理方法、装置及终端设备 | |
CN110598558B (zh) | 人群密度估计方法、装置、电子设备及介质 | |
CN108337551B (zh) | 一种屏幕录制方法、存储介质及终端设备 | |
CN109064504B (zh) | 图像处理方法、装置和计算机存储介质 | |
CN112135140B (zh) | 视频清晰度识别方法、电子设备及存储介质 | |
CN108924427A (zh) | 一种摄像机聚焦方法、装置以及摄像机 | |
CN109035257B (zh) | 人像分割方法、装置及设备 | |
CN111368587B (zh) | 场景检测方法、装置、终端设备及计算机可读存储介质 | |
CN111131688B (zh) | 一种图像处理方法、装置及移动终端 | |
CN111080654B (zh) | 图像的病变区域分割方法、装置及服务器 | |
CN111079764A (zh) | 一种基于深度学习的低照度车牌图像识别方法及装置 | |
CN111311482A (zh) | 背景虚化方法、装置、终端设备及存储介质 | |
WO2014070273A1 (en) | Recursive conditional means image denoising | |
CN110830808A (zh) | 一种视频帧重构方法、装置及终端设备 | |
CN111311481A (zh) | 背景虚化方法、装置、终端设备及存储介质 | |
CN113689373A (zh) | 图像处理方法、装置、设备及计算机可读存储介质 | |
CN114140481A (zh) | 一种基于红外图像的边缘检测方法、装置 | |
CN111222446B (zh) | 人脸识别方法、人脸识别装置及移动终端 | |
CN108765503B (zh) | 一种肤色检测方法、装置及终端 | |
CN111311610A (zh) | 图像分割的方法及终端设备 | |
CN107945137B (zh) | 人脸检测方法、电子设备及存储介质 | |
CN111083494A (zh) | 一种视频编码方法、装置及终端设备 | |
CN113422956B (zh) | 一种图像编码方法、装置、电子设备及存储介质 | |
CN113438386B (zh) | 一种应用于视频处理的动静判定方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |