CN112163655B - 一种动态隐式二维码及其生成和检测方法及设备 - Google Patents
一种动态隐式二维码及其生成和检测方法及设备 Download PDFInfo
- Publication number
- CN112163655B CN112163655B CN202011060340.5A CN202011060340A CN112163655B CN 112163655 B CN112163655 B CN 112163655B CN 202011060340 A CN202011060340 A CN 202011060340A CN 112163655 B CN112163655 B CN 112163655B
- Authority
- CN
- China
- Prior art keywords
- dimensional code
- image
- dynamic
- sub
- information matrix
- 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
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06037—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06046—Constructional details
- G06K19/06103—Constructional details the marking being embedded in a human recognizable image, e.g. a company logo with an embedded two-dimensional code
-
- 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/1426—Multi-level 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)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开的一方面涉及一种动态隐式二维码,包括帧序列,该帧序列包括基于图像的两个或更多个连续图像帧的循环,并且该图像包括与二维码信息矩阵的元素对应的子区域;以及二维码位置检测符,其中,该图像的每个子区域的光度信息在该帧序列的两个或更多个连续图像帧之间的变化基于二维码信息矩阵的对应元素的值。本公开的其他方面涉及此类动态隐式二维码的生成和检测方法、设备以及计算机可读存储介质等。
Description
技术领域
本申请一般涉及二维码,尤其涉及一种动态隐式二维码及其生成和检测。
背景技术
二维码(QR code)又称为二维条码,全称是快速响应二维码(Quick Responsecode)。二维码一般利用以某种特定的几何图形按一定规律在平面(二维方向)上分布的黑白相间的图形来记录数据符号信息。在代码编制上,二维码巧妙地利用了构成计算机内部逻辑基础的由“0”、“1”组成的比特流的概念,使用若干个与二进制相对应的几何图形来以上述方式表示文字数值等信息,并通过图像输入设备或光电扫描设备自动识读以实现信息自动处理。二维码一般具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时,二维码还可具有对不同行的信息的自动识别功能、及处理图形旋转变化点的功能。
二维码的发明起源自上世纪九十年代,并迅速成为一种在库存跟踪和交通、制造、零售行业广泛使用的识别方法。如今,由于移动智能设备的普及,以及二维码具有能够快速解码和访问在线资源并具有高容量等特性,二维码现已被广泛应用于各种各样的应用程序中。例如,人们可以通过二维码访问网站并接入支付***,发布信息的社交网络,启动电话,复制视频链接等。这种多功能性使它们在任何行业中都是一个有价值的工具。
但是,二维码的重要缺陷之一是其对宣传设计美学的影响。一方面来说,信息在经过二维码处理之后,用户无法利用视觉直接从二维码中获取任何信息,而必须使用专门的二维码扫描软件对二维码进行解码才能获知其中记录的信息。另一方面,传统二维码通常由黑白两色的格状码块组成,单调的颜色和形状严重影响了其在广告设计等宣传手段中与其他视觉信息(例如,品牌商标)的融合。
虽然目前已有一些彩色二维码,例如智能终端上各种常用APP中的个人信息二维码等,但是这些彩色二维码既没有显著改变二维码原来的形状结构,也没有在美感方面有显著提升。
另一些方案将缩小后的商标图片嵌入进二维码中心部位中,此设计一方面直接减少了二维码信息储存量,另一方面样式单一,也并没有将两者有机的结合。
除此之外,也有一些方案试图直接将彩色图片融合到二维码的背景中。虽然此类方案与前两类设计方案相比能提供更完整的图片信息,但是图片上密布黑色格状或辐射状码块或码点,从美观角度上来说尚有欠缺。
发明内容
本公开的一方面涉及一种动态隐式二维码,包括帧序列,所述帧序列包括基于图像的两个或更多个连续图像帧的循环,并且所述图像包括与二维码信息矩阵的元素对应的子区域;以及二维码位置检测符,其中,所述图像的每个子区域的光度信息在所述帧序列的所述两个或更多个连续图像帧之间的变化基于所述二维码信息矩阵的对应元素的值。
所述图像为正方形并且其像素尺寸大于或等于所述二维码信息矩阵的尺寸;并且所述二维码信息矩阵中的每个元素在所述图像中有至少一个或多个对应的子区域。
根据进一步的示例性实施例,其中,所述图像的所述多个子区域与所述二维码信息矩阵中对应行与列的元素一一对应。
根据一示例性实施例,所述二维码信息矩阵的元素包括第一值和第二值,并且当所述二维码信息矩阵中对应的元素为第一值时,所述图像的对应子区域的光度信息在所述两个或更多个连续图像帧之间发生第一种变化;并且当所述二维码信息矩阵中对应的元素为第二值时,使所述图像的对应子区域的光度信息在所述两个或更多个连续图像帧之间发生第二种变化。
根据进一步的示例性实施例,所述第一种变化包括线性渐增,并且所述第二种变化包括线性渐减。
根据一示例性实施例,所述帧序列被配置为动图或短视频。
根据进一步的示例性实施例,所述动态隐式二维码被嵌入图像、文本或媒体之中。
本公开的另一方面涉及一种生成动态隐式二维码的方法,包括获取与要包含在二维码中的信息有关的数据;基于所述数据根据编码规则生成二维码信息矩阵,所述二维码信息矩阵包括多行多列的元素;获取要显示的图像;对所述图像进行预处理以使得经预处理的图像至少包括与所述二维码信息矩阵的每个元素对应的子区域;基于所述二维码信息矩阵对所述图像的光度信息进行处理以生成两个或更多个图像帧,其中所述两个或更多个图像帧的对应子区域的光度信息的变化基于所述二维码信息矩阵的对应元素的值;以及基于所述两个或多个图像帧生成包括二维码位置检测符的动态隐式二维码。
根据一示例性实施例,对所述图像进行预处理以使得经预处理的图像至少包括与所述二维码信息矩阵的元素对应的子区域包括将所述图像调整为正方形并使得经调整的图像的像素尺寸大于或等于所述二维码信息矩阵的尺寸;以及将经调整的图像划分为多个子区域以使得所述二维码信息矩阵中的每个元素在所述经调整的图像中有至少一个或多个对应的子区域。
根据进一步的实施例,所述经调整的图像的所述多个子区域与所述二维码信息矩阵中对应行与列的元素一一对应。
根据一示例性实施例,所述二维码信息矩阵的元素包括第一值和第二值,并且基于所述二维码信息矩阵对所述图像的光度信息进行处理以生成两个或更多个图像帧包括当所述二维码信息矩阵中对应的元素为第一值时,使所述图像的对应子区域的光度信息在所述两个或更多个图像帧之间发生第一种变化;并且当所述二维码信息矩阵中对应的元素为第二值时,使所述图像的对应子区域的光度信息在所述两个或更多个图像帧之间发生第二种变化。
根据进一步的示例性实施例,所述第一种变化包括线性渐增,并且所述第二种变化包括线性渐减。
根据一示例性实施例,基于所述两个或多个图像帧生成所述动态隐式二维码包括顺序组合所述两个或多个图像帧以生成动图或短视频作为所述动态隐式二维码。
根据一示例性实施例,该方法进一步包括将所述动态隐式二维码嵌入图像、文本或媒体之中。
根据一示例性实施例,基于所述数据根据编码规则生成二维码信息矩阵包括根据所述编码规则将所述数据编码为由行数与列数相同的元素构成的二维码信息矩阵,每个所述元素具有第一值或第二值。
本公开的另一方面涉及一种检测动态隐式二维码的方法,包括扫描动态图像以识别所述动态图像中是否存在二维码位置检测符;若所述动态图像中存在二维码位置检测符,则基于所述二维码位置检测符确定动态隐式二维码在所述动态图像中的位置信息;基于所述位置信息,确定所述动态隐式二维码的多个子区域;在时间窗口内检测所述动态隐式二维码的所述多个子区域的光度信息的变化;基于所述检测,生成所述二维码信息矩阵,所述二维码信息矩阵包括多行多列的元素且每个元素与所述动态隐式二维码的相应子区域对应,其中所述二维码信息矩阵的元素的值基于所述动态隐式二维码的对应子区域的光度信息在所述时间窗口内的变化;以及根据编码规则从所述二维码信息矩阵获取数据。
根据一示例性实施例,所述二维码位置检测符包括二维码角标。
根据一示例性实施例,在时间窗口内检测所述动态隐式二维码的所述多个子区域的光度信息的变化包括在所述时间窗口内检测所述动态隐式二维码的至少两个或更多个连续帧;以及确定所述动态隐式二维码的每个子区域的光度值在所述至少两个或更多个连续帧之间的变化。
根据进一步的示例性实施例,基于所述检测,生成所述二维码信息矩阵包括当确定所述动态隐式二维码的每个子区域的光度值在所述至少两个或更多个连续帧之间的变化包括第一种变化时,将所述二维码信息矩阵中与相应子区域对应的元素的值设为第一值;以及当确定所述动态隐式二维码的每个子区域的光度值在所述至少两个或更多个连续帧之间的变化包括第二种变化时,将所述二维码信息矩阵中与相应子区域对应的元素的值设为第二值。
根据进一步的示例性实施例,所述第一种变化包括线性渐增,并且所述第二种变化包括线性渐减。
根据一示例性实施例,所述动态隐式二维码的每个子区域的光度值的变化包括以下任何一项:相应子区域的中心像素的光度值的变化;相应子区域的中心像素子集的光度值的变化的平均值或中值;相应子区域内随机位置的一个或多个像素的光度值的变化的平均值或中值;相应子区域的四角像素的光度值的变化的平均值或中值;以及相应子区域的四边中心像素的光度值的变化的平均值或中值。
根据一示例性实施例,所述时间窗口的长度的最小时间至少包括足以确定所述动态隐式二维码的两个连续帧的时间,并且若所述时间窗口的长度为所述最小时间,则进一步基于所述动态隐式二维码的每个子区域的光度值在所述两个连续帧之间变化的幅度来检测所述变化。
根据一示例性实施例,所述时间窗口开始于基于所述二维码位置检测符确定动态隐式二维码在所述动态图像中的位置信息时。
根据一示例性实施例,基于所述位置信息,确定所述动态隐式二维码的多个子区域包括基于所述位置信息,将所述动态隐式二维码从基于所述动态图像的坐标系转换到基于二维码的坐标系中;以及在所述基于二维码的坐标系中确定所述动态隐式二维码的多个子区域。
根据进一步的示例性实施例,该方法进一步包括在所述位置信息的周围预定范围内周期性地检测所述二维码位置检测符的经更新位置信息,所述预定范围小于完整扫描所述动态图像的范围。
根据进一步的示例性实施例,该方法进一步包括基于所述经更新位置信息校准所述动态隐式二维码在所述基于二维码的坐标系中的位置。
根据进一步的示例性实施例,该方法进一步包括如果在所述位置信息的周围预定范围内没有检测到所述二维码位置检测符,则重新完整扫描所述动态图像以识别所述动态图像中是否存在所述二维码位置检测符;并且若所述动态图像中存在二维码位置检测符,则重启所述时间窗口。
根据一示例性实施例,该方法进一步包括如果所述经更新位置信息落在前一位置信息的容错范围之内,则在不校准所述动态隐式二维码在所述基于二维码的坐标系中的位置的情况下检测所述动态隐式二维码的所述多个子区域的光度信息的变化;否则重新完整扫描所述动态图像以识别所述动态图像中是否存在所述二维码位置检测符;并且若所述动态图像中存在二维码位置检测符,则重启所述时间窗口。
本公开的其他方面还包括相应的装置、设备以及计算机可读介质等。
附图说明
图1A示出了根据本公开的一方面的动态隐式二维码的生成方案的示意图。
图1B示出了根据本公开的一方面的动态隐式二维码的图像子区域划分的示意图。
图2示出了根据本公开的一方面的动态隐式二维码的检测方案的示意图。
图3示出了根据本公开的一方面的动态隐式二维码的示意图。
图4A示出了根据本公开的一方面的在跟踪拍摄时间窗口上对动态隐式二维码的跟踪拍摄的情景的示意图。
图4B示出了根据本公开的一方面的对在跟踪拍摄时间窗口上拍摄的动态隐式二维码的检测的情景的示意图。
图5示出了根据本公开的一方面的生成动态隐式二维码的方法的流程图。
图6示出了根据本公开的一方面的检测动态隐式二维码的方法的流程图。
图7示出了根据本公开的一方面的用于生成动态隐式二维码的设备的框图。
图8示出了根据本公开的一方面的用于检测动态隐式二维码的设备的框图。
具体实施方式
图1A示出了根据本公开的一方面的动态隐式二维码的生成方案100的示意图。
如图所示,图中102为常规意义上的二维码。当需要生成动态隐式二维码时,可以取得原始二维码102,也可以另行获取与要包含在二维码中的信息有关的数据,例如数字、文字、网址、链接、名片等等。信息的获取可以包括但不限于例如用户输入、自动生成、数据库检索等,并且可以是本地获取的也可以是远程获取的。
基于所获得的原始二维码102或其他的与要包含在二维码中的信息有关的数据,可以根据编码规则生成二维码信息矩阵104。二维码信息矩阵(104)一般是以0、1为基本元素的矩阵,且其行数与列数一般可以相同,例如均为M。更一般而言,二维码信息矩阵的基本元素一般可以具有第一值和第二值。二维码信息矩阵104的常用生成方式包括但不限于例如使用ZXing库、ZBar库、以及其他第三方库等。
另一方面,可以获取所要显示的图像106。所要显示的图像可以是例如企业宣传画、商标图像、个人照片或其他任何希望为二维码显示的适宜图像。所要显示的图像优选是彩色的,但本公开并不被限定于此,而是也可以适用于黑白图像。
在获取所要显示的图像106之后,可以对图像106进行预处理。例如,图像的预处理可以包括缩放、拉伸、切割、亮度调节、压缩、增强等。
根据各实施例,一般而言,图像106的分辨率优选不小于二维码信息矩阵的元素数(M*M)。然而,在图像106的分辨率小于二维码信息矩阵的元素数时,也可以通过放大、填补等手段,来对图像106进行预处理,以使其分辨率大于或等于二维码信息矩阵的元素数。
根据一些实施例,通过预处理,图像106可被调整为正方形。例如,可以使得经调整后的图像106的尺寸与预期生成的动态隐式二维码尺寸一致。尺寸调整可基于例如缩放、拉伸、切割等。一般而言,经调整后的图像的像素尺寸可为N*N,并且N>=M。
经预处理后的图像106可被划分为多个子区域。根据示例性实施例,经预处理后的图像106可被划分成与二维码信息矩阵的元素对应的子区域。例如,经预处理后的图像106(N*N)可被划分成与二维码信息矩阵的元素(M*M)在布局上一一对应的子区域,从而每个子区域可以包括K*K个像素,其中K=N/M(例如,在需要的情况下取整)。但是本公开并不被限定于此。例如,在图像像素尺寸较大的情况下,也可以将图像划分成比M*M更多的子区域,并以例如循环或其他形式使这些子区域与二维码信息矩阵的元素对应,从而提供一定程度的冗余和/或纠错。
图1B示出了根据本公开的一方面的动态隐式二维码的图像子区域划分100B的示意图。
如图所示,二维码信息矩阵104可以具有个M*M个元素数,并且这些元素按行和列编排。例如,元素amn可指二维码信息矩阵104中第m行第n列的元素,其值可为例如0或1。
图1B中的图像106a可被划分为M*M个子区域,并且这些子区域中所标示的amn可指该自区域与二维码信息矩阵104中第m行第n列的元素amn对应。
图1B中的图像106b可被划分为例如,2M*2M个子区域,并且这些子区域中所标示的amn可指该自区域与二维码信息矩阵104中第m行第n列的元素amn对应。如所可见,图像划分106b可以提供一定程度的冗余和纠错。
如所可知,尽管本实施例中,图像106b被划分为M的整数倍的行与列,但是本公开并不被限定于此。例如,根据替换实施例,可以根据图像106b的分辨率以及二维码信息矩阵104的尺寸,将图像106b划分为多行与多列的子区域,其中行数与列数可以相同但并非二维码信息矩阵104的行数与列数(即,M)的整数倍,只要仍保证二维码信息矩阵104的每个元素有大于或等于1个对应的子区域即可。举例而言,假设图像106b被划分为L行L列的子区域,且M<L<2M,在此情形中,第一行的子区域例如可以分别对应于二维码信息矩阵104中第1行的元素a11,a12,…,a1M,a11,a12,…,a1(L-M),第二行的子区域例如可以分别对应于二维码信息矩阵104中第2行的元素a21,a22,…,a2M,a21,a22,…,a2(L-M),等等,依此类推。类似地,第一列的子区域例如可以分别对应于二维码信息矩阵104中第1列的元素a11,a21,…,aM1,a11,a21,…,a(L-M)1,第二行的子区域例如可以分别对应于二维码信息矩阵104中第2行的元素a12,a22,…,aM2,a12,a22,…,a(L-M)2,等等,依此类推。由此,此类方案(或其任何偏移版本)可以提供一定的冗余/纠错。
当然,本公开对图像的子区域划分和与二维码信息矩阵的对应并不被限定于此。不仅如此,子区域的形状也并非被限定于正方形,而是可以根据需要使用其他的形状。例如,子区域可以被划分为长方形,并且图像中的每两行子区域对应于二维码信息矩阵的一行,或其各种变型,等等。另一方面,尽管本实施例中未显式地示出二维码位置检测符,但是本领域技术人员可知,动态隐式二维码可以另行包括与常规二维码类似的位置检测符,或者位置检测符可以被包括在部分子区域中。
在建立了图像106的子区域与二维码信息矩阵104的元素的对应关系之后,可以根据二维码信息矩阵中每一元素的值(例如,0或1),来对图像106的相应子区域的光度信息进行处理以生成两个或更多个图像帧108-1、108-2。光度信息可包括但不限于图像的强度、灰度、明度、色调、亮度、饱和度、对比度等中的任何一项或其变形(例如,对数值)或其任何组合。
根据示例性实施例,对于二维码信息矩阵104中等于0的元素而言,可以使得基于图像106所生成的两个或更多个图像帧108-1、108-2中相对应的子区域中每个像素的光度依次渐减/渐增。反之,对于二维码信息矩阵104中等于1的元素而言,可以使得基于图像106所生成的两个或更多个图像帧108-1、108-2中相对应的子区域中每个像素的光度依次渐增/渐减。从而将二维码信息矩阵104中的元素的信息编码到基于图像106所生成的两个或更多个图像帧108-1、108-2中的相对应的子区域的光度的梯度变化中。
根据示例性实施例,渐增/渐减可以是线性的也可以是非线性的。例如,在线性渐增的情形中,同一像素在连续n帧中的值可以例如为a0,a0+c,a0+2c,a0+3c,……a0+(n-1)c,a0,a0+c,……。其中,a0为原像素值,而c为增量因子。在线性渐减的情形中,同一像素在连续n帧中的值可以例如为a0,a0-c,a0-2c,a0-3c,……a0-(n-1)c,a0,a0-c,……。
又如,在非线性渐增的情形中,同一像素在连续n帧中的值可以例如为a0,a0+c,a0+c^2,a0+c^3,……a0+c^(n-1),a0,a0+c,……。在线性渐减的情形中,同一像素在连续n帧中的值可以例如为a0,a0-c,a0-c^2,a0-c^3,……a0-c^(n-1),a0,a0-c,……。当然,非线性的情形并不仅限于此,而是可以包括根据各种非线性函数来改变同一像素在连续n帧中的值。
随后,基于所生成的两个或更多个图像帧108-1、108-2的序列,可以生成动态隐式二维码。例如,根据示例性实施例,可以顺序组合所生成的两个或更多个图像帧108-1、108-2以生成GIF动图、短视频等作为动态隐式二维码。
尽管在图1A的示例中仅示出了两个图像帧108-1、108-2,但是本领域普通技术人员可以理解,本公开的方案并不限于仅两个图像帧的序列,而是可以包括两个或两个以上的图像帧的序列。
图2示出了根据本公开的一方面的动态隐式二维码的检测方案200的示意图。
根据示例性实施例,用户可以使用例如手机202或其他移动终端等或任何其他包括相机或扫描仪的设备扫描动态图像204以识别所述动态图像中是否存在二维码位置检测符。所扫描的动态图像204可以是相机或扫描仪获得的整幅图像。尽管本实施例中以用户实时扫描动态图像204为例来解说本公开,但是本公开也可以包括对例如动态图像204的文件等进行扫描的实施例。
尽管图2中示出动态图像204即为动态隐式二维码本身,但是如本领域普通技术人员可知,动态隐式二维码可以被嵌入在各种图像、文本、媒体等之中。这些图像、文本、媒体等本身可以是动态或静态的,且因嵌入或以其他方式融合了动态隐式二维码而使得被扫描到的图像204至少部分地为动态的。根据示例性实施例,检测方式可以包括但不限于例如使用ZXing库、ZBar库、以及其他第三方库等。
二维码位置检测符可包括例如二维码的角标等。一般而言,二维码可以包括三个或四个角标,以用于检测二维码的存在、方向及其位置。例如,常见的角标可以是黑白的回字正方形图案等。根据部分实施例,角标也可与其他编码信息一起用来确定二维码的类型、方向及位置等信息。
当在所述动态图像204中检测到存在二维码位置检测符时,可基于所检测到的二维码位置检测符来确定动态隐式二维码的初始位置信息。在需要的情况下,根据二维码位置检测符,可对动态图像204进行必要的图像畸变校正等预处理后确定动态隐式二维码的初始位置信息。对动态隐式二维码的跟踪拍摄时间窗口例如可以始于确定动态隐式二维码的初始位置信息之时。拍摄的频率可以与动态隐式二维码的帧率相匹配以拍摄到动态隐式二维码的连续两个或更多帧。
用户扫描动态隐式二维码时可能会发生手抖动等情况,从而使得动态隐式二维码的图像坐标发生偏移。若周期性地重新扫描整幅图像以定位二维码位置检测符(例如,角标),则需要处理较多的图像数据,从而使处理时间变长。
根据一示例性实施例,可以基于所确定的动态隐式二维码的初始位置信息,来限制动态隐式二维码的扫描范围,从而以降低的搜索成本实现对动态隐式二维码坐标的实时追踪。例如,在跟踪拍摄时间窗口内,可以从所检测到的动态隐式二维码的初始位置开始周期性地在前一位置周围预定范围(例如,前一位置周围的正方形、矩形或圆形范围等)内检测二维码位置检测符(例如,角标)的当前位置并相应地校准动态隐式二维码的坐标位置。仅当在前一位置周围预定范围内检测不到二维码位置检测符时,才进行对整幅图像的重新扫描或者报错。根据其他实施例,也可以在重新扫描整幅图像后仍然未检测到二维码位置检测符时才报错。
根据示例性实施例,检测周期可以与动态隐式二维码的帧率相匹配,也可以是其他的周期性。这样,可以高效率地实时地获取动态隐式二维码上任何位置在图像中的坐标信息,从而将二维码图像从基于图像的坐标系转换到基于二维码的坐标系中。
根据另一示例性实施例,作为周期性校准动态隐式二维码的坐标位置的替代,可以通过利用根据本公开的动态隐式二维码图像的子区域来获得一定的容错范围。例如,在跟踪拍摄时间窗口内,可以从所检测到的动态隐式二维码的初始位置开始周期性地在前一位置周围预定范围(例如,前一位置周围的正方形、矩形或圆形范围等)内检测二维码位置检测符(例如,角标)的当前位置。然而,在本实施例中,并不对动态隐式二维码的坐标位置进行校准,而是在二维码的当前坐标位置仍在前一坐标位置的容错范围之内(例如,当前采样到的子区域的中心落在前次采样到的对应子区域内)时,仍然使用前一坐标位置来获得各个子区域的光度值的变化。而若二维码的当前坐标位置已不在前一坐标位置的容错范围之内时,才进行对整幅图像的重新扫描或者报错。根据其他实施例,也可以在重新扫描整幅图像后仍然未检测到二维码位置检测符时才报错。这将在下文结合图4A进一步描述。根据一些示例性实施例,在抖动过大超出容错范围时可以重新启动对动态隐式二维码的跟踪拍摄时间窗口。
根据示例性实施例,通过在跟踪拍摄时间窗口上对动态隐式二维码的跟踪拍摄(206-1、206-2),可以检测到动态隐式二维码图像的各个子区域中像素光度信息的变化序列。根据像素光度信息的变化序列,可以重新获得二维码信息矩阵208。跟踪拍摄时间窗口的长度优选可以大致覆盖动态隐式二维码动图/视频的循环周期。但是本公开并不被限定于此,而是可以使用更短或更长的跟踪拍摄时间窗口。例如,跟踪拍摄时间窗口最少需要跟踪拍摄动态隐式二维码动图/视频的接连两帧以便获得动态隐式二维码图像的各个子区域中像素光度信息的至少一次变化。当然,跟踪拍摄时间窗口越长,跟踪拍摄的帧数就越多,从而读取到正确信息的概率就越高。
例如,在需要较短的跟踪拍摄时间窗口的场合,可以利用以上结合图1B描述的方案等来提供动态隐式二维码信息的冗余和/或纠错以提高正确读取二维码信息的概率。
根据示例性实施例,可基于编码规则对二维码信息矩阵208进行解码,以直接读取数据。根据替换实施例,也可以将二维码信息矩阵208解码并转换成相应的常规二维码210以供进一步的使用或处理。二维码信息矩阵208的常用解码方式包括但不限于例如使用ZXing库、ZBar库、以及其他第三方库等。
图3示出了根据本公开的一方面的动态隐式二维码300的示意图。
尽管图3中仅示出了动态隐式二维码的接连两帧302-1、302-2,但是应当理解,本公开并不被限定于此,而是可以包括基于两帧或更多帧的动态隐式二维码。
如图中所可见,根据本公开的动态隐式二维码可通过将二维码信息融合到图像的相应子区域的光度变化中来提供美观、可靠且实用的动态隐式二维码,其既避免了现有技术二维码的格状或辐射状码块或码点的单调呆板的外观,又可以通过选取合意的图像来为扫码用户提供更多相关信息。
图4A示出了根据本公开的一方面的在跟踪拍摄时间窗口上对动态隐式二维码的跟踪拍摄的情境400的示意图。由于用户扫描动态隐式二维码时手可能抖动,因此二维码的坐标可能会发生偏移。抖动可以包括平移、旋转和/或倾斜等。图中为方便起见仅示出了平移的情景。
在一些实施例中,如图4A的(a)中所示,根据动态隐式二维码的初始位置信息,所扫描到的动态隐式二维码中的一子区域402的坐标可以用十字形示出。该子区域402可以例如包括K*K个像素。在跟踪拍摄时间窗口内,可以从所检测到的动态隐式二维码的初始位置开始周期性地在前一位置周围预定范围(例如,前一位置周围的正方形、长方形或圆形范围等)内检测二维码位置检测符(例如,角标)的当前位置,并相应地校准动态隐式二维码的坐标位置。该子区域402的中心在校准之后移到了例如子区域404的中心(例如,见子区域404中的十字形),由此可以重新读取该子区域404的光度值的变化。当在前一位置周围预定范围内检测不到二维码位置检测符时,可以进行对整幅图像的重新扫描以校准动态隐式二维码的坐标位置(未示出),从而该子区域的位置在校准之后移到了例如子区域406的中心(例如,见子区域406中的十字形),由此可以重新读取该子区域406的光度值的变化。
在另一些实施例中,如图4A的(b)中所示,根据动态隐式二维码的初始位置信息,所扫描到的动态隐式二维码中的一子区域402’的坐标可以用十字形示出。该子区域402’可以例如包括K*K个像素。例如,在跟踪拍摄时间窗口内,可以从所检测到的动态隐式二维码的初始位置开始周期性地在前一位置周围预定范围(例如,前一位置周围的正方形、矩形或圆形范围等)内检测二维码位置检测符(例如,角标)的当前位置。然而,在本实施例中,并不是每次均对动态隐式二维码的坐标位置进行校准(例如,子区域404’内无十字形,),而是在二维码的当前坐标位置仍在前一坐标位置的容错范围之内(例如,当前采样到的子区域的中心落在前次采样到的对应子区域内)时,仍然使用前一坐标位置(例如,基于前一子区域402’中的十字形)来获得各个子区域的光度值的变化。而若二维码的当前坐标位置已不在前一坐标位置的容错范围之内时,才进行对整幅图像的重新扫描,从而该子区域的位置移到了例如406’。基于校准(例如,见子区域406中的十字形),可以重新读取该子区域406’的光度值的变化。
根据一些示例性实施例,在抖动过大超出容错范围时可以重新启动对动态隐式二维码的跟踪拍摄时间窗口。
本公开的方法可包括读取中心像素的光度值的变化作为该子区域402的当前帧的光度值的变化,或者可以包括读取该子区域402中的K*K个像素的子集并取子集中每个像素的光度值的变化的平均值或中值等来确定该子区域402的当前帧的光度值的变化。例如,该子集可以包括子区域402内随机位置的一个或多个像素,子区域402内中心的2*2、3*3……个像素,子区域402四角的4个像素、子区域402四边中心的4个像素等等。本公开在所取的子区域的像素的位置和数量上不受限定。
图4B示出了根据本公开的一方面的对在跟踪拍摄时间窗口上拍摄的动态隐式二维码的检测的情景400B的示意图。
图4B的上半部分示出了动态隐式二维码的子区域的例如光度值的渐增,而下半部分示出了动态隐式二维码的子区域的例如光度值的渐减。如所可见,框代表了跟踪拍摄时间窗口。跟踪拍摄时间窗口的长度可覆盖至少两帧或更多帧。优选地,跟踪拍摄时间窗口的长度可大致覆盖动态隐式二维码动图/视频的循环周期。由于子区域的光度值的渐增/渐减是按预定规则和预定量进行的,因此从跟踪拍摄时间窗口内光度值的变化,可以清楚地判断其属于渐增还是渐减,并且相应地可以确定二维码信息矩阵的对应元素的值为1还是0。
尽管图4B的示例中将渐增/渐减示为线性的,但是如前所述,渐增/渐减可以是线性的也可以是非线性的。当跟踪拍摄时间窗口的长度为最小值两帧时,同样可以根据跟踪拍摄时间窗口内光度值的变化量(即,变化的幅值)来正确判断其属于渐增还是渐减。
图5示出了根据本公开的一方面的生成动态隐式二维码的方法500的流程图。
根据示例性实施例的方法500可包括在框502获取要包含在二维码中的信息。该信息例如可以是原始二维码、数字、文字、网址、链接、名片等等。信息的获取可以包括但不限于例如用户输入、自动生成、数据库检索等,并且可以是本地获取的也可以是远程获取的。
在框504,方法500可包括基于所获取的信息,生成二维码信息矩阵。二维码信息矩阵一般可以是以0、1为基本元素的矩阵,且其行数与列数一般可以相同。例如,二维码信息矩阵的常用生成方式包括但不限于例如使用ZXing库、ZBar库、以及其他第三方库等。
在框506,方法500可包括获取要显示的图像。所要显示的图像可以是例如企业宣传画、商标图像、个人照片或其他任何希望为二维码显示的适宜图像。所要显示的图像优选是彩色的,但本公开并不被限定于此,而是也可以适用于黑白图像。
在框508,方法500可包括对所获取的图像进行预处理以使得经预处理的图像至少包括与二维码信息矩阵的元素对应的子区域。根据示例性实施例,二维码信息矩阵的每个元素可以在经预处理的图像中具有至少一个或多个对应的子区域。
在框510,方法500可包括将经预处理的图像与二维码信息矩阵融合以生成两个或更多个图像帧。例如,可以基于二维码信息矩阵对图像的光度信息进行处理以使得基于该图像的两个或更多个图像帧的对应子区域的光度信息的变化基于所述二维码信息矩阵的对应元素的值。例如,对于二维码信息矩阵中等于0的元素而言,可以使得基于图像所生成的两个或更多个图像帧中相对应的子区域中每个像素的光度依次渐减/渐增。反之,对于二维码信息矩阵中等于1的元素而言,可以使得基于图像所生成的两个或更多个图像帧中相对应的子区域中每个像素的光度依次渐增/渐减。从而将二维码信息矩阵中的元素的信息编码到基于图像所生成的两个或更多个图像帧中的相对应的子区域的光度的梯度变化中。
在框512,可以利用这两个或多个图像帧生成动态隐式二维码。例如,可以顺序组合所生成的两个或更多个图像帧以生成GIF动图、短视频等作为动态隐式二维码。
图6示出了根据本公开的一方面的检测动态隐式二维码的方法600的流程图。
根据示例性实施例的方法600可包括在框602检测二维码区域图像。用户可以使用例如手机或其他移动终端等扫描动态图像以识别所述动态图像中是否存在二维码位置检测符。检测二维码区域图像可包括例如基于二维码位置检测符(例如,二维码角标)来检测二维码的存在、方向及其位置。当在动态图像中检测到存在二维码位置检测符时,可基于所检测到的二维码位置检测符来确定动态隐式二维码的初始位置信息。尽管本实施例中以用户实时扫描动态图像为例来解说本公开,但是本公开也可以包括对例如动态图像的文件等进行扫描的实施例。
在框604,方法600可包括基于初始位置信息,获得多帧连续图像并从中获取二维码信息矩阵。对动态隐式二维码的跟踪拍摄时间窗口可以始于确定动态隐式二维码的初始位置信息之时。例如,根据初始位置信息,可以确定动态隐式二维码的多个子区域,所述多个子区域与二维码信息矩阵的元素相对应。通过在跟踪拍摄时间窗口内检测动态隐式二维码的该多个子区域的光度信息的变化,即可相应地生成所述二维码信息矩阵。根据示例性实施例,二维码信息矩阵的元素的值基于动态隐式二维码的对应子区域的光度信息在跟踪拍摄时间窗口内连续数帧的变化。
例如,当连续两帧或更多帧图像中子区域中的像素的光度依次渐减/渐增时,可以确定二维码信息矩阵中对应元素的值等于0。反之,当连续两帧或更多帧图像中子区域中的像素的光度依次渐增/渐减时,可以确定二维码信息矩阵中对应元素的值等于1。如前所述,子区域中的像素可以取子区域的中心像素、随机像素、像素子集等。当在子区域中取不止一个像素的光度值的变化时,代表该子区域的光度值的变化可以取这些像素的光度值的变化的平均值、中值等。从而,可读出编码在两帧或更多帧连续图像中的相对应的子区域的光度的梯度变化中的二维码信息,并相应地生成二维码信息矩阵。
在每帧图像中有多个子区域对应于二维码信息矩阵中的同一元素的情形中,可以对多个子区域的结果取平均值、中值等以实现冗余和/或纠错。
在框606,方法600可包括基于解码规则来对二维码信息矩阵进行解码,以获得二维码信息。二维码信息矩阵的常用解码方式包括但不限于例如使用ZXing库、ZBar库、以及其他第三方库等。
在框608,方法600可包括输出二维码信息。例如,根据一些实施例,可以从解码后的二维码信息中直接读取数据。根据替换实施例,也可以将二维码信息转换成相应的常规二维码以供进一步的使用或处理。
图7示出了根据本公开的一方面的用于生成动态隐式二维码的设备700的框图。
根据示例性实施例的用于生成动态隐式二维码的设备700可包括用于获取要包含在二维码中的信息的装置702。该信息例如可以是原始二维码、数字、文字、网址、链接、名片等等。信息的获取可以包括但不限于例如用户输入、自动生成、数据库检索等,并且可以是本地获取的也可以是远程获取的。用于获取信息的装置702可以是硬件,例如键盘、触摸屏、相机、扫描仪以及其他I/O接口、通信接口等,也可以通过或结合相应的软件或固件来实现。
用于生成动态隐式二维码的设备700还可包括用于基于所获取的信息,生成二维码信息矩阵的装置704。二维码信息矩阵一般可以是以0、1为基本元素的矩阵,且其行数与列数一般可以相同。例如,二维码信息矩阵的常用生成方式包括但不限于例如使用ZXing库、ZBar库、以及其他第三方库等。用于生成二维码信息矩阵的装置704一般可以用通用处理器、专用处理器、微处理器、FPGA、ASIC等实现,但并不被限定于此。用于生成二维码信息矩阵的装置704也可以包括例如远程服务器等。用于生成二维码信息矩阵的装置704也可以通过或结合相应的软件或固件来实现。
用于生成动态隐式二维码的设备700还可包括用于获取要显示的图像的装置706。所要显示的图像可以是例如企业宣传画、商标图像、个人照片或其他任何希望为二维码显示的适宜图像。所要显示的图像优选是彩色的,但本公开并不被限定于此,而是也可以适用于黑白图像。用于获取要显示的图像的装置706可以是硬件,例如相机、扫描仪以及其他I/O接口、通信接口等,也可以通过或结合相应的软件或固件来实现。例如,图像也可以从本地磁盘、硬盘、光盘等读取,从本地或远程数据库读取,或者通过通信方式从其他来源获取等。
用于生成动态隐式二维码的设备700还可包括用于对所获取的图像进行预处理以使得经预处理的图像至少包括与二维码信息矩阵的元素对应的子区域的装置708。根据示例性实施例,二维码信息矩阵的每个元素可以在经预处理的图像中具有至少一个或多个对应的子区域。用于对图像进行预处理的装置708一般可以用通用处理器、专用处理器、微处理器、FPGA、ASIC等实现,但并不被限定于此。用于对图像进行预处理的装置708也可以包括例如远程服务器等。用于对图像进行预处理的装置708也可以通过或结合相应的软件或固件来实现。
用于生成动态隐式二维码的设备700还可包括用于将经预处理的图像与二维码信息矩阵融合以生成两个或更多个图像帧的装置710。例如,可以基于二维码信息矩阵对图像的光度信息进行处理以使得基于该图像的两个或更多个图像帧的对应子区域的光度信息的变化基于所述二维码信息矩阵的对应元素的值。例如,对于二维码信息矩阵中等于0的元素而言,可以使得基于图像所生成的两个或更多个图像帧中相对应的子区域中每个像素的光度依次渐减/渐增。反之,对于二维码信息矩阵中等于1的元素而言,可以使得基于图像所生成的两个或更多个图像帧中相对应的子区域中每个像素的光度依次渐增/渐减。从而将二维码信息矩阵中的元素的信息编码到基于图像所生成的两个或更多个图像帧中的相对应的子区域的光度的梯度变化中。用于将图像与二维码信息矩阵融合的装置710一般可以用通用处理器、专用处理器、微处理器、FPGA、ASIC、GPU等实现,但并不被限定于此。用于将图像与二维码信息矩阵融合的装置710也可以包括例如远程服务器等。用于将图像与二维码信息矩阵融合的装置710也可以通过或结合相应的软件或固件来实现。
用于生成动态隐式二维码的设备700还可包括用于利用这两个或多个图像帧生成动态隐式二维码的装置712。例如,用于生成动态隐式二维码的装置712可以顺序组合所生成的两个或更多个图像帧以生成GIF动图、短视频等作为动态隐式二维码。用于生成动态隐式二维码的装置712一般可以用通用处理器、专用处理器、微处理器、FPGA、ASIC、GPU等实现,但并不被限定于此。用于生成动态隐式二维码的装置712也可以包括例如远程服务器等。用于生成动态隐式二维码的装置712也可以通过或结合相应的软件或固件来实现。
图8示出了根据本公开的一方面的用于检测动态隐式二维码的设备800的框图。
根据示例性实施例的用于检测动态隐式二维码的设备800可包括用于检测二维码区域图像的装置802。例如,用于检测二维码区域图像的装置802可以包括手机或其他移动终端等。用户可以使用用于检测二维码区域图像的装置802扫描动态图像以识别所述动态图像中是否存在二维码位置检测符。检测二维码区域图像可包括例如基于二维码位置检测符(例如,二维码角标)来检测二维码的存在、方向及其位置。当在动态图像中检测到存在二维码位置检测符时,可基于所检测到的二维码位置检测符来确定动态隐式二维码的初始位置信息。
用于检测动态隐式二维码的设备800可包括用于基于初始位置信息,获得多帧连续图像并从中获取二维码信息矩阵的装置804。对动态隐式二维码的跟踪拍摄时间窗口可以始于确定动态隐式二维码的初始位置信息之时。例如,根据初始位置信息,可以确定动态隐式二维码的多个子区域,所述多个子区域与二维码信息矩阵的元素相对应。通过在跟踪拍摄时间窗口内检测动态隐式二维码的该多个子区域的光度信息的变化,即可相应地生成所述二维码信息矩阵。根据示例性实施例,二维码信息矩阵的元素的值基于动态隐式二维码的对应子区域的光度信息在跟踪拍摄时间窗口内连续数帧的变化。例如,当连续两帧或更多帧图像中子区域中的像素的光度依次渐减/渐增时,可以确定二维码信息矩阵中对应元素的值等于0。反之,当连续两帧或更多帧图像中子区域中的像素的光度依次渐增/渐减时,可以确定二维码信息矩阵中对应元素的值等于1。如前所述,子区域中的像素可以取子区域的中心像素、随机像素、像素子集等。当在子区域中取不止一个像素的光度值的变化时,代表该子区域的光度值的变化可以取这些像素的光度值的变化的平均值、中值等。从而,可读出编码在两帧或更多帧连续图像中的相对应的子区域的光度的梯度变化中的二维码信息,并相应地生成二维码信息矩阵。在每帧图像中有多个子区域对应于二维码信息矩阵中的同一元素的情形中,可以对多个子区域的结果取平均值、中值等以实现冗余和/或纠错。用于获得多帧连续图像并从中获取二维码信息矩阵的装置804可包括例如相机与处理器的组合,也可以通过或结合相应的软件或固件来实现。
用于检测动态隐式二维码的设备800可包括用于基于解码规则来对二维码信息矩阵进行解码,以获得二维码信息的装置806。二维码信息矩阵的常用解码方式包括但不限于例如使用ZXing库、ZBar库、以及其他第三方库等。用于对二维码信息矩阵进行解码以获得二维码信息的装置806一般可以用通用处理器、专用处理器、微处理器、FPGA、ASIC、GPU等实现,但并不被限定于此。用于对二维码信息矩阵进行解码以获得二维码信息的装置806也可以包括例如远程服务器等。用于对二维码信息矩阵进行解码以获得二维码信息的装置806也可以通过或结合相应的软件或固件来实现。
用于检测动态隐式二维码的设备800可包括用于输出二维码信息的装置808。例如,根据一些实施例,可以从解码后的二维码信息中直接读取数据。根据替换实施例,也可以将二维码信息转换成相应的常规二维码以供进一步的使用或处理。用于输出二维码信息的装置808一般可以用通用处理器、专用处理器、微处理器、FPGA、ASIC、GPU、I/O接口、通信接口等实现,但并不被限定于此。用于输出二维码信息的装置808也可以通过或结合相应的软件或固件来实现。
本公开的实施例可以通过相应的方法、装置、设备以及程序(例如,存储在计算机可读介质上,并可由处理器执行的程序)等来实现。例如,本公开的动态隐式二维码的生成方法、装置、设备等和/或检测方法、装置、设备等可被实现在客户端、企业端、第三方服务器等设备上,例如,包括但不限于手机、台式电脑、笔记本电脑、平板电脑、POS机、电视机、个人数字助理、游戏机、自动贩售机等电子设备上。包含或实现本公开的实施例的方法、装置、设备等可以通过软件、硬件、或固件等形式来实现,这些均在本公开的范围之内。当采用软件或固件等形式来实现时,相应的程序代码可被存储在软盘、光盘、DVD、硬盘、闪存、U盘、CF卡、SD卡、MMC卡、SM卡、记忆棒、XD卡、SDHC卡等介质上,或可通过通信介质进行传输,并由例如处理器等来执行以实现相应的功能或其部分、或功能的任何组合。
以上所述的仅为本发明的示例性具体实施例。但本发明的保护范围并不局限于此。任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
结合本公开所描述的各种解说性逻辑块、模块、以及电路可用设计成执行本文描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件(PLD)、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何市售的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如,DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器、或任何其他此类配置。
结合本公开描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中实施。软件模块可驻留在本领域所知的任何形式的存储介质中。可使用的存储介质的一些示例包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM,等等。软件模块可以包括单条指令、或许多条指令,且可分布在若干不同的代码段上,分布在不同的程序间以及跨多个存储介质分布。存储介质可被耦合到处理器以使得该处理器能从/向该存储介质读写信息。替换地,存储介质可以被整合到处理器。
本文中所公开的方法包括用于达成所描述的方法的一个或多个步骤或动作。这些方法步骤和/或动作可以彼此互换而不会脱离权利要求的范围。换言之,除非指定了步骤或动作的特定次序,否则具体步骤和/或动作的次序和/或使用可以改动而不会脱离权利要求的范围。
处理器可执行存储在机器可读介质上的软件。处理器可用一个或多个通用和/或专用处理器来实现。示例包括微处理器、微控制器、DSP处理器、以及其他能执行软件的电路***。软件应当被宽泛地解释成意指指令、数据、或其任何组合,无论是被称作软件、固件、中间件、微代码、硬件描述语言、或其他。作为示例,机器可读介质可包括RAM(随机存取存储器)、闪存、ROM(只读存储器)、PROM(可编程只读存储器)、EPROM(可擦式可编程只读存储器)、EEPROM(电可擦式可编程只读存储器)、寄存器、磁盘、光盘、硬驱动器、或者任何其他合适的存储介质、或其任何组合。机器可读介质可被实施在计算机程序产品中。该计算机程序产品可以包括包装材料。
在硬件实现中,机器可读介质可以是处理***中与处理器分开的一部分。然而,如本领域技术人员将容易领会的,机器可读介质或其任何部分可在处理***外部。作为示例,机器可读介质可包括传输线、由数据调制的载波、和/或与无线节点分开的计算机产品,所有这些都可由处理器通过总线接口来访问。替换地或补充地,机器可读介质或其任何部分可被集成到处理器中,诸如高速缓存和/或通用寄存器文件可能就是这种情形。
处理***可以被配置成通用处理***,该通用处理***具有一个或多个提供处理器功能性的微处理器、以及提供机器可读介质中的至少一部分的外部存储器,它们都通过外部总线架构与其他支持电路***链接在一起。替换地,处理***可以用带有集成在单块芯片中的处理器、总线接口、用户接口(在接入终端情形中)、支持电路***、和至少一部分机器可读介质的ASIC(专用集成电路)来实现,或者用一个或多个FPGA(现场可编程门阵列)、PLD(可编程逻辑器件)、控制器、状态机、门控逻辑、分立硬件组件、或者任何其他合适的电路***、或者能执行本公开通篇所描述的各种功能性的电路的任何组合来实现。取决于具体应用和加诸于整体***上的总设计约束,本领域技术人员将认识到如何最佳地实现关于处理***所描述的功能性。
机器可读介质可以包括数个软件模块。这些软件模块包括当由装置(诸如处理器)执行时使处理***执行各种功能的指令。这些软件模块可以包括传送模块和接收模块。每个软件模块可以驻留在单个存储设备中或者跨多个存储设备分布。作为示例,当触发事件发生时,可以从硬驱动器中将软件模块加载到RAM中。在软件模块执行期间,处理器可以将一些指令加载到高速缓存中以提高访问速度。可随后将一个或多个高速缓存行加载到通用寄存器文件中以供处理器执行。在以下述及软件模块的功能性时,将理解此类功能性是在处理器执行来自该软件模块的指令时由该处理器来实现的。
如果以软件实现,则各功能可作为一条或多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,这些介质包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,此类计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或能用于携带或存储指令或数据结构形式的期望程序代码且能被计算机访问的任何其他介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或无线技术(诸如红外(IR)、无线电、以及微波)从web网站、服务器、或其他远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL或无线技术(诸如红外、无线电、以及微波)就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘、和碟,其中盘(disk)常常磁性地再现数据,而碟(disc)用激光来光学地再现数据。因此,在一些方面,计算机可读介质可以包括非瞬态计算机可读介质(例如,有形介质)。另外,对于其他方面,计算机可读介质可以包括瞬态计算机可读介质(例如,信号)。上述的组合应当也被包括在计算机可读介质的范围内。
因此,某些方面可以包括用于执行本文中给出的操作的计算机程序产品。例如,此类计算机程序产品可以包括其上存储(和/或编码)有指令的计算机可读介质,这些指令能由一个或多个处理器执行以执行本文中所描述的操作。在某些方面,计算机程序产品可包括包装材料。
将理解,权利要求并不被限于以上所解说的精确配置和组件。可在以上所描述的方法和装置的布局、操作和细节上做出各种改动、更换和变形而不会脱离权利要求的范围。
Claims (87)
1.一种生成动态隐式二维码的方法,包括:
获取与要包含在二维码中的信息有关的数据;
基于所述数据根据编码规则生成二维码信息矩阵,所述二维码信息矩阵包括多行多列的元素,并且所述二维码信息矩阵的元素包括第一值和第二值;
获取要显示的图像;
对所述图像进行预处理以使得经预处理的图像至少包括与所述二维码信息矩阵的每个元素对应的子区域;
基于所述二维码信息矩阵对所述图像的光度信息进行处理以生成两个或更多个图像帧,其中所述两个或更多个图像帧之间对应子区域的光度信息的变化基于所述二维码信息矩阵的对应元素的值;以及
基于所述两个或多个图像帧生成包括二维码位置检测符的动态隐式二维码,其中:
基于所述二维码信息矩阵对所述图像的光度信息进行处理以生成两个或更多个图像帧包括:
当所述二维码信息矩阵中对应的元素为第一值时,使所述图像的对应子区域的光度信息在所述两个或更多个图像帧之间发生第一种变化;并且
当所述二维码信息矩阵中对应的元素为第二值时,使所述图像的对应子区域的光度信息在所述两个或更多个图像帧之间发生第二种变化。
2.如权利要求1所述的方法,其中,对所述图像进行预处理以使得经预处理的图像至少包括与所述二维码信息矩阵的元素对应的子区域包括:
将所述图像调整为正方形并使得经调整的图像的像素尺寸大于或等于所述二维码信息矩阵的尺寸;以及
将经调整的图像划分为多个子区域以使得所述二维码信息矩阵中的每个元素在所述经调整的图像中有至少一个或多个对应的子区域。
3.如权利要求2所述的方法,其中,
所述经调整的图像的所述多个子区域与所述二维码信息矩阵中对应行与列的元素一一对应。
4.如权利要求1所述的方法,其中,所述第一种变化包括线性渐增,并且所述第二种变化包括线性渐减。
5.如权利要求1所述的方法,其中,基于所述两个或多个图像帧生成所述动态隐式二维码包括:
顺序组合所述两个或多个图像帧以生成动图或短视频作为所述动态隐式二维码。
6.如权利要求1所述的方法,进一步包括:
将所述动态隐式二维码嵌入图像、文本或媒体之中。
7.如权利要求1所述的方法,其中,基于所述数据根据编码规则生成二维码信息矩阵包括:
根据所述编码规则将所述数据编码为由行数与列数相同的元素构成的二维码信息矩阵,每个所述元素具有第一值或第二值。
8.一种检测动态隐式二维码的方法,包括:
扫描动态图像以识别所述动态图像中是否存在二维码位置检测符;
若所述动态图像中存在二维码位置检测符,则基于所述二维码位置检测符确定动态隐式二维码在所述动态图像中的位置信息;
基于所述位置信息,确定所述动态隐式二维码的多个子区域;
在时间窗口内检测所述动态隐式二维码的所述多个子区域的光度信息的变化;
基于所述检测,生成所述二维码信息矩阵,所述二维码信息矩阵包括多行多列的元素且每个元素与所述动态隐式二维码的相应子区域对应,其中所述二维码信息矩阵的元素的值基于所述动态隐式二维码的对应子区域的光度信息在所述时间窗口内的变化;以及
根据编码规则从所述二维码信息矩阵获取数据。
9.如权利要求8所述的方法,其中,所述二维码位置检测符包括二维码角标。
10.如权利要求8所述的方法,其中,在时间窗口内检测所述动态隐式二维码的所述多个子区域的光度信息的变化包括:
在所述时间窗口内检测所述动态隐式二维码的至少两个或更多个连续帧;以及
确定所述动态隐式二维码的每个子区域的光度值在所述至少两个或更多个连续帧之间的变化。
11.如权利要求10所述的方法,其中,基于所述检测,生成所述二维码信息矩阵包括:
当确定所述动态隐式二维码的每个子区域的光度值在所述至少两个或更多个连续帧之间的变化包括第一种变化时,将所述二维码信息矩阵中与相应子区域对应的元素的值设为第一值;以及
当确定所述动态隐式二维码的每个子区域的光度值在所述至少两个或更多个连续帧之间的变化包括第二种变化时,将所述二维码信息矩阵中与相应子区域对应的元素的值设为第二值。
12.如权利要求11所述的方法,其中,所述第一种变化包括线性渐增,并且所述第二种变化包括线性渐减。
13.如权利要求10所述的方法,其中,所述动态隐式二维码的每个子区域的光度值的变化包括以下任何一项:
相应子区域的中心像素的光度值的变化;
相应子区域的中心像素子集的光度值的变化的平均值或中值;
相应子区域内随机位置的一个或多个像素的光度值的变化的平均值或中值;
相应子区域的四角像素的光度值的变化的平均值或中值;以及
相应子区域的四边中心像素的光度值的变化的平均值或中值。
14.如权利要求8所述的方法,其中,所述时间窗口的长度的最小时间至少包括足以确定所述动态隐式二维码的两个连续帧的时间,并且
若所述时间窗口的长度为所述最小时间,则进一步基于所述动态隐式二维码的每个子区域的光度值在所述两个连续帧之间变化的幅度来检测所述变化。
15.如权利要求8所述的方法,其中,所述时间窗口开始于基于所述二维码位置检测符确定动态隐式二维码在所述动态图像中的位置信息时。
16.如权利要求8所述的方法,其中,基于所述位置信息,确定所述动态隐式二维码的多个子区域包括:
基于所述位置信息,将所述动态隐式二维码从基于所述动态图像的坐标系转换到基于二维码的坐标系中;以及
在所述基于二维码的坐标系中确定所述动态隐式二维码的多个子区域。
17.如权利要求16所述的方法,进一步包括:
在所述位置信息的周围预定范围内周期性地检测所述二维码位置检测符的经更新位置信息,所述预定范围小于完整扫描所述动态图像的范围。
18.如权利要求17所述的方法,进一步包括:
基于所述经更新位置信息校准所述动态隐式二维码在所述基于二维码的坐标系中的位置。
19.如权利要求18所述的方法,进一步包括:
如果在所述位置信息的周围预定范围内没有检测到所述二维码位置检测符,则重新完整扫描所述动态图像以识别所述动态图像中是否存在所述二维码位置检测符;并且
若所述动态图像中存在二维码位置检测符,则重启所述时间窗口。
20.如权利要求17所述的方法,进一步包括:
如果所述经更新位置信息落在前一位置信息的容错范围之内,则在不校准所述动态隐式二维码在所述基于二维码的坐标系中的位置的情况下检测所述动态隐式二维码的所述多个子区域的光度信息的变化;否则
重新完整扫描所述动态图像以识别所述动态图像中是否存在所述二维码位置检测符;并且
若所述动态图像中存在二维码位置检测符,则重启所述时间窗口。
21.一种动态隐式二维码,包括:
帧序列,所述帧序列包括基于二维码信息矩阵对图像的光度信息进行处理所生成的两个或更多个连续图像帧的循环,所述二维码信息矩阵包括多行多列的元素,并且所述图像包括与所述二维码信息矩阵的每个元素对应的子区域;以及
二维码位置检测符,
其中,所述图像的每个子区域的光度信息在所述帧序列的所述两个或更多个连续图像帧之间的变化基于所述二维码信息矩阵的对应元素的值。
22.如权利要求21所述的动态隐式二维码,其中,所述图像为正方形并且其像素尺寸大于或等于所述二维码信息矩阵的尺寸;并且
所述二维码信息矩阵中的每个元素在所述图像中有至少一个或多个对应的子区域。
23.如权利要求22所述的动态隐式二维码,其中,
所述图像的所述多个子区域与所述二维码信息矩阵中对应行与列的元素一一对应。
24.如权利要求21所述的动态隐式二维码,其中,所述二维码信息矩阵的元素包括第一值和第二值,并且
当所述二维码信息矩阵中对应的元素为第一值时,所述图像的对应子区域的光度信息在所述两个或更多个连续图像帧之间发生第一种变化;并且
当所述二维码信息矩阵中对应的元素为第二值时,使所述图像的对应子区域的光度信息在所述两个或更多个连续图像帧之间发生第二种变化。
25.如权利要求24所述的动态隐式二维码,其中,所述第一种变化包括线性渐增,并且所述第二种变化包括线性渐减。
26.如权利要求21所述的动态隐式二维码,其中,所述帧序列被配置为动图或短视频。
27.如权利要求26所述的动态隐式二维码,其中,所述动态隐式二维码被嵌入图像、文本或媒体之中。
28.一种生成动态隐式二维码的装置,包括:
存储器;以及
处理器,所述处理器耦合到所述存储器并被配置成:
获取与要包含在二维码中的信息有关的数据;
基于所述数据根据编码规则生成二维码信息矩阵,所述二维码信息矩阵包括多行多列的元素,并且所述二维码信息矩阵的元素包括第一值和第二值;
获取要显示的图像;
对所述图像进行预处理以使得经预处理的图像至少包括与所述二维码信息矩阵的每个元素对应的子区域;
基于所述二维码信息矩阵对所述图像的光度信息进行处理以生成两个或更多个图像帧,其中所述两个或更多个图像帧之间对应子区域的光度信息的变化基于所述二维码信息矩阵的对应元素的值;以及
基于所述两个或多个图像帧生成包括二维码位置检测符的动态隐式二维码,其中:
基于所述二维码信息矩阵对所述图像的光度信息进行处理以生成两个或更多个图像帧包括:
当所述二维码信息矩阵中对应的元素为第一值时,使所述图像的对应子区域的光度信息在所述两个或更多个图像帧之间发生第一种变化;并且
当所述二维码信息矩阵中对应的元素为第二值时,使所述图像的对应子区域的光度信息在所述两个或更多个图像帧之间发生第二种变化。
29.如权利要求28所述的装置,其中,所述处理器被配置成对所述图像进行预处理以使得经预处理的图像至少包括与所述二维码信息矩阵的元素对应的子区域包括所述处理器被配置成:
将所述图像调整为正方形并使得经调整的图像的像素尺寸大于或等于所述二维码信息矩阵的尺寸;以及
将经调整的图像划分为多个子区域以使得所述二维码信息矩阵中的每个元素在所述经调整的图像中有至少一个或多个对应的子区域。
30.如权利要求29所述的装置,其中,
所述经调整的图像的所述多个子区域与所述二维码信息矩阵中对应行与列的元素一一对应。
31.如权利要求28所述的装置,其中,所述第一种变化包括线性渐增,并且所述第二种变化包括线性渐减。
32.如权利要求28所述的装置,其中,所述处理器被配置成基于所述两个或多个图像帧生成所述动态隐式二维码包括所述处理器被配置成:
顺序组合所述两个或多个图像帧以生成动图或短视频作为所述动态隐式二维码。
33.如权利要求28所述的装置,其中所述处理器被进一步配置成:
将所述动态隐式二维码嵌入图像、文本或媒体之中。
34.如权利要求28所述的装置,其中,所述处理器被配置成基于所述数据根据编码规则生成二维码信息矩阵包括所述处理器被配置成:
根据所述编码规则将所述数据编码为由行数与列数相同的元素构成的二维码信息矩阵,每个所述元素具有第一值或第二值。
35.一种检测动态隐式二维码的装置,包括:
存储器;以及
处理器,所述处理器耦合到所述存储器并被配置成:
扫描动态图像以识别所述动态图像中是否存在二维码位置检测符;
若所述动态图像中存在二维码位置检测符,则基于所述二维码位置检测符确定动态隐式二维码在所述动态图像中的位置信息;
基于所述位置信息,确定所述动态隐式二维码的多个子区域;
在时间窗口内检测所述动态隐式二维码的所述多个子区域的光度信息的变化;
基于所述检测,生成所述二维码信息矩阵,所述二维码信息矩阵包括多行多列的元素且每个元素与所述动态隐式二维码的相应子区域对应,其中所述二维码信息矩阵的元素的值基于所述动态隐式二维码的对应子区域的光度信息在所述时间窗口内的变化;以及
根据编码规则从所述二维码信息矩阵获取数据。
36.如权利要求35所述的装置,其中,所述二维码位置检测符包括二维码角标。
37.如权利要求35所述的装置,其中,所述处理器被配置成在时间窗口内检测所述动态隐式二维码的所述多个子区域的光度信息的变化包括所述处理器被配置成:
在所述时间窗口内检测所述动态隐式二维码的至少两个或更多个连续帧;以及
确定所述动态隐式二维码的每个子区域的光度值在所述至少两个或更多个连续帧之间的变化。
38.如权利要求37所述的装置,其中,所述处理器被配置成基于所述检测,生成所述二维码信息矩阵包括所述处理器被配置成:
当确定所述动态隐式二维码的每个子区域的光度值在所述至少两个或更多个连续帧之间的变化包括第一种变化时,将所述二维码信息矩阵中与相应子区域对应的元素的值设为第一值;以及
当确定所述动态隐式二维码的每个子区域的光度值在所述至少两个或更多个连续帧之间的变化包括第二种变化时,将所述二维码信息矩阵中与相应子区域对应的元素的值设为第二值。
39.如权利要求38所述的装置,其中,所述第一种变化包括线性渐增,并且所述第二种变化包括线性渐减。
40.如权利要求37所述的装置,其中,所述动态隐式二维码的每个子区域的光度值的变化包括以下任何一项:
相应子区域的中心像素的光度值的变化;
相应子区域的中心像素子集的光度值的变化的平均值或中值;
相应子区域内随机位置的一个或多个像素的光度值的变化的平均值或中值;
相应子区域的四角像素的光度值的变化的平均值或中值;以及
相应子区域的四边中心像素的光度值的变化的平均值或中值。
41.如权利要求35所述的装置,其中,所述时间窗口的长度的最小时间至少包括足够检测所述动态隐式二维码的两个连续帧的时间,并且
若所述时间窗口的长度为所述最小时间,则所述处理器被进一步配置成基于所述动态隐式二维码的每个子区域的光度值在所述两个连续帧之间变化的幅度来检测所述变化。
42.如权利要求35所述的装置,其中,所述时间窗口开始于基于所述二维码位置检测符确定动态隐式二维码在所述动态图像中的位置信息时。
43.如权利要求35所述的装置,其中,所述处理器被配置成基于所述位置信息,确定所述动态隐式二维码的多个子区域包括所述处理器被配置成:
基于所述位置信息,将所述动态隐式二维码从基于所述动态图像的坐标系转换到基于二维码的坐标系中;以及
在所述基于二维码的坐标系中确定所述动态隐式二维码的多个子区域。
44.如权利要求43所述的装置,所述处理器被进一步配置成:
在所述位置信息的周围预定范围内周期性地检测所述二维码位置检测符的经更新位置信息,所述预定范围小于完整扫描所述动态图像的范围。
45.如权利要求44所述的装置,所述处理器被进一步配置成:
基于所述经更新位置信息校准所述动态隐式二维码在所述基于二维码的坐标系中的位置。
46.如权利要求45所述的装置,所述处理器被进一步配置成:
如果在所述位置信息的周围预定范围内没有检测到所述二维码位置检测符,则重新完整扫描所述动态图像以识别所述动态图像中是否存在所述二维码位置检测符;并且
若所述动态图像中存在二维码位置检测符,则重启所述时间窗口。
47.如权利要求44所述的装置,所述处理器被进一步配置成:
如果所述经更新位置信息落在前一位置信息的容错范围之内,则在不校准所述动态隐式二维码在所述基于二维码的坐标系中的位置的情况下检测所述动态隐式二维码的所述多个子区域的光度信息的变化;否则
重新完整扫描所述动态图像以识别所述动态图像中是否存在所述二维码位置检测符;并且
若所述动态图像中存在二维码位置检测符,则重启所述时间窗口。
48.一种生成动态隐式二维码的设备,包括:
用于获取与要包含在二维码中的信息有关的数据的装置;
用于基于所述数据根据编码规则生成二维码信息矩阵的装置,所述二维码信息矩阵包括多行多列的元素,并且所述二维码信息矩阵的元素包括第一值和第二值;
用于获取要显示的图像的装置;
用于对所述图像进行预处理以使得经预处理的图像至少包括与所述二维码信息矩阵的每个元素对应的子区域的装置;
用于基于所述二维码信息矩阵对所述图像的光度信息进行处理以生成两个或更多个图像帧的装置,其中所述两个或更多个图像帧之间对应子区域的光度信息的变化基于所述二维码信息矩阵的对应元素的值;以及
用于基于所述两个或多个图像帧生成包括二维码位置检测符的动态隐式二维码的装置,其中:
用于基于所述二维码信息矩阵对所述图像的光度信息进行处理以生成两个或更多个图像帧的装置包括:
用于当所述二维码信息矩阵中对应的元素为第一值时,使所述图像的对应子区域的光度信息在所述两个或更多个图像帧之间发生第一种变化的装置;以及
用于当所述二维码信息矩阵中对应的元素为第二值时,使所述图像的对应子区域的光度信息在所述两个或更多个图像帧之间发生第二种变化的装置。
49.如权利要求48所述的设备,其中,用于对所述图像进行预处理以使得经预处理的图像至少包括与所述二维码信息矩阵的元素对应的子区域的装置包括:
用于将所述图像调整为正方形并使得经调整的图像的像素尺寸大于或等于所述二维码信息矩阵的尺寸的装置;以及
用于将经调整的图像划分为多个子区域以使得所述二维码信息矩阵中的每个元素在所述经调整的图像中有至少一个或多个对应的子区域的装置。
50.如权利要求49所述的设备,其中,
所述经调整的图像的所述多个子区域与所述二维码信息矩阵中对应行与列的元素一一对应。
51.如权利要求48所述的设备,其中,所述第一种变化包括线性渐增,并且所述第二种变化包括线性渐减。
52.如权利要求49所述的设备,其中,用于基于所述两个或多个图像帧生成所述动态隐式二维码的装置包括:
用于顺序组合所述两个或多个图像帧以生成动图或短视频作为所述动态隐式二维码的装置。
53.如权利要求48所述的设备,进一步包括:
用于将所述动态隐式二维码嵌入图像、文本或媒体之中的装置。
54.如权利要求48所述的设备,其中,用于基于所述数据根据编码规则生成二维码信息矩阵的装置包括:
用于根据所述编码规则将所述数据编码为由行数与列数相同的元素构成的二维码信息矩阵的装置,每个所述元素具有第一值或第二值。
55.一种检测动态隐式二维码的设备,包括:
用于扫描动态图像以识别所述动态图像中是否存在二维码位置检测符的装置;
用于若所述动态图像中存在二维码位置检测符,则基于所述二维码位置检测符确定动态隐式二维码在所述动态图像中的位置信息的装置;
用于基于所述位置信息,确定所述动态隐式二维码的多个子区域的装置;
用于在时间窗口内检测所述动态隐式二维码的所述多个子区域的光度信息的变化的装置;
用于基于所述检测,生成所述二维码信息矩阵的装置,所述二维码信息矩阵包括多行多列的元素且每个元素与所述动态隐式二维码的相应子区域对应,其中所述二维码信息矩阵的元素的值基于所述动态隐式二维码的对应子区域的光度信息在所述时间窗口内的变化;以及
用于根据编码规则从所述二维码信息矩阵获取数据的装置。
56.如权利要求55所述的设备,其中,所述二维码位置检测符包括二维码角标。
57.如权利要求55所述的设备,其中,用于在时间窗口内检测所述动态隐式二维码的所述多个子区域的光度信息的变化的装置包括:
用于在所述时间窗口内检测所述动态隐式二维码的至少两个或更多个连续帧的装置;以及
用于确定所述动态隐式二维码的每个子区域的光度值在所述至少两个或更多个连续帧之间的变化的装置。
58.如权利要求57所述的设备,其中,用于基于所述检测,生成所述二维码信息矩阵的装置包括:
用于当确定所述动态隐式二维码的每个子区域的光度值在所述至少两个或更多个连续帧之间的变化包括第一种变化时,将所述二维码信息矩阵中与相应子区域对应的元素的值设为第一值的装置;以及
用于当确定所述动态隐式二维码的每个子区域的光度值在所述至少两个或更多个连续帧之间的变化包括第二种变化时,将所述二维码信息矩阵中与相应子区域对应的元素的值设为第二值的装置。
59.如权利要求58所述的设备,其中,所述第一种变化包括线性渐增,并且所述第二种变化包括线性渐减。
60.如权利要求57所述的设备,其中,所述动态隐式二维码的每个子区域的光度值的变化包括以下任何一项:
相应子区域的中心像素的光度值的变化;
相应子区域的中心像素子集的光度值的变化的平均值或中值;
相应子区域内随机位置的一个或多个像素的光度值的变化的平均值或中值;
相应子区域的四角像素的光度值的变化的平均值或中值;以及
相应子区域的四边中心像素的光度值的变化的平均值或中值。
61.如权利要求55所述的设备,其中,所述时间窗口的长度的最小时间至少包括足够检测所述动态隐式二维码的两个连续帧的时间,并且
若所述时间窗口的长度为所述最小时间,则所述设备进一步包括用于基于所述动态隐式二维码的每个子区域的光度值在所述两个连续帧之间变化的幅度来检测所述变化的装置。
62.如权利要求55所述的设备,其中,所述时间窗口开始于基于所述二维码位置检测符确定动态隐式二维码在所述动态图像中的位置信息时。
63.如权利要求55所述的设备,其中,用于基于所述位置信息,确定所述动态隐式二维码的多个子区域的装置包括:
用于基于所述位置信息,将所述动态隐式二维码从基于所述动态图像的坐标系转换到基于二维码的坐标系中的装置;以及
用于在所述基于二维码的坐标系中确定所述动态隐式二维码的多个子区域的装置。
64.如权利要求63所述的设备,进一步包括:
用于在所述位置信息的周围预定范围内周期性地检测所述二维码位置检测符的经更新位置信息的装置,所述预定范围小于完整扫描所述动态图像的范围。
65.如权利要求64所述的设备,进一步包括:
用于基于所述经更新位置信息校准所述动态隐式二维码在所述基于二维码的坐标系中的位置的装置。
66.如权利要求65所述的设备,进一步包括:
用于如果在所述位置信息的周围预定范围内没有检测到所述二维码位置检测符,则重新完整扫描所述动态图像以识别所述动态图像中是否存在所述二维码位置检测符的装置;以及
用于若所述动态图像中存在二维码位置检测符,则重启所述时间窗口的装置。
67.如权利要求64所述的设备,进一步包括:
用于如果所述经更新位置信息落在前一位置信息的容错范围之内,则在不校准所述动态隐式二维码在所述基于二维码的坐标系中的位置的情况下检测所述动态隐式二维码的所述多个子区域的光度信息的变化的装置;否则
用于重新完整扫描所述动态图像以识别所述动态图像中是否存在所述二维码位置检测符的装置;并且
用于若所述动态图像中存在二维码位置检测符,则重启所述时间窗口的装置。
68.一种存储有处理器可执行代码的计算机可读介质,所述处理器可执行代码在由处理器执行时进行用于生成动态隐式二维码的操作,包括:
获取与要包含在二维码中的信息有关的数据;
基于所述数据根据编码规则生成二维码信息矩阵,所述二维码信息矩阵包括多行多列的元素,并且所述二维码信息矩阵的元素包括第一值和第二值;
获取要显示的图像;
对所述图像进行预处理以使得经预处理的图像至少包括与所述二维码信息矩阵的每个元素对应的子区域;
基于所述二维码信息矩阵对所述图像的光度信息进行处理以生成两个或更多个图像帧,其中所述两个或更多个图像帧之间对应子区域的光度信息的变化基于所述二维码信息矩阵的对应元素的值;以及
基于所述两个或多个图像帧生成包括二维码位置检测符的动态隐式二维码,其中:
基于所述二维码信息矩阵对所述图像的光度信息进行处理以生成两个或更多个图像帧包括:
当所述二维码信息矩阵中对应的元素为第一值时,使所述图像的对应子区域的光度信息在所述两个或更多个图像帧之间发生第一种变化;并且
当所述二维码信息矩阵中对应的元素为第二值时,使所述图像的对应子区域的光度信息在所述两个或更多个图像帧之间发生第二种变化。
69.如权利要求68所述的计算机可读介质,其中,对所述图像进行预处理以使得经预处理的图像至少包括与所述二维码信息矩阵的元素对应的子区域包括:
将所述图像调整为正方形并使得经调整的图像的像素尺寸大于或等于所述二维码信息矩阵的尺寸;以及
将经调整的图像划分为多个子区域以使得所述二维码信息矩阵中的每个元素在所述经调整的图像中有至少一个或多个对应的子区域。
70.如权利要求69所述的计算机可读介质,其中,
所述经调整的图像的所述多个子区域与所述二维码信息矩阵中对应行与列的元素一一对应。
71.如权利要求68所述的计算机可读介质,其中,所述第一种变化包括线性渐增,并且所述第二种变化包括线性渐减。
72.如权利要求68所述的计算机可读介质,其中,基于所述两个或多个图像帧生成所述动态隐式二维码包括:
顺序组合所述两个或多个图像帧以生成动图或短视频作为所述动态隐式二维码。
73.如权利要求68所述的计算机可读介质,所述处理器可执行代码在由处理器执行时进一步进行以下操作,包括:
将所述动态隐式二维码嵌入图像、文本或媒体之中。
74.如权利要求68所述的计算机可读介质,其中,基于所述数据根据编码规则生成二维码信息矩阵包括:
根据所述编码规则将所述数据编码为由行数与列数相同的元素构成的二维码信息矩阵,每个所述元素具有第一值或第二值。
75.一种存储有处理器可执行代码的计算机可读介质,所述处理器可执行代码在由处理器执行时进行用于检测动态隐式二维码的操作,包括:
扫描动态图像以识别所述动态图像中是否存在二维码位置检测符;
若所述动态图像中存在二维码位置检测符,则基于所述二维码位置检测符确定动态隐式二维码在所述动态图像中的位置信息;
基于所述位置信息,确定所述动态隐式二维码的多个子区域;
在时间窗口内检测所述动态隐式二维码的所述多个子区域的光度信息的变化;
基于所述检测,生成所述二维码信息矩阵,所述二维码信息矩阵包括多行多列的元素且每个元素与所述动态隐式二维码的相应子区域对应,其中所述二维码信息矩阵的元素的值基于所述动态隐式二维码的对应子区域的光度信息在所述时间窗口内的变化;以及
根据编码规则从所述二维码信息矩阵获取数据。
76.如权利要求75所述的计算机可读介质,其中,所述二维码位置检测符包括二维码角标。
77.如权利要求75所述的计算机可读介质,其中,在时间窗口内检测所述动态隐式二维码的所述多个子区域的光度信息的变化包括:
在所述时间窗口内检测所述动态隐式二维码的至少两个或更多个连续帧;以及
确定所述动态隐式二维码的每个子区域的光度值在所述至少两个或更多个连续帧之间的变化。
78.如权利要求77所述的计算机可读介质,其中,基于所述检测,生成所述二维码信息矩阵包括:
当确定所述动态隐式二维码的每个子区域的光度值在所述至少两个或更多个连续帧之间的变化包括第一种变化时,将所述二维码信息矩阵中与相应子区域对应的元素的值设为第一值;以及
当确定所述动态隐式二维码的每个子区域的光度值在所述至少两个或更多个连续帧之间的变化包括第二种变化时,将所述二维码信息矩阵中与相应子区域对应的元素的值设为第二值。
79.如权利要求78所述的计算机可读介质,其中,所述第一种变化包括线性渐增,并且所述第二种变化包括线性渐减。
80.如权利要求77所述的计算机可读介质,其中,所述动态隐式二维码的每个子区域的光度值的变化包括以下任何一项:
相应子区域的中心像素的光度值的变化;
相应子区域的中心像素子集的光度值的变化的平均值或中值;
相应子区域内随机位置的一个或多个像素的光度值的变化的平均值或中值;
相应子区域的四角像素的光度值的变化的平均值或中值;以及
相应子区域的四边中心像素的光度值的变化的平均值或中值。
81.如权利要求75所述的计算机可读介质,其中,所述时间窗口的长度的最小时间至少包括足够检测所述动态隐式二维码的两个连续帧的时间,并且
若所述时间窗口的长度为所述最小时间,则所述处理器可执行代码进一步用于基于所述动态隐式二维码的每个子区域的光度值在所述两个连续帧之间变化的幅度来检测所述变化。
82.如权利要求75所述的计算机可读介质,其中,所述时间窗口开始于基于所述二维码位置检测符确定动态隐式二维码在所述动态图像中的位置信息时。
83.如权利要求75所述的计算机可读介质,其中,基于所述位置信息,确定所述动态隐式二维码的多个子区域包括:
基于所述位置信息,将所述动态隐式二维码从基于所述动态图像的坐标系转换到基于二维码的坐标系中;以及
在所述基于二维码的坐标系中确定所述动态隐式二维码的多个子区域。
84.如权利要求83所述的计算机可读介质,其中所述处理器可执行代码进一步用于:
在所述位置信息的周围预定范围内周期性地检测所述二维码位置检测符的经更新位置信息,所述预定范围小于完整扫描所述动态图像的范围。
85.如权利要求84所述的计算机可读介质,其中所述处理器可执行代码进一步用于:
基于所述经更新位置信息校准所述动态隐式二维码在所述基于二维码的坐标系中的位置。
86.如权利要求85所述的计算机可读介质,其中所述处理器可执行代码进一步用于:
如果在所述位置信息的周围预定范围内没有检测到所述二维码位置检测符,则重新完整扫描所述动态图像以识别所述动态图像中是否存在所述二维码位置检测符;并且
若所述动态图像中存在二维码位置检测符,则重启所述时间窗口。
87.如权利要求84所述的计算机可读介质,其中所述处理器可执行代码进一步用于:
如果所述经更新位置信息落在前一位置信息的容错范围之内,则在不校准所述动态隐式二维码在所述基于二维码的坐标系中的位置的情况下检测所述动态隐式二维码的所述多个子区域的光度信息的变化;否则
重新完整扫描所述动态图像以识别所述动态图像中是否存在所述二维码位置检测符;并且
若所述动态图像中存在二维码位置检测符,则重启所述时间窗口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011060340.5A CN112163655B (zh) | 2020-09-30 | 2020-09-30 | 一种动态隐式二维码及其生成和检测方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011060340.5A CN112163655B (zh) | 2020-09-30 | 2020-09-30 | 一种动态隐式二维码及其生成和检测方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112163655A CN112163655A (zh) | 2021-01-01 |
CN112163655B true CN112163655B (zh) | 2021-05-07 |
Family
ID=73862251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011060340.5A Active CN112163655B (zh) | 2020-09-30 | 2020-09-30 | 一种动态隐式二维码及其生成和检测方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112163655B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112926715B (zh) * | 2021-03-23 | 2024-02-02 | 支付宝(中国)网络技术有限公司 | 一种二维码生成、解码方法、装置及设备 |
CN115861343B (zh) * | 2022-12-12 | 2024-06-04 | 中山大学·深圳 | 基于动态隐式图像函数的任意尺度图像表示方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102473311A (zh) * | 2009-07-23 | 2012-05-23 | 日本电气株式会社 | 标识生成装置、标识生成检测***、标识生成检测装置、标识、标识生成方法及其程序 |
CN108229234A (zh) * | 2017-12-07 | 2018-06-29 | 北京航空航天大学 | 一种融合数字编码的可扫描图像生成方法 |
CN109934322A (zh) * | 2019-03-22 | 2019-06-25 | 地维码(福建)网络科技有限公司 | 动态三维码的生成方法、生成装置、识别方法及识别装置 |
CN110008781A (zh) * | 2019-04-19 | 2019-07-12 | 重庆三峡学院 | 一种二维多帧调制解调方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281864B (zh) * | 2013-07-04 | 2018-05-01 | 百度在线网络技术(北京)有限公司 | 一种生成二维码的方法与设备 |
CN104851117B (zh) * | 2014-02-13 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 图像与二维码的融合方法和装置 |
US10546172B2 (en) * | 2015-03-30 | 2020-01-28 | Temptime Corporation | Two dimensional barcode with dynamic environmental data system, method, and apparatus |
CN108122274A (zh) * | 2016-11-29 | 2018-06-05 | 腾讯科技(深圳)有限公司 | 一种二维码动画的生成方法以及装置 |
CN107451507A (zh) * | 2017-08-03 | 2017-12-08 | 青岛海信电器股份有限公司 | 一种用于动态图像中的二维码识别方法及装置 |
-
2020
- 2020-09-30 CN CN202011060340.5A patent/CN112163655B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102473311A (zh) * | 2009-07-23 | 2012-05-23 | 日本电气株式会社 | 标识生成装置、标识生成检测***、标识生成检测装置、标识、标识生成方法及其程序 |
CN108229234A (zh) * | 2017-12-07 | 2018-06-29 | 北京航空航天大学 | 一种融合数字编码的可扫描图像生成方法 |
CN109934322A (zh) * | 2019-03-22 | 2019-06-25 | 地维码(福建)网络科技有限公司 | 动态三维码的生成方法、生成装置、识别方法及识别装置 |
CN110008781A (zh) * | 2019-04-19 | 2019-07-12 | 重庆三峡学院 | 一种二维多帧调制解调方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112163655A (zh) | 2021-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11983599B2 (en) | System and method for document processing | |
US10817971B2 (en) | System and method for embedding of a two dimensional code with an image | |
US10706343B2 (en) | Method and apparatus for generating two-dimensional barcode picture having dynamic effect | |
US7950589B2 (en) | Program, information storage medium, two-dimensional code generation system, image generation system and printed material | |
CN103400099B (zh) | 终端和二维码识别方法 | |
US10863202B2 (en) | Encoding data in a source image with watermark image codes | |
US8733650B1 (en) | Decoding barcodes from images with varying degrees of focus | |
US10958807B1 (en) | Methods and arrangements for configuring retail scanning systems | |
US10169629B2 (en) | Decoding visual codes | |
CN112163655B (zh) | 一种动态隐式二维码及其生成和检测方法及设备 | |
EP2568412A1 (en) | Apparatus for recognizing character and barcode simultaneously and method for controlling the same | |
WO2022035697A9 (en) | Machine-readable label generator | |
CA2709006A1 (en) | Systems and methods for animating barcodes | |
CN106599758A (zh) | 一种画质处理方法及终端 | |
CN105718979A (zh) | 一种生成二维码图片的方法 | |
US10872257B2 (en) | Barcode detection method and barcode detection system for increasing detection efficiency | |
CN112163443A (zh) | 一种扫码方法、扫码装置及移动终端 | |
CN116976372A (zh) | 基于方形基准码的图片识别方法、装置、设备及介质 | |
CN111951329B (zh) | 二维码的识别方法、装置、设备及存储介质 | |
US20240070418A1 (en) | Scanning method, electronic device and processing system for multiple barcodes | |
US12008795B1 (en) | Methods and arrangements for configuring object localizers | |
Chou et al. | Dual-Message QR Codes | |
CN117540762A (zh) | 条形码的识别方法、装置、设备及可读存储介质 | |
CN114896999A (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 |